diff -r 3d4e9c994f10 -r a86126ab1dd4 wp/wp-includes/js/dist/components.js
--- a/wp/wp-includes/js/dist/components.js Tue Oct 22 16:11:46 2019 +0200
+++ b/wp/wp-includes/js/dist/components.js Tue Dec 15 13:49:49 2020 +0100
@@ -82,7 +82,7 @@
/******/
/******/
/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 359);
+/******/ return __webpack_require__(__webpack_require__.s = 260);
/******/ })
/************************************************************************/
/******/ ([
@@ -104,156 +104,9 @@
(function() { module.exports = this["lodash"]; }());
/***/ }),
-/* 3 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
-function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
-}
-
-/***/ }),
+/* 3 */,
/* 4 */,
-/* 5 */,
-/* 6 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["compose"]; }());
-
-/***/ }),
-/* 7 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread; });
-/* harmony import */ var _defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15);
-
-function _objectSpread(target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i] != null ? arguments[i] : {};
- var ownKeys = Object.keys(source);
-
- if (typeof Object.getOwnPropertySymbols === 'function') {
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
- }));
- }
-
- ownKeys.forEach(function (key) {
- Object(_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]);
- });
- }
-
- return target;
-}
-
-/***/ }),
-/* 8 */,
-/* 9 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
-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);
- }
-}
-
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- return Constructor;
-}
-
-/***/ }),
-/* 10 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
-function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
-}
-
-/***/ }),
-/* 11 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
-/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32);
-/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3);
-
-
-function _possibleConstructorReturn(self, call) {
- if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
- return call;
- }
-
- return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
-}
-
-/***/ }),
-/* 12 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
-function _getPrototypeOf(o) {
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- };
- return _getPrototypeOf(o);
-}
-
-/***/ }),
-/* 13 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
-function _setPrototypeOf(o, p) {
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
-}
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
-
-function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
-
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- if (superClass) _setPrototypeOf(subClass, superClass);
-}
-
-/***/ }),
-/* 14 */,
-/* 15 */
+/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -274,7 +127,45 @@
}
/***/ }),
-/* 16 */
+/* 6 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["primitives"]; }());
+
+/***/ }),
+/* 7 */,
+/* 8 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
+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);
+}
+
+/***/ }),
+/* 9 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["compose"]; }());
+
+/***/ }),
+/* 10 */,
+/* 11 */
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
@@ -331,153 +222,40 @@
/***/ }),
-/* 17 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
-function _arrayWithoutHoles(arr) {
- if (Array.isArray(arr)) {
- for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
- arr2[i] = arr[i];
- }
-
- return arr2;
- }
-}
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
-var iterableToArray = __webpack_require__(34);
-
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
-function _nonIterableSpread() {
- throw new TypeError("Invalid attempt to spread non-iterable instance");
-}
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _toConsumableArray; });
-
-
-
-function _toConsumableArray(arr) {
- return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || _nonIterableSpread();
-}
-
-/***/ }),
-/* 18 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["keycodes"]; }());
-
-/***/ }),
-/* 19 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
-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);
-}
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["richText"]; }());
-
-/***/ }),
-/* 21 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
-function _objectWithoutPropertiesLoose(source, excluded) {
- if (source == null) return {};
- var target = {};
- var sourceKeys = Object.keys(source);
- var key, i;
-
- for (i = 0; i < sourceKeys.length; i++) {
- key = sourceKeys[i];
- if (excluded.indexOf(key) >= 0) continue;
- target[key] = source[key];
- }
-
- return target;
-}
-// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
-
-function _objectWithoutProperties(source, excluded) {
- if (source == null) return {};
- var target = _objectWithoutPropertiesLoose(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;
-}
-
-/***/ }),
-/* 22 */,
-/* 23 */,
-/* 24 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["dom"]; }());
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["url"]; }());
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["hooks"]; }());
-
-/***/ }),
-/* 27 */
+/* 12 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return self;
+}
+
+/***/ }),
+/* 13 */
/***/ (function(module, exports) {
(function() { module.exports = this["React"]; }());
/***/ }),
-/* 28 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
+/* 14 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _slicedToArray; });
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
-var arrayWithHoles = __webpack_require__(37);
+var arrayWithHoles = __webpack_require__(38);
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
function _iterableToArrayLimit(arr, i) {
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
var _arr = [];
var _n = true;
var _d = false;
@@ -502,27 +280,338 @@
return _arr;
}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
+var unsupportedIterableToArray = __webpack_require__(29);
+
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
-var nonIterableRest = __webpack_require__(38);
+var nonIterableRest = __webpack_require__(39);
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _slicedToArray; });
+
function _slicedToArray(arr, i) {
- return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(nonIterableRest["a" /* default */])();
-}
-
-/***/ }),
-/* 29 */
+ return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray["a" /* default */])(arr, i) || Object(nonIterableRest["a" /* default */])();
+}
+
+/***/ }),
+/* 15 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
+/* harmony import */ var _objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(41);
+
+function _objectWithoutProperties(source, excluded) {
+ if (source == null) return {};
+ var target = Object(_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__[/* default */ "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;
+}
+
+/***/ }),
+/* 16 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
+function _getPrototypeOf(o) {
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
+ return o.__proto__ || Object.getPrototypeOf(o);
+ };
+ return _getPrototypeOf(o);
+}
+
+/***/ }),
+/* 17 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _objectSpread2; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return _createForOfIteratorHelperLoose; });
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+}
+
+function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+
+ if (Object.getOwnPropertySymbols) {
+ var symbols = Object.getOwnPropertySymbols(object);
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ keys.push.apply(keys, symbols);
+ }
+
+ return keys;
+}
+
+function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+
+ if (i % 2) {
+ ownKeys(Object(source), true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(Object(source)).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
+
+ return target;
+}
+
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+}
+
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
+}
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+ var it;
+
+ if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+ if (it) o = it;
+ var i = 0;
+ return function () {
+ if (i >= o.length) return {
+ done: true
+ };
+ return {
+ done: false,
+ value: o[i++]
+ };
+ };
+ }
+
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+
+ it = o[Symbol.iterator]();
+ return it.next.bind(it);
+}
+
+
+
+
+/***/ }),
+/* 18 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
+var arrayLikeToArray = __webpack_require__(26);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
+
+function _arrayWithoutHoles(arr) {
+ if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
+var iterableToArray = __webpack_require__(35);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
+var unsupportedIterableToArray = __webpack_require__(29);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
+function _nonIterableSpread() {
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
+
+
+
+
+function _toConsumableArray(arr) {
+ return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread();
+}
+
+/***/ }),
+/* 19 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
+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);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+/***/ }),
+/* 20 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
+function _classCallCheck(instance, Constructor) {
+ if (!(instance instanceof Constructor)) {
+ throw new TypeError("Cannot call a class as a function");
+ }
+}
+
+/***/ }),
+/* 21 */
/***/ (function(module, exports) {
-(function() { module.exports = this["moment"]; }());
-
-/***/ }),
-/* 30 */,
-/* 31 */
+(function() { module.exports = this["wp"]["keycodes"]; }());
+
+/***/ }),
+/* 22 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inherits; });
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
+function _setPrototypeOf(o, p) {
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+ o.__proto__ = p;
+ return o;
+ };
+
+ return _setPrototypeOf(o, p);
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
+
+function _inherits(subClass, superClass) {
+ if (typeof superClass !== "function" && superClass !== null) {
+ throw new TypeError("Super expression must either be null or a function");
+ }
+
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
+ constructor: {
+ value: subClass,
+ writable: true,
+ configurable: true
+ }
+ });
+ if (superClass) _setPrototypeOf(subClass, superClass);
+}
+
+/***/ }),
+/* 23 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
+/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40);
+/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12);
+
+
+function _possibleConstructorReturn(self, call) {
+ if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) {
+ return call;
+ }
+
+ return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
+}
+
+/***/ }),
+/* 24 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["regeneratorRuntime"]; }());
+
+/***/ }),
+/* 25 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["richText"]; }());
+
+/***/ }),
+/* 26 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; });
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
+ arr2[i] = arr[i];
+ }
+
+ return arr2;
+}
+
+/***/ }),
+/* 27 */,
+/* 28 */
/***/ (function(module, exports, __webpack_require__) {
/**
@@ -532,55 +621,215 @@
* LICENSE file in the root directory of this source tree.
*/
-if (false) { var throwOnDirectAccess, isValidElement, REACT_ELEMENT_TYPE; } else {
+if (false) { var throwOnDirectAccess, ReactIs; } else {
// By explicitly using `prop-types` you are opting into new production behavior.
// http://fb.me/prop-types-in-prod
- module.exports = __webpack_require__(89)();
-}
-
-
-/***/ }),
+ module.exports = __webpack_require__(138)();
+}
+
+
+/***/ }),
+/* 29 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; });
+/* harmony import */ var _arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26);
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
+}
+
+/***/ }),
+/* 30 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["dom"]; }());
+
+/***/ }),
+/* 31 */,
/* 32 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
-function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
-
-function _typeof(obj) {
- if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
- _typeof = function _typeof(obj) {
- return _typeof2(obj);
- };
- } else {
- _typeof = function _typeof(obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
- };
- }
-
- return _typeof(obj);
-}
-
-/***/ }),
-/* 33 */
/***/ (function(module, exports) {
-(function() { module.exports = this["wp"]["apiFetch"]; }());
-
-/***/ }),
+(function() { module.exports = this["wp"]["hooks"]; }());
+
+/***/ }),
+/* 33 */,
/* 34 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
+/* unused harmony export Button */
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(37);
+/* harmony import */ var _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _tooltip__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(86);
+/* harmony import */ var _icon__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(88);
+
+
+
+
+function _createForOfIteratorHelper(o) { if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) { var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var it, normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var disabledEventsOnDisabledButton = ['onMouseDown', 'onClick'];
+function Button(props, ref) {
+ var href = props.href,
+ target = props.target,
+ isPrimary = props.isPrimary,
+ isSmall = props.isSmall,
+ isTertiary = props.isTertiary,
+ isPressed = props.isPressed,
+ isBusy = props.isBusy,
+ isDefault = props.isDefault,
+ isSecondary = props.isSecondary,
+ isLink = props.isLink,
+ isDestructive = props.isDestructive,
+ className = props.className,
+ disabled = props.disabled,
+ icon = props.icon,
+ iconSize = props.iconSize,
+ showTooltip = props.showTooltip,
+ tooltipPosition = props.tooltipPosition,
+ shortcut = props.shortcut,
+ label = props.label,
+ children = props.children,
+ isFocusable = props.__experimentalIsFocusable,
+ additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(props, ["href", "target", "isPrimary", "isSmall", "isTertiary", "isPressed", "isBusy", "isDefault", "isSecondary", "isLink", "isDestructive", "className", "disabled", "icon", "iconSize", "showTooltip", "tooltipPosition", "shortcut", "label", "children", "__experimentalIsFocusable"]);
+
+ if (isDefault) {
+ _wordpress_deprecated__WEBPACK_IMPORTED_MODULE_5___default()('Button isDefault prop', {
+ alternative: 'isSecondary'
+ });
+ }
+
+ var classes = classnames__WEBPACK_IMPORTED_MODULE_3___default()('components-button', className, {
+ 'is-secondary': isDefault || isSecondary,
+ 'is-primary': isPrimary,
+ 'is-small': isSmall,
+ 'is-tertiary': isTertiary,
+ 'is-pressed': isPressed,
+ 'is-busy': isBusy,
+ 'is-link': isLink,
+ 'is-destructive': isDestructive,
+ 'has-text': !!icon && !!children,
+ 'has-icon': !!icon
+ });
+ var trulyDisabled = disabled && !isFocusable;
+ var Tag = href !== undefined && !trulyDisabled ? 'a' : 'button';
+ var tagProps = Tag === 'a' ? {
+ href: href,
+ target: target
+ } : {
+ type: 'button',
+ disabled: trulyDisabled,
+ 'aria-pressed': isPressed
+ };
+
+ if (disabled && isFocusable) {
+ // In this case, the button will be disabled, but still focusable and
+ // perceivable by screen reader users.
+ tagProps['aria-disabled'] = true;
+
+ var _iterator = _createForOfIteratorHelper(disabledEventsOnDisabledButton),
+ _step;
+
+ try {
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
+ var disabledEvent = _step.value;
+
+ additionalProps[disabledEvent] = function (event) {
+ event.stopPropagation();
+ event.preventDefault();
+ };
+ }
+ } catch (err) {
+ _iterator.e(err);
+ } finally {
+ _iterator.f();
+ }
+ } // Should show the tooltip if...
+
+
+ var shouldShowTooltip = !trulyDisabled && ( // an explicit tooltip is passed or...
+ showTooltip && label || // there's a shortcut or...
+ shortcut || // there's a label and...
+ !!label && ( // the children are empty and...
+ !children || Object(lodash__WEBPACK_IMPORTED_MODULE_4__["isArray"])(children) && !children.length) && // the tooltip is not explicitly disabled.
+ false !== showTooltip);
+ var element = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(Tag, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, tagProps, additionalProps, {
+ className: classes,
+ "aria-label": additionalProps['aria-label'] || label,
+ ref: ref
+ }), icon && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_icon__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], {
+ icon: icon,
+ size: iconSize
+ }), children);
+
+ if (!shouldShowTooltip) {
+ return element;
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])(_tooltip__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {
+ text: label,
+ shortcut: shortcut,
+ position: tooltipPosition
+ }, element);
+}
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["forwardRef"])(Button));
+
+
+/***/ }),
+/* 35 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; });
function _iterableToArray(iter) {
- if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
-}
-
-/***/ }),
-/* 35 */,
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
+}
+
+/***/ }),
/* 36 */,
/* 37 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["deprecated"]; }());
+
+/***/ }),
+/* 38 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
@@ -590,79 +839,2089 @@
}
/***/ }),
-/* 38 */
+/* 39 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; });
function _nonIterableRest() {
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
-}
-
-/***/ }),
-/* 39 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var DISPLAY_FORMAT = exports.DISPLAY_FORMAT = 'L';
-var ISO_FORMAT = exports.ISO_FORMAT = 'YYYY-MM-DD';
-var ISO_MONTH_FORMAT = exports.ISO_MONTH_FORMAT = 'YYYY-MM';
-
-var START_DATE = exports.START_DATE = 'startDate';
-var END_DATE = exports.END_DATE = 'endDate';
-
-var HORIZONTAL_ORIENTATION = exports.HORIZONTAL_ORIENTATION = 'horizontal';
-var VERTICAL_ORIENTATION = exports.VERTICAL_ORIENTATION = 'vertical';
-var VERTICAL_SCROLLABLE = exports.VERTICAL_SCROLLABLE = 'verticalScrollable';
-
-var ICON_BEFORE_POSITION = exports.ICON_BEFORE_POSITION = 'before';
-var ICON_AFTER_POSITION = exports.ICON_AFTER_POSITION = 'after';
-
-var INFO_POSITION_TOP = exports.INFO_POSITION_TOP = 'top';
-var INFO_POSITION_BOTTOM = exports.INFO_POSITION_BOTTOM = 'bottom';
-var INFO_POSITION_BEFORE = exports.INFO_POSITION_BEFORE = 'before';
-var INFO_POSITION_AFTER = exports.INFO_POSITION_AFTER = 'after';
-
-var ANCHOR_LEFT = exports.ANCHOR_LEFT = 'left';
-var ANCHOR_RIGHT = exports.ANCHOR_RIGHT = 'right';
-
-var OPEN_DOWN = exports.OPEN_DOWN = 'down';
-var OPEN_UP = exports.OPEN_UP = 'up';
-
-var DAY_SIZE = exports.DAY_SIZE = 39;
-var BLOCKED_MODIFIER = exports.BLOCKED_MODIFIER = 'blocked';
-var WEEKDAYS = exports.WEEKDAYS = [0, 1, 2, 3, 4, 5, 6];
-
-var FANG_WIDTH_PX = exports.FANG_WIDTH_PX = 20;
-var FANG_HEIGHT_PX = exports.FANG_HEIGHT_PX = 10;
-var DEFAULT_VERTICAL_SPACING = exports.DEFAULT_VERTICAL_SPACING = 22;
-
-var MODIFIER_KEY_NAMES = exports.MODIFIER_KEY_NAMES = new Set(['Shift', 'Control', 'Alt', 'Meta']);
-
-/***/ }),
-/* 40 */,
-/* 41 */,
-/* 42 */
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+}
+
+/***/ }),
+/* 40 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
+function _typeof(obj) {
+ "@babel/helpers - typeof";
+
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ _typeof = function _typeof(obj) {
+ return typeof obj;
+ };
+ } else {
+ _typeof = function _typeof(obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
+ }
+
+ return _typeof(obj);
+}
+
+/***/ }),
+/* 41 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+/***/ }),
+/* 42 */,
+/* 43 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["moment"]; }());
+
+/***/ }),
+/* 44 */,
+/* 45 */,
+/* 46 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useLiveRef; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _useIsomorphicEffect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59);
+
+
+
+/**
+ * A `React.Ref` that keeps track of the passed `value`.
+ */
+
+function useLiveRef(value) {
+ var ref = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(value);
+ Object(_useIsomorphicEffect_js__WEBPACK_IMPORTED_MODULE_1__[/* useIsomorphicEffect */ "a"])(function () {
+ ref.current = value;
+ });
+ return ref;
+}
+
+
+
+
+/***/ }),
+/* 47 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getDocument; });
+/**
+ * Returns `element.ownerDocument || window.document`.
+ */
+function getDocument(element) {
+ return element ? element.ownerDocument || element : window.document;
+}
+
+
+
+
+/***/ }),
+/* 48 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createHook; });
+
+// EXTERNAL MODULE: external {"this":"React"}
+var external_this_React_ = __webpack_require__(13);
+
+// EXTERNAL MODULE: ./node_modules/reakit-system/es/SystemContext.js
+var SystemContext = __webpack_require__(74);
+
+// CONCATENATED MODULE: ./node_modules/reakit-system/es/useToken.js
+
+
+
+/**
+ * React custom hook that returns the value of any token defined in the
+ * SystemContext. It's mainly used internally in [`useOptions`](#useoptions)
+ * and [`useProps`](#useprops).
+ *
+ * @example
+ * import { SystemProvider, useToken } from "reakit-system";
+ *
+ * const system = {
+ * token: "value",
+ * };
+ *
+ * function Component(props) {
+ * const token = useToken("token", "default value");
+ * return
{token}
;
+ * }
+ *
+ * function App() {
+ * return (
+ *
+ *
+ *
+ * );
+ * }
+ */
+
+function useToken(token, defaultValue) {
+ Object(external_this_React_["useDebugValue"])(token);
+ var context = Object(external_this_React_["useContext"])(SystemContext["a" /* SystemContext */]);
+ return context[token] != null ? context[token] : defaultValue;
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-system/es/useProps.js
+
+
+
+
+/**
+ * React custom hook that returns the props returned by a given
+ * `use${name}Props` in the SystemContext.
+ *
+ * @example
+ * import { SystemProvider, useProps } from "reakit-system";
+ *
+ * const system = {
+ * useAProps(options, htmlProps) {
+ * return {
+ * ...htmlProps,
+ * href: options.url,
+ * };
+ * },
+ * };
+ *
+ * function A({ url, ...htmlProps }) {
+ * const props = useProps("A", { url }, htmlProps);
+ * return ;
+ * }
+ *
+ * function App() {
+ * return (
+ *
+ * It will convert url into href in useAProps
+ *
+ * );
+ * }
+ */
+
+function useProps(name, options, htmlProps) {
+ if (options === void 0) {
+ options = {};
+ }
+
+ if (htmlProps === void 0) {
+ htmlProps = {};
+ }
+
+ var hookName = "use" + name + "Props";
+ Object(external_this_React_["useDebugValue"])(hookName);
+ var useHook = useToken(hookName);
+
+ if (useHook) {
+ return useHook(options, htmlProps);
+ }
+
+ return htmlProps;
+}
+
+
+
+// EXTERNAL MODULE: ./node_modules/reakit-system/es/_rollupPluginBabelHelpers-0c84a174.js
+var _rollupPluginBabelHelpers_0c84a174 = __webpack_require__(55);
+
+// CONCATENATED MODULE: ./node_modules/reakit-system/es/useOptions.js
+
+
+
+
+
+/**
+ * React custom hook that returns the options returned by a given
+ * `use${name}Options` in the SystemContext.
+ *
+ * @example
+ * import React from "react";
+ * import { SystemProvider, useOptions } from "reakit-system";
+ *
+ * const system = {
+ * useAOptions(options, htmlProps) {
+ * return {
+ * ...options,
+ * url: htmlProps.href,
+ * };
+ * },
+ * };
+ *
+ * function A({ url, ...htmlProps }) {
+ * const options = useOptions("A", { url }, htmlProps);
+ * return ;
+ * }
+ *
+ * function App() {
+ * return (
+ *
+ *
+ * It will convert href into url in useAOptions and then url into href in A
+ *
+ *
+ * );
+ * }
+ */
+
+function useOptions(name, options, htmlProps) {
+ if (options === void 0) {
+ options = {};
+ }
+
+ if (htmlProps === void 0) {
+ htmlProps = {};
+ }
+
+ var hookName = "use" + name + "Options";
+ Object(external_this_React_["useDebugValue"])(hookName);
+ var useHook = useToken(hookName);
+
+ if (useHook) {
+ return Object(_rollupPluginBabelHelpers_0c84a174["a" /* _ */])(Object(_rollupPluginBabelHelpers_0c84a174["a" /* _ */])({}, options), useHook(options, htmlProps));
+ }
+
+ return options;
+}
+
+
+
+// EXTERNAL MODULE: ./node_modules/reakit-utils/es/shallowEqual.js
+var shallowEqual = __webpack_require__(56);
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/toArray.js
+/**
+ * Transforms `arg` into an array if it's not already.
+ *
+ * @example
+ * import { toArray } from "reakit-utils";
+ *
+ * toArray("a"); // ["a"]
+ * toArray(["a"]); // ["a"]
+ */
+function toArray(arg) {
+ if (Array.isArray(arg)) {
+ return arg;
+ }
+
+ return typeof arg !== "undefined" ? [arg] : [];
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-system/es/createHook.js
+
+
+
+
+
+
+
+
+
+/**
+ * Creates a React custom hook that will return component props.
+ *
+ * @example
+ * import { createHook } from "reakit-system";
+ *
+ * const useA = createHook({
+ * name: "A",
+ * keys: ["url"], // custom props/options keys
+ * useProps(options, htmlProps) {
+ * return {
+ * ...htmlProps,
+ * href: options.url,
+ * };
+ * },
+ * });
+ *
+ * function A({ url, ...htmlProps }) {
+ * const props = useA({ url }, htmlProps);
+ * return ;
+ * }
+ *
+ * @param options
+ */
+function createHook(options) {
+ var _options$useState, _composedHooks$;
+
+ var composedHooks = toArray(options.compose);
+
+ var __useOptions = function __useOptions(hookOptions, htmlProps) {
+ // Call the current hook's useOptions first
+ if (options.useOptions) {
+ hookOptions = options.useOptions(hookOptions, htmlProps);
+ } // If there's name, call useOptions from the system context
+
+
+ if (options.name) {
+ hookOptions = useOptions(options.name, hookOptions, htmlProps);
+ } // Run composed hooks useOptions
+
+
+ if (options.compose) {
+ for (var _iterator = Object(_rollupPluginBabelHelpers_0c84a174["c" /* b */])(composedHooks), _step; !(_step = _iterator()).done;) {
+ var hook = _step.value;
+ hookOptions = hook.__useOptions(hookOptions, htmlProps);
+ }
+ }
+
+ return hookOptions;
+ };
+
+ var useHook = function useHook(hookOptions, htmlProps, unstable_ignoreUseOptions) {
+ if (hookOptions === void 0) {
+ hookOptions = {};
+ }
+
+ if (htmlProps === void 0) {
+ htmlProps = {};
+ }
+
+ if (unstable_ignoreUseOptions === void 0) {
+ unstable_ignoreUseOptions = false;
+ }
+
+ // This won't execute when useHook was called from within another useHook
+ if (!unstable_ignoreUseOptions) {
+ hookOptions = __useOptions(hookOptions, htmlProps);
+ } // Call the current hook's useProps
+
+
+ if (options.useProps) {
+ htmlProps = options.useProps(hookOptions, htmlProps);
+ } // If there's name, call useProps from the system context
+
+
+ if (options.name) {
+ htmlProps = useProps(options.name, hookOptions, htmlProps);
+ }
+
+ if (options.compose) {
+ if (options.useComposeOptions) {
+ hookOptions = options.useComposeOptions(hookOptions, htmlProps);
+ }
+
+ if (options.useComposeProps) {
+ htmlProps = options.useComposeProps(hookOptions, htmlProps);
+ } else {
+ for (var _iterator2 = Object(_rollupPluginBabelHelpers_0c84a174["c" /* b */])(composedHooks), _step2; !(_step2 = _iterator2()).done;) {
+ var hook = _step2.value;
+ htmlProps = hook(hookOptions, htmlProps, true);
+ }
+ }
+ } // Remove undefined values from htmlProps
+
+
+ var finalHTMLProps = {};
+ var definedHTMLProps = htmlProps || {};
+
+ for (var prop in definedHTMLProps) {
+ if (definedHTMLProps[prop] !== undefined) {
+ finalHTMLProps[prop] = definedHTMLProps[prop];
+ }
+ }
+
+ return finalHTMLProps;
+ };
+
+ useHook.__useOptions = __useOptions;
+ var composedKeys = composedHooks.reduce(function (keys, hook) {
+ keys.push.apply(keys, hook.__keys || []);
+ return keys;
+ }, []); // It's used by createComponent to split option props (keys) and html props
+
+ useHook.__keys = [].concat(composedKeys, ((_options$useState = options.useState) === null || _options$useState === void 0 ? void 0 : _options$useState.__keys) || [], options.keys || []);
+ useHook.unstable_propsAreEqual = options.propsAreEqual || ((_composedHooks$ = composedHooks[0]) === null || _composedHooks$ === void 0 ? void 0 : _composedHooks$.unstable_propsAreEqual) || shallowEqual["a" /* shallowEqual */];
+
+ if (false) {}
+
+ return useHook;
+}
+
+
+
+
+/***/ }),
+/* 49 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ createComponent; });
+
+// EXTERNAL MODULE: external {"this":"React"}
+var external_this_React_ = __webpack_require__(13);
+
+// EXTERNAL MODULE: ./node_modules/reakit-system/es/_rollupPluginBabelHelpers-0c84a174.js
+var _rollupPluginBabelHelpers_0c84a174 = __webpack_require__(55);
+
+// EXTERNAL MODULE: ./node_modules/reakit-system/es/useCreateElement.js
+var useCreateElement = __webpack_require__(78);
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/splitProps.js
+/**
+ * Splits an object (`props`) into a tuple where the first item is an object
+ * with the passed `keys`, and the second item is an object with these keys
+ * omitted.
+ *
+ * @example
+ * import { splitProps } from "reakit-utils";
+ *
+ * splitProps({ a: "a", b: "b" }, ["a"]); // [{ a: "a" }, { b: "b" }]
+ */
+function splitProps(props, keys) {
+ var propsKeys = Object.keys(props);
+ var picked = {};
+ var omitted = {};
+
+ for (var _i = 0, _propsKeys = propsKeys; _i < _propsKeys.length; _i++) {
+ var key = _propsKeys[_i];
+
+ if (keys.indexOf(key) >= 0) {
+ picked[key] = props[key];
+ } else {
+ omitted[key] = props[key];
+ }
+ }
+
+ return [picked, omitted];
+}
+
+
+
+// EXTERNAL MODULE: ./node_modules/reakit-utils/es/shallowEqual.js
+var shallowEqual = __webpack_require__(56);
+
+// CONCATENATED MODULE: ./node_modules/reakit-system/es/createComponent.js
+
+
+
+
+
+
+
+function forwardRef(component) {
+ return /*#__PURE__*/Object(external_this_React_["forwardRef"])(component);
+}
+
+function memo(component, propsAreEqual) {
+ return /*#__PURE__*/Object(external_this_React_["memo"])(component, propsAreEqual);
+}
+
+/**
+ * Creates a React component.
+ *
+ * @example
+ * import { createComponent } from "reakit-system";
+ *
+ * const A = createComponent({ as: "a" });
+ *
+ * @param options
+ */
+function createComponent(_ref) {
+ var type = _ref.as,
+ useHook = _ref.useHook,
+ shouldMemo = _ref.memo,
+ _ref$propsAreEqual = _ref.propsAreEqual,
+ propsAreEqual = _ref$propsAreEqual === void 0 ? useHook === null || useHook === void 0 ? void 0 : useHook.unstable_propsAreEqual : _ref$propsAreEqual,
+ _ref$keys = _ref.keys,
+ keys = _ref$keys === void 0 ? (useHook === null || useHook === void 0 ? void 0 : useHook.__keys) || [] : _ref$keys,
+ _ref$useCreateElement = _ref.useCreateElement,
+ useCreateElement$1 = _ref$useCreateElement === void 0 ? useCreateElement["a" /* useCreateElement */] : _ref$useCreateElement;
+
+ var Comp = function Comp(_ref2, ref) {
+ var _ref2$as = _ref2.as,
+ as = _ref2$as === void 0 ? type : _ref2$as,
+ props = Object(_rollupPluginBabelHelpers_0c84a174["b" /* a */])(_ref2, ["as"]);
+
+ if (useHook) {
+ var _as$render;
+
+ var _splitProps = splitProps(props, keys),
+ _options = _splitProps[0],
+ htmlProps = _splitProps[1];
+
+ var _useHook = useHook(_options, Object(_rollupPluginBabelHelpers_0c84a174["a" /* _ */])({
+ ref: ref
+ }, htmlProps)),
+ wrapElement = _useHook.wrapElement,
+ elementProps = Object(_rollupPluginBabelHelpers_0c84a174["b" /* a */])(_useHook, ["wrapElement"]); // @ts-ignore
+
+
+ var asKeys = ((_as$render = as.render) === null || _as$render === void 0 ? void 0 : _as$render.__keys) || as.__keys;
+ var asOptions = asKeys && splitProps(props, asKeys)[0];
+ var allProps = asOptions ? Object(_rollupPluginBabelHelpers_0c84a174["a" /* _ */])(Object(_rollupPluginBabelHelpers_0c84a174["a" /* _ */])({}, elementProps), asOptions) : elementProps;
+
+ var _element = useCreateElement$1(as, allProps);
+
+ if (wrapElement) {
+ return wrapElement(_element);
+ }
+
+ return _element;
+ }
+
+ return useCreateElement$1(as, Object(_rollupPluginBabelHelpers_0c84a174["a" /* _ */])({
+ ref: ref
+ }, props));
+ };
+
+ if (false) {}
+
+ Comp = forwardRef(Comp);
+
+ if (shouldMemo) {
+ Comp = memo(Comp, propsAreEqual);
+ }
+
+ Comp.__keys = keys;
+ Comp.unstable_propsAreEqual = propsAreEqual || shallowEqual["a" /* shallowEqual */];
+ return Comp;
+}
+
+
+
+
+/***/ }),
+/* 50 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _asyncToGenerator; });
+function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
+ try {
+ var info = gen[key](arg);
+ var value = info.value;
+ } catch (error) {
+ reject(error);
+ return;
+ }
+
+ if (info.done) {
+ resolve(value);
+ } else {
+ Promise.resolve(value).then(_next, _throw);
+ }
+}
+
+function _asyncToGenerator(fn) {
+ return function () {
+ var self = this,
+ args = arguments;
+ return new Promise(function (resolve, reject) {
+ var gen = fn.apply(self, args);
+
+ function _next(value) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
+ }
+
+ function _throw(err) {
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
+ }
+
+ _next(undefined);
+ });
+ };
+}
+
+/***/ }),
+/* 51 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return findFirstEnabledItem; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return flatten; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return groupItems; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return findEnabledItemById; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getCurrentId; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return reverse; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return useCompositeState; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var reakit_utils_useIsomorphicEffect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59);
+/* harmony import */ var reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(62);
+/* harmony import */ var reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(61);
+/* harmony import */ var _Id_IdState_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65);
+
+
+
+
+
+
+
+function reverse(array) {
+ return array.slice().reverse();
+}
+
+function isElementPreceding(element1, element2) {
+ return Boolean(element2.compareDocumentPosition(element1) & Node.DOCUMENT_POSITION_PRECEDING);
+}
+
+function findDOMIndex(items, item) {
+ return items.findIndex(function (currentItem) {
+ if (!currentItem.ref.current || !item.ref.current) {
+ return false;
+ }
+
+ return isElementPreceding(item.ref.current, currentItem.ref.current);
+ });
+}
+
+function findFirstEnabledItem(items, excludeId) {
+ if (excludeId) {
+ return items.find(function (item) {
+ return !item.disabled && item.id !== excludeId;
+ });
+ }
+
+ return items.find(function (item) {
+ return !item.disabled;
+ });
+}
+
+function findEnabledItemById(items, id) {
+ if (!id) return undefined;
+ return items === null || items === void 0 ? void 0 : items.find(function (item) {
+ return item.id === id && !item.disabled;
+ });
+}
+
+function groupItems(items) {
+ var groups = [[]];
+
+ var _loop = function _loop() {
+ var item = _step.value;
+ var group = groups.find(function (g) {
+ return !g[0] || g[0].groupId === item.groupId;
+ });
+
+ if (group) {
+ group.push(item);
+ } else {
+ groups.push([item]);
+ }
+ };
+
+ for (var _iterator = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* b */ "c"])(items), _step; !(_step = _iterator()).done;) {
+ _loop();
+ }
+
+ return groups;
+}
+
+function getMaxLength(rows) {
+ var maxLength = 0;
+
+ for (var _iterator = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* b */ "c"])(rows), _step; !(_step = _iterator()).done;) {
+ var length = _step.value.length;
+
+ if (length > maxLength) {
+ maxLength = length;
+ }
+ }
+
+ return maxLength;
+}
+
+/**
+ * Turns [row1, row1, row2, row2] into [row1, row2, row1, row2]
+ */
+
+function verticalizeItems(items) {
+ var groups = groupItems(items);
+ var maxLength = getMaxLength(groups);
+ var verticalized = [];
+
+ for (var i = 0; i < maxLength; i += 1) {
+ for (var _iterator = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* b */ "c"])(groups), _step; !(_step = _iterator()).done;) {
+ var group = _step.value;
+
+ if (group[i]) {
+ verticalized.push(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, group[i]), {}, {
+ // If there's no groupId, it means that it's not a grid composite,
+ // but a single row instead. So, instead of verticalizing it, that
+ // is, assigning a different groupId based on the column index, we
+ // keep it undefined so they will be part of the same group.
+ // It's useful when using up/down on one-dimensional composites.
+ groupId: group[i].groupId ? "" + i : undefined
+ }));
+ }
+ }
+ }
+
+ return verticalized;
+}
+
+function flatten(grid) {
+ var flattened = [];
+
+ for (var _iterator = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* b */ "c"])(grid), _step; !(_step = _iterator()).done;) {
+ var row = _step.value;
+ flattened.push.apply(flattened, row);
+ }
+
+ return flattened;
+}
+
+/**
+ * Turns [[row1, row1], [row2]] into [[row1, row1], [row2, row2]]
+ */
+
+function fillGroups(groups) {
+ var maxLength = getMaxLength(groups);
+
+ for (var _iterator = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* b */ "c"])(groups), _step; !(_step = _iterator()).done;) {
+ var group = _step.value;
+
+ if (group.length < maxLength) {
+ for (var i = 0; i < maxLength; i += 1) {
+ if (!group[i]) {
+ group[i] = {
+ id: "__EMPTY_ITEM__",
+ disabled: true,
+ ref: {
+ current: null
+ },
+ groupId: group[i - 1].groupId
+ };
+ }
+ }
+ }
+ }
+
+ return groups;
+}
+
+function getCurrentId(options, passedId) {
+ var _findFirstEnabledItem;
+
+ if (passedId || passedId === null) {
+ return passedId;
+ }
+
+ if (options.currentId || options.currentId === null) {
+ return options.currentId;
+ }
+
+ return (_findFirstEnabledItem = findFirstEnabledItem(options.items || [])) === null || _findFirstEnabledItem === void 0 ? void 0 : _findFirstEnabledItem.id;
+}
+
+var nullItem = {
+ id: null,
+ ref: {
+ current: null
+ }
+};
+function placeItemsAfter(items, id, shouldInsertNullItem) {
+ var index = items.findIndex(function (item) {
+ return item.id === id;
+ });
+ return [].concat(items.slice(index + 1), shouldInsertNullItem ? [nullItem] : [], items.slice(0, index));
+}
+
+function getItemsInGroup(items, groupId) {
+ return items.filter(function (item) {
+ return item.groupId === groupId;
+ });
+}
+
+var map = {
+ horizontal: "vertical",
+ vertical: "horizontal"
+};
+function getOppositeOrientation(orientation) {
+ return orientation && map[orientation];
+}
+
+function addItemAtIndex(array, item, index) {
+ if (!(index in array)) {
+ return [].concat(array, [item]);
+ }
+
+ return [].concat(array.slice(0, index), [item], array.slice(index));
+}
+
+function sortBasedOnDOMPosition(items) {
+ var copy = items.slice();
+ var isOrderDifferent = false;
+ copy.sort(function (a, b) {
+ var elementA = a.ref.current;
+ var elementB = b.ref.current;
+
+ if (elementA && elementB && isElementPreceding(elementA, elementB)) {
+ isOrderDifferent = true;
+ return -1;
+ }
+
+ return 0;
+ });
+
+ if (isOrderDifferent) {
+ return copy;
+ }
+
+ return items;
+}
+
+function reducer(state, action) {
+ var virtual = state.unstable_virtual,
+ rtl = state.rtl,
+ orientation = state.orientation,
+ items = state.items,
+ groups = state.groups,
+ currentId = state.currentId,
+ loop = state.loop,
+ wrap = state.wrap,
+ pastIds = state.pastIds,
+ moves = state.unstable_moves,
+ initialVirtual = state.initialVirtual,
+ initialRTL = state.initialRTL,
+ initialOrientation = state.initialOrientation,
+ initialCurrentId = state.initialCurrentId,
+ initialLoop = state.initialLoop,
+ initialWrap = state.initialWrap,
+ hasSetCurrentId = state.hasSetCurrentId;
+
+ switch (action.type) {
+ case "registerGroup":
+ {
+ var _group = action.group; // If there are no groups yet, just add it as the first one
+
+ if (groups.length === 0) {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ groups: [_group]
+ });
+ } // Finds the group index based on DOM position
+
+
+ var index = findDOMIndex(groups, _group);
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ groups: addItemAtIndex(groups, _group, index)
+ });
+ }
+
+ case "unregisterGroup":
+ {
+ var _id = action.id;
+ var nextGroups = groups.filter(function (group) {
+ return group.id !== _id;
+ }); // The group isn't registered, so do nothing
+
+ if (nextGroups.length === groups.length) {
+ return state;
+ }
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ groups: nextGroups
+ });
+ }
+
+ case "registerItem":
+ {
+ var _item = action.item; // Finds the item group based on the DOM hierarchy
+
+ var _group2 = groups.find(function (r) {
+ var _r$ref$current;
+
+ return (_r$ref$current = r.ref.current) === null || _r$ref$current === void 0 ? void 0 : _r$ref$current.contains(_item.ref.current);
+ }); // Group will be null if it's a one-dimensional composite
+
+
+ var nextItem = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ groupId: _group2 === null || _group2 === void 0 ? void 0 : _group2.id
+ }, _item);
+
+ var _index = findDOMIndex(items, nextItem);
+
+ var nextState = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ items: addItemAtIndex(items, nextItem, _index)
+ });
+
+ if (!hasSetCurrentId && !moves && initialCurrentId === undefined) {
+ var _findFirstEnabledItem;
+
+ // Sets currentId to the first enabled item. This runs whenever an item
+ // is registered because the first enabled item may be registered
+ // asynchronously.
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, nextState), {}, {
+ currentId: (_findFirstEnabledItem = findFirstEnabledItem(nextState.items)) === null || _findFirstEnabledItem === void 0 ? void 0 : _findFirstEnabledItem.id
+ });
+ }
+
+ return nextState;
+ }
+
+ case "unregisterItem":
+ {
+ var _id2 = action.id;
+ var nextItems = items.filter(function (item) {
+ return item.id !== _id2;
+ }); // The item isn't registered, so do nothing
+
+ if (nextItems.length === items.length) {
+ return state;
+ } // Filters out the item that is being removed from the pastIds list
+
+
+ var nextPastIds = pastIds.filter(function (pastId) {
+ return pastId !== _id2;
+ });
+
+ var _nextState = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ pastIds: nextPastIds,
+ items: nextItems
+ }); // If the current item is the item that is being removed, focus pastId
+
+
+ if (currentId && currentId === _id2) {
+ var nextId = getCurrentId(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState), {}, {
+ currentId: nextPastIds[0]
+ }));
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState), {}, {
+ currentId: nextId
+ });
+ }
+
+ return _nextState;
+ }
+
+ case "move":
+ {
+ var _id3 = action.id; // move() does nothing
+
+ if (_id3 === undefined) {
+ return state;
+ } // Removes the current item and the item that is receiving focus from the
+ // pastIds list
+
+
+ var filteredPastIds = pastIds.filter(function (pastId) {
+ return pastId !== currentId && pastId !== _id3;
+ }); // If there's a currentId, add it to the pastIds list so it can be focused
+ // if the new item gets removed or disabled
+
+ var _nextPastIds = currentId ? [currentId].concat(filteredPastIds) : filteredPastIds;
+
+ var _nextState2 = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ pastIds: _nextPastIds
+ }); // move(null) will focus the composite element itself, not an item
+
+
+ if (_id3 === null) {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState2), {}, {
+ unstable_moves: moves + 1,
+ currentId: getCurrentId(_nextState2, _id3)
+ });
+ }
+
+ var _item2 = findEnabledItemById(items, _id3);
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState2), {}, {
+ unstable_moves: _item2 ? moves + 1 : moves,
+ currentId: getCurrentId(_nextState2, _item2 === null || _item2 === void 0 ? void 0 : _item2.id)
+ });
+ }
+
+ case "next":
+ {
+ // If there's no item focused, we just move the first one
+ if (currentId == null) {
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "first"
+ }));
+ } // RTL doesn't make sense on vertical navigation
+
+
+ var isHorizontal = orientation !== "vertical";
+ var isRTL = rtl && isHorizontal;
+ var allItems = isRTL ? reverse(items) : items;
+ var currentItem = allItems.find(function (item) {
+ return item.id === currentId;
+ }); // If there's no item focused, we just move the first one
+
+ if (!currentItem) {
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "first"
+ }));
+ }
+
+ var isGrid = !!currentItem.groupId;
+ var currentIndex = allItems.indexOf(currentItem);
+
+ var _nextItems = allItems.slice(currentIndex + 1);
+
+ var nextItemsInGroup = getItemsInGroup(_nextItems, currentItem.groupId); // Home, End
+
+ if (action.allTheWay) {
+ // We reverse so we can get the last enabled item in the group. If it's
+ // RTL, nextItems and nextItemsInGroup are already reversed and don't
+ // have the items before the current one anymore. So we have to get
+ // items in group again with allItems.
+ var _nextItem2 = findFirstEnabledItem(isRTL ? getItemsInGroup(allItems, currentItem.groupId) : reverse(nextItemsInGroup));
+
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "move",
+ id: _nextItem2 === null || _nextItem2 === void 0 ? void 0 : _nextItem2.id
+ }));
+ }
+
+ var oppositeOrientation = getOppositeOrientation( // If it's a grid and orientation is not set, it's a next/previous
+ // call, which is inherently horizontal. up/down will call next with
+ // orientation set to vertical by default (see below on up/down cases).
+ isGrid ? orientation || "horizontal" : orientation);
+ var canLoop = loop && loop !== oppositeOrientation;
+ var canWrap = isGrid && wrap && wrap !== oppositeOrientation;
+ var hasNullItem = // `previous` and `up` will set action.hasNullItem, but when calling
+ // next directly, hasNullItem will only be true if it's not a grid and
+ // loop is set to true, which means that pressing right or down keys on
+ // grids will never focus the composite element. On one-dimensional
+ // composites that don't loop, pressing right or down keys also doesn't
+ // focus the composite element.
+ action.hasNullItem || !isGrid && canLoop && initialCurrentId === null;
+
+ if (canLoop) {
+ var loopItems = canWrap && !hasNullItem ? allItems : getItemsInGroup(allItems, currentItem.groupId); // Turns [0, 1, current, 3, 4] into [3, 4, 0, 1]
+
+ var sortedItems = placeItemsAfter(loopItems, currentId, hasNullItem);
+
+ var _nextItem3 = findFirstEnabledItem(sortedItems, currentId);
+
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "move",
+ id: _nextItem3 === null || _nextItem3 === void 0 ? void 0 : _nextItem3.id
+ }));
+ }
+
+ if (canWrap) {
+ var _nextItem4 = findFirstEnabledItem( // We can use nextItems, which contains all the next items, including
+ // items from other groups, to wrap between groups. However, if there
+ // is a null item (the composite element), we'll only use the next
+ // items in the group. So moving next from the last item will focus
+ // the composite element (null). On grid composites, horizontal
+ // navigation never focuses the composite element, only vertical.
+ hasNullItem ? nextItemsInGroup : _nextItems, currentId);
+
+ var _nextId = hasNullItem ? (_nextItem4 === null || _nextItem4 === void 0 ? void 0 : _nextItem4.id) || null : _nextItem4 === null || _nextItem4 === void 0 ? void 0 : _nextItem4.id;
+
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "move",
+ id: _nextId
+ }));
+ }
+
+ var _nextItem = findFirstEnabledItem(nextItemsInGroup, currentId);
+
+ if (!_nextItem && hasNullItem) {
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "move",
+ id: null
+ }));
+ }
+
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "move",
+ id: _nextItem === null || _nextItem === void 0 ? void 0 : _nextItem.id
+ }));
+ }
+
+ case "previous":
+ {
+ // If currentId is initially set to null, the composite element will be
+ // focusable while navigating with arrow keys. But, if it's a grid, we
+ // don't want to focus the composite element with horizontal navigation.
+ var _isGrid = !!groups.length;
+
+ var _hasNullItem = !_isGrid && initialCurrentId === null;
+
+ var _nextState3 = reducer(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ items: reverse(items)
+ }), Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "next",
+ hasNullItem: _hasNullItem
+ }));
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState3), {}, {
+ items: items
+ });
+ }
+
+ case "down":
+ {
+ // First, we make sure groups have the same number of items by filling it
+ // with disabled fake items. Then, we reorganize the items list so
+ // [1-1, 1-2, 2-1, 2-2] becomes [1-1, 2-1, 1-2, 2-2].
+ var verticalItems = verticalizeItems(flatten(fillGroups(groupItems(items))));
+
+ var _canLoop = loop && loop !== "horizontal"; // Pressing down arrow key will only focus the composite element if loop
+ // is true or vertical.
+
+
+ var _hasNullItem2 = _canLoop && initialCurrentId === null;
+
+ var _nextState4 = reducer(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ orientation: "vertical",
+ items: verticalItems
+ }), Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "next",
+ hasNullItem: _hasNullItem2
+ }));
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState4), {}, {
+ orientation: orientation,
+ items: items
+ });
+ }
+
+ case "up":
+ {
+ var _verticalItems = verticalizeItems(reverse(flatten(fillGroups(groupItems(items))))); // If currentId is initially set to null, we'll always focus the
+ // composite element when the up arrow key is pressed in the first row.
+
+
+ var _hasNullItem3 = initialCurrentId === null;
+
+ var _nextState5 = reducer(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ orientation: "vertical",
+ items: _verticalItems
+ }), Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "next",
+ hasNullItem: _hasNullItem3
+ }));
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState5), {}, {
+ orientation: orientation,
+ items: items
+ });
+ }
+
+ case "first":
+ {
+ var firstItem = findFirstEnabledItem(items);
+ return reducer(state, Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "move",
+ id: firstItem === null || firstItem === void 0 ? void 0 : firstItem.id
+ }));
+ }
+
+ case "last":
+ {
+ var _nextState6 = reducer(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ items: reverse(items)
+ }), Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, action), {}, {
+ type: "first"
+ }));
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, _nextState6), {}, {
+ items: items
+ });
+ }
+
+ case "sort":
+ {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ items: sortBasedOnDOMPosition(items),
+ groups: sortBasedOnDOMPosition(groups)
+ });
+ }
+
+ case "setVirtual":
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ unstable_virtual: Object(reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__[/* applyState */ "a"])(action.virtual, virtual)
+ });
+
+ case "setRTL":
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ rtl: Object(reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__[/* applyState */ "a"])(action.rtl, rtl)
+ });
+
+ case "setOrientation":
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ orientation: Object(reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__[/* applyState */ "a"])(action.orientation, orientation)
+ });
+
+ case "setCurrentId":
+ {
+ var nextCurrentId = getCurrentId(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ currentId: Object(reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__[/* applyState */ "a"])(action.currentId, currentId)
+ }));
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ currentId: nextCurrentId,
+ hasSetCurrentId: true
+ });
+ }
+
+ case "setLoop":
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ loop: Object(reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__[/* applyState */ "a"])(action.loop, loop)
+ });
+
+ case "setWrap":
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ wrap: Object(reakit_utils_applyState__WEBPACK_IMPORTED_MODULE_4__[/* applyState */ "a"])(action.wrap, wrap)
+ });
+
+ case "reset":
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ unstable_virtual: initialVirtual,
+ rtl: initialRTL,
+ orientation: initialOrientation,
+ currentId: getCurrentId(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, state), {}, {
+ currentId: initialCurrentId
+ })),
+ loop: initialLoop,
+ wrap: initialWrap,
+ unstable_moves: 0,
+ pastIds: []
+ });
+
+ default:
+ throw new Error();
+ }
+}
+
+function useAction(fn) {
+ return Object(react__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(fn, []);
+}
+
+function useIsUnmountedRef() {
+ var isUnmountedRef = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(false);
+ Object(reakit_utils_useIsomorphicEffect__WEBPACK_IMPORTED_MODULE_2__[/* useIsomorphicEffect */ "a"])(function () {
+ return function () {
+ isUnmountedRef.current = true;
+ };
+ }, []);
+ return isUnmountedRef;
+}
+
+function useCompositeState(initialState) {
+ if (initialState === void 0) {
+ initialState = {};
+ }
+
+ var _useSealedState = Object(reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_3__[/* useSealedState */ "a"])(initialState),
+ _useSealedState$unsta = _useSealedState.unstable_virtual,
+ virtual = _useSealedState$unsta === void 0 ? false : _useSealedState$unsta,
+ _useSealedState$rtl = _useSealedState.rtl,
+ rtl = _useSealedState$rtl === void 0 ? false : _useSealedState$rtl,
+ orientation = _useSealedState.orientation,
+ currentId = _useSealedState.currentId,
+ _useSealedState$loop = _useSealedState.loop,
+ loop = _useSealedState$loop === void 0 ? false : _useSealedState$loop,
+ _useSealedState$wrap = _useSealedState.wrap,
+ wrap = _useSealedState$wrap === void 0 ? false : _useSealedState$wrap,
+ sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_useSealedState, ["unstable_virtual", "rtl", "orientation", "currentId", "loop", "wrap"]);
+
+ var _React$useReducer = Object(react__WEBPACK_IMPORTED_MODULE_1__["useReducer"])(reducer, {
+ unstable_virtual: virtual,
+ rtl: rtl,
+ orientation: orientation,
+ items: [],
+ groups: [],
+ currentId: currentId,
+ loop: loop,
+ wrap: wrap,
+ unstable_moves: 0,
+ pastIds: [],
+ initialVirtual: virtual,
+ initialRTL: rtl,
+ initialOrientation: orientation,
+ initialCurrentId: currentId,
+ initialLoop: loop,
+ initialWrap: wrap
+ }),
+ _React$useReducer$ = _React$useReducer[0],
+ pastIds = _React$useReducer$.pastIds,
+ initialVirtual = _React$useReducer$.initialVirtual,
+ initialRTL = _React$useReducer$.initialRTL,
+ initialOrientation = _React$useReducer$.initialOrientation,
+ initialCurrentId = _React$useReducer$.initialCurrentId,
+ initialLoop = _React$useReducer$.initialLoop,
+ initialWrap = _React$useReducer$.initialWrap,
+ hasSetCurrentId = _React$useReducer$.hasSetCurrentId,
+ state = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_React$useReducer$, ["pastIds", "initialVirtual", "initialRTL", "initialOrientation", "initialCurrentId", "initialLoop", "initialWrap", "hasSetCurrentId"]),
+ dispatch = _React$useReducer[1];
+
+ var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(false),
+ hasActiveWidget = _React$useState[0],
+ setHasActiveWidget = _React$useState[1];
+
+ var idState = Object(_Id_IdState_js__WEBPACK_IMPORTED_MODULE_5__[/* unstable_useIdState */ "a"])(sealed); // register/unregister may be called when this component is unmounted. We
+ // store the unmounted state here so we don't update the state if it's true.
+ // This only happens in a very specific situation.
+ // See https://github.com/reakit/reakit/issues/650
+
+ var isUnmountedRef = useIsUnmountedRef();
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, idState), state), {}, {
+ unstable_hasActiveWidget: hasActiveWidget,
+ unstable_setHasActiveWidget: setHasActiveWidget,
+ registerItem: useAction(function (item) {
+ if (isUnmountedRef.current) return;
+ dispatch({
+ type: "registerItem",
+ item: item
+ });
+ }),
+ unregisterItem: useAction(function (id) {
+ if (isUnmountedRef.current) return;
+ dispatch({
+ type: "unregisterItem",
+ id: id
+ });
+ }),
+ registerGroup: useAction(function (group) {
+ if (isUnmountedRef.current) return;
+ dispatch({
+ type: "registerGroup",
+ group: group
+ });
+ }),
+ unregisterGroup: useAction(function (id) {
+ if (isUnmountedRef.current) return;
+ dispatch({
+ type: "unregisterGroup",
+ id: id
+ });
+ }),
+ move: useAction(function (id) {
+ return dispatch({
+ type: "move",
+ id: id
+ });
+ }),
+ next: useAction(function (allTheWay) {
+ return dispatch({
+ type: "next",
+ allTheWay: allTheWay
+ });
+ }),
+ previous: useAction(function (allTheWay) {
+ return dispatch({
+ type: "previous",
+ allTheWay: allTheWay
+ });
+ }),
+ up: useAction(function (allTheWay) {
+ return dispatch({
+ type: "up",
+ allTheWay: allTheWay
+ });
+ }),
+ down: useAction(function (allTheWay) {
+ return dispatch({
+ type: "down",
+ allTheWay: allTheWay
+ });
+ }),
+ first: useAction(function () {
+ return dispatch({
+ type: "first"
+ });
+ }),
+ last: useAction(function () {
+ return dispatch({
+ type: "last"
+ });
+ }),
+ unstable_sort: useAction(function () {
+ return dispatch({
+ type: "sort"
+ });
+ }),
+ unstable_setVirtual: useAction(function (value) {
+ return dispatch({
+ type: "setVirtual",
+ virtual: value
+ });
+ }),
+ setRTL: useAction(function (value) {
+ return dispatch({
+ type: "setRTL",
+ rtl: value
+ });
+ }),
+ setOrientation: useAction(function (value) {
+ return dispatch({
+ type: "setOrientation",
+ orientation: value
+ });
+ }),
+ setCurrentId: useAction(function (value) {
+ return dispatch({
+ type: "setCurrentId",
+ currentId: value
+ });
+ }),
+ setLoop: useAction(function (value) {
+ return dispatch({
+ type: "setLoop",
+ loop: value
+ });
+ }),
+ setWrap: useAction(function (value) {
+ return dispatch({
+ type: "setWrap",
+ wrap: value
+ });
+ }),
+ reset: useAction(function () {
+ return dispatch({
+ type: "reset"
+ });
+ })
+ });
+}
+var keys = [].concat(_Id_IdState_js__WEBPACK_IMPORTED_MODULE_5__[/* unstable_useIdState */ "a"].__keys, ["unstable_virtual", "rtl", "orientation", "items", "groups", "currentId", "loop", "wrap", "unstable_moves", "unstable_hasActiveWidget", "registerItem", "unregisterItem", "registerGroup", "unregisterGroup", "move", "next", "previous", "up", "down", "first", "last", "unstable_sort", "unstable_setVirtual", "setRTL", "setOrientation", "setCurrentId", "setLoop", "setWrap", "reset", "unstable_setHasActiveWidget"]);
+useCompositeState.__keys = keys;
+
+
+
+
+/***/ }),
+/* 52 */,
+/* 53 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isSelfTarget; });
+/**
+ * Returns `true` if `event.target` and `event.currentTarget` are the same.
+ */
+function isSelfTarget(event) {
+ return event.target === event.currentTarget;
+}
+
+
+
+
+/***/ }),
+/* 54 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["a11y"]; }());
+
+/***/ }),
+/* 55 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectSpread2; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return _objectWithoutPropertiesLoose; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return _createForOfIteratorHelperLoose; });
+function _defineProperty(obj, key, value) {
+ if (key in obj) {
+ Object.defineProperty(obj, key, {
+ value: value,
+ enumerable: true,
+ configurable: true,
+ writable: true
+ });
+ } else {
+ obj[key] = value;
+ }
+
+ return obj;
+}
+
+function ownKeys(object, enumerableOnly) {
+ var keys = Object.keys(object);
+
+ if (Object.getOwnPropertySymbols) {
+ var symbols = Object.getOwnPropertySymbols(object);
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
+ });
+ keys.push.apply(keys, symbols);
+ }
+
+ return keys;
+}
+
+function _objectSpread2(target) {
+ for (var i = 1; i < arguments.length; i++) {
+ var source = arguments[i] != null ? arguments[i] : {};
+
+ if (i % 2) {
+ ownKeys(Object(source), true).forEach(function (key) {
+ _defineProperty(target, key, source[key]);
+ });
+ } else if (Object.getOwnPropertyDescriptors) {
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
+ } else {
+ ownKeys(Object(source)).forEach(function (key) {
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
+ });
+ }
+ }
+
+ return target;
+}
+
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(o);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+}
+
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
+}
+
+function _createForOfIteratorHelperLoose(o, allowArrayLike) {
+ var it;
+
+ if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
+ if (it) o = it;
+ var i = 0;
+ return function () {
+ if (i >= o.length) return {
+ done: true
+ };
+ return {
+ done: false,
+ value: o[i++]
+ };
+ };
+ }
+
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+
+ it = o[Symbol.iterator]();
+ return it.next.bind(it);
+}
+
+
+
+
+/***/ }),
+/* 56 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return shallowEqual; });
+/**
+ * Compares two objects.
+ *
+ * @example
+ * import { shallowEqual } from "reakit-utils";
+ *
+ * shallowEqual({ a: "a" }, {}); // false
+ * shallowEqual({ a: "a" }, { b: "b" }); // false
+ * shallowEqual({ a: "a" }, { a: "a" }); // true
+ * shallowEqual({ a: "a" }, { a: "a", b: "b" }); // false
+ */
+function shallowEqual(objA, objB) {
+ if (objA === objB) return true;
+ if (!objA) return false;
+ if (!objB) return false;
+ if (typeof objA !== "object") return false;
+ if (typeof objB !== "object") return false;
+ var aKeys = Object.keys(objA);
+ var bKeys = Object.keys(objB);
+ var length = aKeys.length;
+ if (bKeys.length !== length) return false;
+
+ for (var _i = 0, _aKeys = aKeys; _i < _aKeys.length; _i++) {
+ var key = _aKeys[_i];
+
+ if (objA[key] !== objB[key]) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+
+
+/***/ }),
+/* 57 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getActiveElement; });
+/* harmony import */ var _getDocument_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47);
+
+
+/**
+ * Returns `element.ownerDocument.activeElement`.
+ */
+
+function getActiveElement(element) {
+ return Object(_getDocument_js__WEBPACK_IMPORTED_MODULE_0__[/* getDocument */ "a"])(element).activeElement;
+}
+
+
+
+
+/***/ }),
+/* 58 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/* globals
+ Atomics,
+ SharedArrayBuffer,
+*/
+
+var undefined;
+
+var $TypeError = TypeError;
+
+var $gOPD = Object.getOwnPropertyDescriptor;
+if ($gOPD) {
+ try {
+ $gOPD({}, '');
+ } catch (e) {
+ $gOPD = null; // this is IE 8, which has a broken gOPD
+ }
+}
+
+var throwTypeError = function () { throw new $TypeError(); };
+var ThrowTypeError = $gOPD
+ ? (function () {
+ try {
+ // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties
+ arguments.callee; // IE 8 does not throw here
+ return throwTypeError;
+ } catch (calleeThrows) {
+ try {
+ // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')
+ return $gOPD(arguments, 'callee').get;
+ } catch (gOPDthrows) {
+ return throwTypeError;
+ }
+ }
+ }())
+ : throwTypeError;
+
+var hasSymbols = __webpack_require__(207)();
+
+var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
+
+var generator; // = function * () {};
+var generatorFunction = generator ? getProto(generator) : undefined;
+var asyncFn; // async function() {};
+var asyncFunction = asyncFn ? asyncFn.constructor : undefined;
+var asyncGen; // async function * () {};
+var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;
+var asyncGenIterator = asyncGen ? asyncGen() : undefined;
+
+var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
+
+var INTRINSICS = {
+ '%Array%': Array,
+ '%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
+ '%ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,
+ '%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
+ '%ArrayPrototype%': Array.prototype,
+ '%ArrayProto_entries%': Array.prototype.entries,
+ '%ArrayProto_forEach%': Array.prototype.forEach,
+ '%ArrayProto_keys%': Array.prototype.keys,
+ '%ArrayProto_values%': Array.prototype.values,
+ '%AsyncFromSyncIteratorPrototype%': undefined,
+ '%AsyncFunction%': asyncFunction,
+ '%AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,
+ '%AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,
+ '%AsyncGeneratorFunction%': asyncGenFunction,
+ '%AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,
+ '%AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,
+ '%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
+ '%Boolean%': Boolean,
+ '%BooleanPrototype%': Boolean.prototype,
+ '%DataView%': typeof DataView === 'undefined' ? undefined : DataView,
+ '%DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,
+ '%Date%': Date,
+ '%DatePrototype%': Date.prototype,
+ '%decodeURI%': decodeURI,
+ '%decodeURIComponent%': decodeURIComponent,
+ '%encodeURI%': encodeURI,
+ '%encodeURIComponent%': encodeURIComponent,
+ '%Error%': Error,
+ '%ErrorPrototype%': Error.prototype,
+ '%eval%': eval, // eslint-disable-line no-eval
+ '%EvalError%': EvalError,
+ '%EvalErrorPrototype%': EvalError.prototype,
+ '%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
+ '%Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,
+ '%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
+ '%Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,
+ '%Function%': Function,
+ '%FunctionPrototype%': Function.prototype,
+ '%Generator%': generator ? getProto(generator()) : undefined,
+ '%GeneratorFunction%': generatorFunction,
+ '%GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,
+ '%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
+ '%Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,
+ '%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
+ '%Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,
+ '%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
+ '%Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,
+ '%isFinite%': isFinite,
+ '%isNaN%': isNaN,
+ '%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
+ '%JSON%': typeof JSON === 'object' ? JSON : undefined,
+ '%JSONParse%': typeof JSON === 'object' ? JSON.parse : undefined,
+ '%Map%': typeof Map === 'undefined' ? undefined : Map,
+ '%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
+ '%MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,
+ '%Math%': Math,
+ '%Number%': Number,
+ '%NumberPrototype%': Number.prototype,
+ '%Object%': Object,
+ '%ObjectPrototype%': Object.prototype,
+ '%ObjProto_toString%': Object.prototype.toString,
+ '%ObjProto_valueOf%': Object.prototype.valueOf,
+ '%parseFloat%': parseFloat,
+ '%parseInt%': parseInt,
+ '%Promise%': typeof Promise === 'undefined' ? undefined : Promise,
+ '%PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,
+ '%PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,
+ '%Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,
+ '%Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,
+ '%Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,
+ '%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
+ '%RangeError%': RangeError,
+ '%RangeErrorPrototype%': RangeError.prototype,
+ '%ReferenceError%': ReferenceError,
+ '%ReferenceErrorPrototype%': ReferenceError.prototype,
+ '%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
+ '%RegExp%': RegExp,
+ '%RegExpPrototype%': RegExp.prototype,
+ '%Set%': typeof Set === 'undefined' ? undefined : Set,
+ '%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
+ '%SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,
+ '%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
+ '%SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,
+ '%String%': String,
+ '%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
+ '%StringPrototype%': String.prototype,
+ '%Symbol%': hasSymbols ? Symbol : undefined,
+ '%SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,
+ '%SyntaxError%': SyntaxError,
+ '%SyntaxErrorPrototype%': SyntaxError.prototype,
+ '%ThrowTypeError%': ThrowTypeError,
+ '%TypedArray%': TypedArray,
+ '%TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,
+ '%TypeError%': $TypeError,
+ '%TypeErrorPrototype%': $TypeError.prototype,
+ '%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
+ '%Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,
+ '%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
+ '%Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,
+ '%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
+ '%Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,
+ '%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
+ '%Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,
+ '%URIError%': URIError,
+ '%URIErrorPrototype%': URIError.prototype,
+ '%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
+ '%WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,
+ '%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,
+ '%WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype
+};
+
+var bind = __webpack_require__(118);
+var $replace = bind.call(Function.call, String.prototype.replace);
+
+/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */
+var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
+var reEscapeChar = /\\(\\)?/g; /** Used to match backslashes in property paths. */
+var stringToPath = function stringToPath(string) {
+ var result = [];
+ $replace(string, rePropName, function (match, number, quote, subString) {
+ result[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : (number || match);
+ });
+ return result;
+};
+/* end adaptation */
+
+var getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {
+ if (!(name in INTRINSICS)) {
+ throw new SyntaxError('intrinsic ' + name + ' does not exist!');
+ }
+
+ // istanbul ignore if // hopefully this is impossible to test :-)
+ if (typeof INTRINSICS[name] === 'undefined' && !allowMissing) {
+ throw new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
+ }
+
+ return INTRINSICS[name];
+};
+
+module.exports = function GetIntrinsic(name, allowMissing) {
+ if (typeof name !== 'string' || name.length === 0) {
+ throw new TypeError('intrinsic name must be a non-empty string');
+ }
+ if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
+ throw new TypeError('"allowMissing" argument must be a boolean');
+ }
+
+ var parts = stringToPath(name);
+
+ var value = getBaseIntrinsic('%' + (parts.length > 0 ? parts[0] : '') + '%', allowMissing);
+ for (var i = 1; i < parts.length; i += 1) {
+ if (value != null) {
+ if ($gOPD && (i + 1) >= parts.length) {
+ var desc = $gOPD(value, parts[i]);
+ if (!allowMissing && !(parts[i] in value)) {
+ throw new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');
+ }
+ value = desc ? (desc.get || desc.value) : value[parts[i]];
+ } else {
+ value = value[parts[i]];
+ }
+ }
+ }
+ return value;
+};
+
+
+/***/ }),
+/* 59 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useIsomorphicEffect; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+
+
+/**
+ * `React.useLayoutEffect` that fallbacks to `React.useEffect` on server side
+ * rendering.
+ */
+
+var useIsomorphicEffect = typeof window === "undefined" ? react__WEBPACK_IMPORTED_MODULE_0__["useEffect"] : react__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"];
+
+
+
+
+/***/ }),
+/* 60 */,
+/* 61 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return applyState; });
+function isUpdater(argument) {
+ return typeof argument === "function";
+}
+/**
+ * Receives a `setState` argument and calls it with `currentValue` if it's a
+ * function. Otherwise return the argument as the new value.
+ *
+ * @example
+ * import { applyState } from "reakit-utils";
+ *
+ * applyState((value) => value + 1, 1); // 2
+ * applyState(2, 1); // 2
+ */
+
+
+function applyState(argument, currentValue) {
+ if (isUpdater(argument)) {
+ return argument(currentValue);
+ }
+
+ return argument;
+}
+
+
+
+
+/***/ }),
+/* 62 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useSealedState; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+
+
+/**
+ * React custom hook that returns the very first value passed to `initialState`,
+ * even if it changes between re-renders.
+ */
+function useSealedState(initialState) {
+ var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(initialState),
+ sealed = _React$useState[0];
+
+ return sealed;
+}
+
+
+
+
+/***/ }),
+/* 63 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useForkRef; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+
+
+// https://github.com/mui-org/material-ui/blob/2bcc874cf07b81202968f769cb9c2398c7c11311/packages/material-ui/src/utils/useForkRef.js
+
+function setRef(ref, value) {
+ if (value === void 0) {
+ value = null;
+ }
+
+ if (!ref) return;
+
+ if (typeof ref === "function") {
+ ref(value);
+ } else {
+ ref.current = value;
+ }
+}
+/**
+ * Merges up to two React Refs into a single memoized function React Ref so you
+ * can pass it to an element.
+ *
+ * @example
+ * import React from "react";
+ * import { useForkRef } from "reakit-utils";
+ *
+ * const Component = React.forwardRef((props, ref) => {
+ * const internalRef = React.useRef();
+ * return ;
+ * });
+ */
+
+
+function useForkRef(refA, refB) {
+ return Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () {
+ if (refA == null && refB == null) {
+ return null;
+ }
+
+ return function (value) {
+ setRef(refA, value);
+ setRef(refB, value);
+ };
+ }, [refA, refB]);
+}
+
+
+
+
+/***/ }),
+/* 64 */
/***/ (function(module, exports) {
(function() { module.exports = this["wp"]["isShallowEqual"]; }());
/***/ }),
-/* 43 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = true ? __webpack_require__(290) : undefined;
-
-
-
-/***/ }),
-/* 44 */,
-/* 45 */
+/* 65 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return unstable_useIdState; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62);
+/* harmony import */ var _IdProvider_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(68);
+
+
+
+
+function unstable_useIdState(initialState) {
+ if (initialState === void 0) {
+ initialState = {};
+ }
+
+ var _useSealedState = Object(reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_1__[/* useSealedState */ "a"])(initialState),
+ initialBaseId = _useSealedState.baseId;
+
+ var generateId = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_IdProvider_js__WEBPACK_IMPORTED_MODULE_2__[/* unstable_IdContext */ "a"]);
+ var idCountRef = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(0);
+
+ var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])(function () {
+ return initialBaseId || generateId();
+ }),
+ baseId = _React$useState[0],
+ setBaseId = _React$useState[1];
+
+ return {
+ baseId: baseId,
+ unstable_setBaseId: setBaseId,
+ unstable_idCountRef: idCountRef
+ };
+}
+var keys = ["baseId", "unstable_setBaseId", "unstable_idCountRef"];
+unstable_useIdState.__keys = keys;
+
+
+
+
+/***/ }),
+/* 66 */
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.1
@@ -1862,17 +4121,1451 @@
/***/ }),
-/* 46 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var defineProperties = __webpack_require__(73);
-
-var implementation = __webpack_require__(155);
-var getPolyfill = __webpack_require__(156);
-var shim = __webpack_require__(286);
+/* 67 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Box */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useBox; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
+/* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var reakit_utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(56);
+
+
+
+
+
+var useBox = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__[/* createHook */ "a"])({
+ name: "Box",
+ keys: ["unstable_system"],
+ propsAreEqual: function propsAreEqual(prev, next) {
+ var prevSystem = prev.unstable_system,
+ prevProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(prev, ["unstable_system"]);
+
+ var nextSystem = next.unstable_system,
+ nextProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(next, ["unstable_system"]);
+
+ if (prevSystem !== nextSystem && !Object(reakit_utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__[/* shallowEqual */ "a"])(prevSystem, nextSystem)) {
+ return false;
+ }
+
+ return Object(reakit_utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__[/* shallowEqual */ "a"])(prevProps, nextProps);
+ }
+});
+var Box = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__[/* createComponent */ "a"])({
+ as: "div",
+ useHook: useBox
+});
+
+
+
+
+/***/ }),
+/* 68 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return unstable_IdContext; });
+/* unused harmony export unstable_IdProvider */
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+
+
+var defaultPrefix = "id";
+function generateRandomString(prefix) {
+ if (prefix === void 0) {
+ prefix = defaultPrefix;
+ }
+
+ return "" + (prefix ? prefix + "-" : "") + Math.random().toString(32).substr(2, 6);
+}
+
+var unstable_IdContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])(generateRandomString);
+function unstable_IdProvider(_ref) {
+ var children = _ref.children,
+ _ref$prefix = _ref.prefix,
+ prefix = _ref$prefix === void 0 ? defaultPrefix : _ref$prefix;
+ var count = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(0);
+ var generateId = Object(react__WEBPACK_IMPORTED_MODULE_0__["useCallback"])(function (localPrefix) {
+ if (localPrefix === void 0) {
+ localPrefix = prefix;
+ }
+
+ return "" + (localPrefix ? localPrefix + "-" : "") + ++count.current;
+ }, [prefix]);
+ return /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(unstable_IdContext.Provider, {
+ value: generateId
+ }, children);
+}
+
+
+
+
+/***/ }),
+/* 69 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hasFocusWithin; });
+/* harmony import */ var _getActiveElement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(57);
+
+
+
+/**
+ * Checks if `element` has focus.
+ *
+ * @example
+ * import { hasFocusWithin } from "reakit-utils";
+ *
+ * hasFocusWithin(document.getElementById("id"));
+ */
+
+function hasFocusWithin(element) {
+ var activeElement = Object(_getActiveElement_js__WEBPACK_IMPORTED_MODULE_0__[/* getActiveElement */ "a"])(element);
+ if (!activeElement) return false;
+ if (element.contains(activeElement)) return true;
+ var activeDescendant = activeElement.getAttribute("aria-activedescendant");
+ if (!activeDescendant) return false;
+ return activeDescendant === element.id || !!element.querySelector("#" + activeDescendant);
+}
+
+
+
+
+/***/ }),
+/* 70 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isButton; });
+var buttonInputTypes = ["button", "color", "file", "image", "reset", "submit"];
+/**
+ * Checks whether `element` is a native HTML button element or not.
+ *
+ * @example
+ * import { isButton } from "reakit-utils";
+ *
+ * isButton(document.querySelector("button")); // true
+ * isButton(document.querySelector("input[type='button']")); // true
+ * isButton(document.querySelector("div")); // false
+ * isButton(document.querySelector("input[type='text']")); // false
+ *
+ * @returns {boolean}
+ */
+
+function isButton(element) {
+ if (element.tagName === "BUTTON") return true;
+
+ if (element.tagName === "INPUT") {
+ var input = element;
+ return buttonInputTypes.indexOf(input.type) !== -1;
+ }
+
+ return false;
+}
+
+
+
+
+/***/ }),
+/* 71 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ ensureFocus; });
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ getClosestFocusable; });
+
+// UNUSED EXPORTS: getAllFocusableIn, getAllTabbableIn, getFirstFocusableIn, getFirstTabbableIn, getLastTabbableIn, getNextTabbableIn, getPreviousTabbableIn, isFocusable, isTabbable
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/matches.js
+/**
+ * Ponyfill for `Element.prototype.matches`
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/matches
+ */
+function matches(element, selectors) {
+ if ("matches" in element) return element.matches(selectors);
+ if ("msMatchesSelector" in element) return element.msMatchesSelector(selectors);
+ return element.webkitMatchesSelector(selectors);
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/closest.js
+
+
+/**
+ * Ponyfill for `Element.prototype.closest`
+ *
+ * @example
+ * import { closest } from "reakit-utils";
+ *
+ * closest(document.getElementById("id"), "div");
+ * // same as
+ * document.getElementById("id").closest("div");
+ */
+function closest(element, selectors) {
+ if ("closest" in element) return element.closest(selectors);
+
+ do {
+ if (matches(element, selectors)) return element;
+ element = element.parentElement || element.parentNode;
+ } while (element !== null && element.nodeType === 1);
+
+ return null;
+}
+
+
+
+// EXTERNAL MODULE: ./node_modules/reakit-utils/es/getActiveElement.js
+var getActiveElement = __webpack_require__(57);
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/tabbable.js
+
+
+
+
+
+/** @module tabbable */
+var selector = "input:not([type='hidden']):not([disabled]), select:not([disabled]), " + "textarea:not([disabled]), a[href], button:not([disabled]), [tabindex], " + "iframe, object, embed, area[href], audio[controls], video[controls], " + "[contenteditable]:not([contenteditable='false'])";
+
+function isVisible(element) {
+ return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;
+}
+
+function hasNegativeTabIndex(element) {
+ var tabIndex = parseInt(element.getAttribute("tabindex") || "0", 10);
+ return tabIndex < 0;
+}
+/**
+ * Checks whether `element` is focusable or not.
+ *
+ * @memberof tabbable
+ *
+ * @example
+ * import { isFocusable } from "reakit-utils";
+ *
+ * isFocusable(document.querySelector("input")); // true
+ * isFocusable(document.querySelector("input[tabindex='-1']")); // true
+ * isFocusable(document.querySelector("input[hidden]")); // false
+ * isFocusable(document.querySelector("input:disabled")); // false
+ */
+
+
+function isFocusable(element) {
+ return matches(element, selector) && isVisible(element);
+}
+/**
+ * Checks whether `element` is tabbable or not.
+ *
+ * @memberof tabbable
+ *
+ * @example
+ * import { isTabbable } from "reakit-utils";
+ *
+ * isTabbable(document.querySelector("input")); // true
+ * isTabbable(document.querySelector("input[tabindex='-1']")); // false
+ * isTabbable(document.querySelector("input[hidden]")); // false
+ * isTabbable(document.querySelector("input:disabled")); // false
+ */
+
+function isTabbable(element) {
+ return isFocusable(element) && !hasNegativeTabIndex(element);
+}
+/**
+ * Returns all the focusable elements in `container`.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ *
+ * @returns {Element[]}
+ */
+
+function getAllFocusableIn(container) {
+ var allFocusable = Array.from(container.querySelectorAll(selector));
+ allFocusable.unshift(container);
+ return allFocusable.filter(isFocusable);
+}
+/**
+ * Returns the first focusable element in `container`.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ *
+ * @returns {Element|null}
+ */
+
+function getFirstFocusableIn(container) {
+ var allFocusable = getAllFocusableIn(container);
+ return allFocusable.length ? allFocusable[0] : null;
+}
+/**
+ * Returns all the tabbable elements in `container`, including the container
+ * itself.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ * @param fallbackToFocusable If `true`, it'll return focusable elements if there are no tabbable ones.
+ *
+ * @returns {Element[]}
+ */
+
+function getAllTabbableIn(container, fallbackToFocusable) {
+ var allFocusable = Array.from(container.querySelectorAll(selector));
+ var allTabbable = allFocusable.filter(isTabbable);
+
+ if (isTabbable(container)) {
+ allTabbable.unshift(container);
+ }
+
+ if (!allTabbable.length && fallbackToFocusable) {
+ return allFocusable;
+ }
+
+ return allTabbable;
+}
+/**
+ * Returns the first tabbable element in `container`, including the container
+ * itself if it's tabbable.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ * @param fallbackToFocusable If `true`, it'll return the first focusable element if there are no tabbable ones.
+ *
+ * @returns {Element|null}
+ */
+
+function getFirstTabbableIn(container, fallbackToFocusable) {
+ var _getAllTabbableIn = getAllTabbableIn(container, fallbackToFocusable),
+ first = _getAllTabbableIn[0];
+
+ return first || null;
+}
+/**
+ * Returns the last tabbable element in `container`, including the container
+ * itself if it's tabbable.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ * @param fallbackToFocusable If `true`, it'll return the last focusable element if there are no tabbable ones.
+ *
+ * @returns {Element|null}
+ */
+
+function getLastTabbableIn(container, fallbackToFocusable) {
+ var allTabbable = getAllTabbableIn(container, fallbackToFocusable);
+ return allTabbable[allTabbable.length - 1] || null;
+}
+/**
+ * Returns the next tabbable element in `container`.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ * @param fallbackToFocusable If `true`, it'll return the next focusable element if there are no tabbable ones.
+ *
+ * @returns {Element|null}
+ */
+
+function getNextTabbableIn(container, fallbackToFocusable) {
+ var activeElement = Object(getActiveElement["a" /* getActiveElement */])(container);
+ var allFocusable = getAllFocusableIn(container);
+ var index = allFocusable.indexOf(activeElement);
+ var slice = allFocusable.slice(index + 1);
+ return slice.find(isTabbable) || allFocusable.find(isTabbable) || (fallbackToFocusable ? slice[0] : null);
+}
+/**
+ * Returns the previous tabbable element in `container`.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ * @param fallbackToFocusable If `true`, it'll return the previous focusable element if there are no tabbable ones.
+ *
+ * @returns {Element|null}
+ */
+
+function getPreviousTabbableIn(container, fallbackToFocusable) {
+ var activeElement = Object(getActiveElement["a" /* getActiveElement */])(container);
+ var allFocusable = getAllFocusableIn(container).reverse();
+ var index = allFocusable.indexOf(activeElement);
+ var slice = allFocusable.slice(index + 1);
+ return slice.find(isTabbable) || allFocusable.find(isTabbable) || (fallbackToFocusable ? slice[0] : null);
+}
+/**
+ * Returns the closest focusable element.
+ *
+ * @memberof tabbable
+ *
+ * @param {Element} container
+ *
+ * @returns {Element|null}
+ */
+
+function getClosestFocusable(element) {
+ while (element && !isFocusable(element)) {
+ element = closest(element, selector);
+ }
+
+ return element;
+}
+
+function defaultIsActive(element) {
+ return Object(getActiveElement["a" /* getActiveElement */])(element) === element;
+}
+
+/**
+ * Ensures `element` will receive focus if it's not already.
+ *
+ * @memberof tabbable
+ *
+ * @example
+ * import { ensureFocus } from "reakit-utils";
+ *
+ * ensureFocus(document.activeElement); // does nothing
+ *
+ * const element = document.querySelector("input");
+ *
+ * ensureFocus(element); // focuses element
+ * ensureFocus(element, { preventScroll: true }); // focuses element preventing scroll jump
+ *
+ * function isActive(el) {
+ * return el.dataset.active === "true";
+ * }
+ *
+ * ensureFocus(document.querySelector("[data-active='true']"), { isActive }); // does nothing
+ *
+ * @returns {number} `requestAnimationFrame` call ID so it can be passed to `cancelAnimationFrame` if needed.
+ */
+function ensureFocus(element, _temp) {
+ var _ref = _temp === void 0 ? {} : _temp,
+ _ref$isActive = _ref.isActive,
+ isActive = _ref$isActive === void 0 ? defaultIsActive : _ref$isActive,
+ preventScroll = _ref.preventScroll;
+
+ if (isActive(element)) return -1;
+ element.focus({
+ preventScroll: preventScroll
+ });
+ if (isActive(element)) return -1;
+ return requestAnimationFrame(function () {
+ element.focus({
+ preventScroll: preventScroll
+ });
+ });
+}
+
+
+
+
+/***/ }),
+/* 72 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ isPortalEvent; });
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/contains.js
+/**
+ * Similar to `Element.prototype.contains`.
+ */
+function contains(parent, child) {
+ return parent === child || parent.contains(child);
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/isPortalEvent.js
+
+
+/**
+ * Returns `true` if `event` has been fired within a React Portal element.
+ */
+
+function isPortalEvent(event) {
+ return !contains(event.currentTarget, event.target);
+}
+
+
+
+
+/***/ }),
+/* 73 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Tabbable */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useTabbable; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
+/* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var _Box_Box_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var reakit_utils_useForkRef__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63);
+/* harmony import */ var reakit_utils_isButton__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(70);
+/* harmony import */ var reakit_warning__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(80);
+/* harmony import */ var reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(46);
+/* harmony import */ var reakit_utils_useIsomorphicEffect__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(59);
+/* harmony import */ var reakit_utils_hasFocusWithin__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(69);
+/* harmony import */ var reakit_utils_isPortalEvent__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(72);
+/* harmony import */ var reakit_utils_getActiveElement__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(57);
+/* harmony import */ var reakit_utils_tabbable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(71);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function isUA(string) {
+ if (typeof window === "undefined") return false;
+ return window.navigator.userAgent.indexOf(string) !== -1;
+}
+
+var isSafariOrFirefoxOnMac = isUA("Mac") && !isUA("Chrome") && (isUA("Safari") || isUA("Firefox"));
+
+function focusIfNeeded(element) {
+ if (!Object(reakit_utils_hasFocusWithin__WEBPACK_IMPORTED_MODULE_10__[/* hasFocusWithin */ "a"])(element)) {
+ element.focus();
+ }
+} // Safari and Firefox on MacOS don't focus on buttons on mouse down like other
+// browsers/platforms. Instead, they focus on the closest focusable ancestor
+// element, which is ultimately the body element. So we make sure to give focus
+// to the tabbable element on mouse down so it works consistently across
+// browsers.
+// istanbul ignore next
+
+
+function useFocusOnMouseDown() {
+ if (!isSafariOrFirefoxOnMac) return undefined;
+
+ var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_4__["useState"])(null),
+ tabbable = _React$useState[0],
+ scheduleFocus = _React$useState[1];
+
+ Object(react__WEBPACK_IMPORTED_MODULE_4__["useEffect"])(function () {
+ if (!tabbable) return;
+ focusIfNeeded(tabbable);
+ scheduleFocus(null);
+ }, [tabbable]);
+ var onMouseDown = Object(react__WEBPACK_IMPORTED_MODULE_4__["useCallback"])(function (event) {
+ var element = event.currentTarget;
+ if (Object(reakit_utils_isPortalEvent__WEBPACK_IMPORTED_MODULE_11__[/* isPortalEvent */ "a"])(event)) return;
+ if (!Object(reakit_utils_isButton__WEBPACK_IMPORTED_MODULE_6__[/* isButton */ "a"])(element)) return;
+ var activeElement = Object(reakit_utils_getActiveElement__WEBPACK_IMPORTED_MODULE_12__[/* getActiveElement */ "a"])(element);
+ if (!activeElement) return;
+ var activeElementIsBody = activeElement.tagName === "BODY";
+ var focusableAncestor = Object(reakit_utils_tabbable__WEBPACK_IMPORTED_MODULE_13__[/* getClosestFocusable */ "b"])(element.parentElement);
+
+ if (activeElement === focusableAncestor || activeElementIsBody && !focusableAncestor) {
+ // When the active element is the focusable ancestor, it'll not emit
+ // focus/blur events. After all, it's already focused. So we can't
+ // listen to those events to focus this tabbable element.
+ // When the active element is body and there's no focusable ancestor,
+ // we also don't have any other event to listen to since body never
+ // emits focus/blur events on itself.
+ // In both of these cases, we have to schedule focus on this tabbable
+ // element.
+ scheduleFocus(element);
+ } else if (focusableAncestor) {
+ // Clicking (mouse down) on the tabbable element on Safari and Firefox
+ // on MacOS will fire focus on the focusable ancestor element if
+ // there's any and if it's not the current active element. So we wait
+ // for this event to happen before moving focus to this element.
+ // Instead of moving focus right away, we have to schedule it,
+ // otherwise it's gonna prevent drag events from happening.
+ var onFocus = function onFocus() {
+ return scheduleFocus(element);
+ };
+
+ focusableAncestor.addEventListener("focusin", onFocus, {
+ once: true
+ });
+ } else {
+ // Finally, if there's no focsuable ancestor and there's another
+ // element with focus, we wait for that element to get blurred before
+ // focusing this one.
+ var onBlur = function onBlur() {
+ return focusIfNeeded(element);
+ };
+
+ activeElement.addEventListener("blur", onBlur, {
+ once: true
+ });
+ }
+ }, []);
+ return onMouseDown;
+}
+
+function isNativeTabbable(element) {
+ return element.tagName === "BUTTON" || element.tagName === "INPUT" || element.tagName === "SELECT" || element.tagName === "TEXTAREA" || element.tagName === "A" || element.tagName === "AUDIO" || element.tagName === "VIDEO";
+}
+
+var useTabbable = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__[/* createHook */ "a"])({
+ name: "Tabbable",
+ compose: _Box_Box_js__WEBPACK_IMPORTED_MODULE_3__[/* useBox */ "a"],
+ keys: ["disabled", "focusable"],
+ useOptions: function useOptions(options, _ref) {
+ var disabled = _ref.disabled;
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ disabled: disabled
+ }, options);
+ },
+ useProps: function useProps(options, _ref2) {
+ var htmlRef = _ref2.ref,
+ htmlTabIndex = _ref2.tabIndex,
+ htmlOnClick = _ref2.onClick,
+ htmlOnMouseDown = _ref2.onMouseDown,
+ htmlStyle = _ref2.style,
+ htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_ref2, ["ref", "tabIndex", "onClick", "onMouseDown", "style"]);
+
+ var ref = Object(react__WEBPACK_IMPORTED_MODULE_4__["useRef"])(null);
+ var onClickRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_8__[/* useLiveRef */ "a"])(htmlOnClick);
+ var onMouseDownRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_8__[/* useLiveRef */ "a"])(htmlOnMouseDown);
+ var trulyDisabled = options.disabled && !options.focusable;
+
+ var _React$useState2 = Object(react__WEBPACK_IMPORTED_MODULE_4__["useState"])(true),
+ nativeTabbable = _React$useState2[0],
+ setNativeTabbable = _React$useState2[1];
+
+ var tabIndex = nativeTabbable ? htmlTabIndex : htmlTabIndex || 0;
+ var style = options.disabled ? Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ pointerEvents: "none"
+ }, htmlStyle) : htmlStyle;
+ var focusOnMouseDown = useFocusOnMouseDown();
+ Object(reakit_utils_useIsomorphicEffect__WEBPACK_IMPORTED_MODULE_9__[/* useIsomorphicEffect */ "a"])(function () {
+ var tabbable = ref.current;
+
+ if (!tabbable) {
+ false ? undefined : void 0;
+ return;
+ }
+
+ if (!isNativeTabbable(tabbable)) {
+ setNativeTabbable(false);
+ }
+ }, []);
+ var onClick = Object(react__WEBPACK_IMPORTED_MODULE_4__["useCallback"])(function (event) {
+ var _onClickRef$current;
+
+ if (options.disabled) {
+ event.stopPropagation();
+ event.preventDefault();
+ return;
+ }
+
+ (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);
+ }, [options.disabled]);
+ var onMouseDown = Object(react__WEBPACK_IMPORTED_MODULE_4__["useCallback"])(function (event) {
+ var _onMouseDownRef$curre;
+
+ if (options.disabled) {
+ event.stopPropagation();
+ event.preventDefault();
+ return;
+ }
+
+ (_onMouseDownRef$curre = onMouseDownRef.current) === null || _onMouseDownRef$curre === void 0 ? void 0 : _onMouseDownRef$curre.call(onMouseDownRef, event);
+ if (event.defaultPrevented) return;
+ focusOnMouseDown === null || focusOnMouseDown === void 0 ? void 0 : focusOnMouseDown(event);
+ }, [options.disabled, focusOnMouseDown]);
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ ref: Object(reakit_utils_useForkRef__WEBPACK_IMPORTED_MODULE_5__[/* useForkRef */ "a"])(ref, htmlRef),
+ style: style,
+ tabIndex: !trulyDisabled ? tabIndex : undefined,
+ disabled: trulyDisabled && nativeTabbable ? true : undefined,
+ "aria-disabled": options.disabled ? true : undefined,
+ onClick: onClick,
+ onMouseDown: onMouseDown
+ }, htmlProps);
+ }
+});
+var Tabbable = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__[/* createComponent */ "a"])({
+ as: "div",
+ useHook: useTabbable
+});
+
+
+
+
+/***/ }),
+/* 74 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SystemContext; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+
+
+var SystemContext = /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["createContext"])({});
+
+
+
+
+/***/ }),
+/* 75 */,
+/* 76 */,
+/* 77 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var DISPLAY_FORMAT = exports.DISPLAY_FORMAT = 'L';
+var ISO_FORMAT = exports.ISO_FORMAT = 'YYYY-MM-DD';
+var ISO_MONTH_FORMAT = exports.ISO_MONTH_FORMAT = 'YYYY-MM';
+
+var START_DATE = exports.START_DATE = 'startDate';
+var END_DATE = exports.END_DATE = 'endDate';
+
+var HORIZONTAL_ORIENTATION = exports.HORIZONTAL_ORIENTATION = 'horizontal';
+var VERTICAL_ORIENTATION = exports.VERTICAL_ORIENTATION = 'vertical';
+var VERTICAL_SCROLLABLE = exports.VERTICAL_SCROLLABLE = 'verticalScrollable';
+
+var ICON_BEFORE_POSITION = exports.ICON_BEFORE_POSITION = 'before';
+var ICON_AFTER_POSITION = exports.ICON_AFTER_POSITION = 'after';
+
+var INFO_POSITION_TOP = exports.INFO_POSITION_TOP = 'top';
+var INFO_POSITION_BOTTOM = exports.INFO_POSITION_BOTTOM = 'bottom';
+var INFO_POSITION_BEFORE = exports.INFO_POSITION_BEFORE = 'before';
+var INFO_POSITION_AFTER = exports.INFO_POSITION_AFTER = 'after';
+
+var ANCHOR_LEFT = exports.ANCHOR_LEFT = 'left';
+var ANCHOR_RIGHT = exports.ANCHOR_RIGHT = 'right';
+
+var OPEN_DOWN = exports.OPEN_DOWN = 'down';
+var OPEN_UP = exports.OPEN_UP = 'up';
+
+var DAY_SIZE = exports.DAY_SIZE = 39;
+var BLOCKED_MODIFIER = exports.BLOCKED_MODIFIER = 'blocked';
+var WEEKDAYS = exports.WEEKDAYS = [0, 1, 2, 3, 4, 5, 6];
+
+var FANG_WIDTH_PX = exports.FANG_WIDTH_PX = 20;
+var FANG_HEIGHT_PX = exports.FANG_HEIGHT_PX = 10;
+var DEFAULT_VERTICAL_SPACING = exports.DEFAULT_VERTICAL_SPACING = 22;
+
+var MODIFIER_KEY_NAMES = exports.MODIFIER_KEY_NAMES = new Set(['Shift', 'Control', 'Alt', 'Meta']);
+
+/***/ }),
+/* 78 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useCreateElement; });
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _SystemContext_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(74);
+/* harmony import */ var _rollupPluginBabelHelpers_0c84a174_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(55);
+
+
+
+
+function isRenderProp(children) {
+ return typeof children === "function";
+}
+
+/**
+ * Custom hook that will call `children` if it's a function. If
+ * `useCreateElement` has been passed to the context, it'll be used instead.
+ *
+ * @example
+ * import React from "react";
+ * import { SystemProvider, useCreateElement } from "reakit-system";
+ *
+ * const system = {
+ * useCreateElement(type, props, children = props.children) {
+ * // very similar to what `useCreateElement` does already
+ * if (typeof children === "function") {
+ * const { children: _, ...rest } = props;
+ * return children(rest);
+ * }
+ * return React.createElement(type, props, children);
+ * },
+ * };
+ *
+ * function Component(props) {
+ * return useCreateElement("div", props);
+ * }
+ *
+ * function App() {
+ * return (
+ *
+ * {({ url }) => link}
+ *
+ * );
+ * }
+ */
+
+var useCreateElement = function useCreateElement(type, props, children) {
+ if (children === void 0) {
+ children = props.children;
+ }
+
+ var context = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_SystemContext_js__WEBPACK_IMPORTED_MODULE_1__[/* SystemContext */ "a"]);
+
+ if (context.useCreateElement) {
+ return context.useCreateElement(type, props, children);
+ }
+
+ if (typeof type === "string" && isRenderProp(children)) {
+ var _ = props.children,
+ rest = Object(_rollupPluginBabelHelpers_0c84a174_js__WEBPACK_IMPORTED_MODULE_2__[/* a */ "b"])(props, ["children"]);
+
+ return children(rest);
+ }
+
+ return /*#__PURE__*/Object(react__WEBPACK_IMPORTED_MODULE_0__["createElement"])(type, props, children);
+};
+
+
+
+
+/***/ }),
+/* 79 */,
+/* 80 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// UNUSED EXPORTS: warning, useWarning
+
+// EXTERNAL MODULE: ./node_modules/reakit-warning/es/warning.js
+var warning = __webpack_require__(106);
+
+// EXTERNAL MODULE: external {"this":"React"}
+var external_this_React_ = __webpack_require__(13);
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/isObject.js
+/**
+ * Checks whether `arg` is an object or not.
+ *
+ * @returns {boolean}
+ */
+function isObject(arg) {
+ return typeof arg === "object" && arg != null;
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-warning/es/useWarning.js
+
+
+
+
+
+function isRefObject(ref) {
+ return isObject(ref) && "current" in ref;
+}
+/**
+ * Logs `messages` to the console using `console.warn` based on a `condition`.
+ * This should be used inside components.
+ */
+
+
+function useWarning(condition) {
+ for (var _len = arguments.length, messages = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ messages[_key - 1] = arguments[_key];
+ }
+
+ if (false) {}
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-warning/es/index.js
+
+
+
+
+
+
+
+/***/ }),
+/* 81 */,
+/* 82 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createOnKeyDown; });
+/**
+ * Returns an `onKeyDown` handler to be passed to a component.
+ *
+ * @param options
+ */
+function createOnKeyDown(_temp) {
+ var _ref = _temp === void 0 ? {} : _temp,
+ keyMap = _ref.keyMap,
+ onKey = _ref.onKey,
+ stopPropagation = _ref.stopPropagation,
+ onKeyDown = _ref.onKeyDown,
+ _ref$shouldKeyDown = _ref.shouldKeyDown,
+ shouldKeyDown = _ref$shouldKeyDown === void 0 ? function () {
+ return true;
+ } : _ref$shouldKeyDown,
+ _ref$preventDefault = _ref.preventDefault,
+ preventDefault = _ref$preventDefault === void 0 ? true : _ref$preventDefault;
+
+ return function (event) {
+ if (!keyMap) return;
+ var finalKeyMap = typeof keyMap === "function" ? keyMap(event) : keyMap;
+ var shouldPreventDefault = typeof preventDefault === "function" ? preventDefault(event) : preventDefault;
+ var shouldStopPropagation = typeof stopPropagation === "function" ? stopPropagation(event) : stopPropagation;
+
+ if (event.key in finalKeyMap) {
+ var action = finalKeyMap[event.key];
+
+ if (typeof action === "function" && shouldKeyDown(event)) {
+ if (shouldPreventDefault) event.preventDefault();
+ if (shouldStopPropagation) event.stopPropagation();
+ if (onKey) onKey(event);
+ action(event); // Prevent onKeyDown from being called twice for the same keys
+
+ return;
+ }
+ }
+
+ if (onKeyDown && "current" in onKeyDown) {
+ var _onKeyDown$current;
+
+ (_onKeyDown$current = onKeyDown.current) === null || _onKeyDown$current === void 0 ? void 0 : _onKeyDown$current.call(onKeyDown, event);
+ } else {
+ onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(event);
+ }
+ };
+}
+
+
+
+
+/***/ }),
+/* 83 */,
+/* 84 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export Clickable */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useClickable; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
+/* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var reakit_utils_isButton__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(70);
+/* harmony import */ var reakit_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80);
+/* harmony import */ var reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46);
+/* harmony import */ var reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(53);
+/* harmony import */ var _Tabbable_Tabbable_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(73);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function isNativeClick(event) {
+ var element = event.currentTarget;
+ if (!event.isTrusted) return false; // istanbul ignore next: can't test trusted events yet
+
+ return Object(reakit_utils_isButton__WEBPACK_IMPORTED_MODULE_4__[/* isButton */ "a"])(element) || element.tagName === "INPUT" || element.tagName === "TEXTAREA" || element.tagName === "A" || element.tagName === "SELECT";
+}
+
+var useClickable = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__[/* createHook */ "a"])({
+ name: "Clickable",
+ compose: _Tabbable_Tabbable_js__WEBPACK_IMPORTED_MODULE_8__[/* useTabbable */ "a"],
+ keys: ["unstable_clickOnEnter", "unstable_clickOnSpace"],
+ useOptions: function useOptions(_ref) {
+ var _ref$unstable_clickOn = _ref.unstable_clickOnEnter,
+ unstable_clickOnEnter = _ref$unstable_clickOn === void 0 ? true : _ref$unstable_clickOn,
+ _ref$unstable_clickOn2 = _ref.unstable_clickOnSpace,
+ unstable_clickOnSpace = _ref$unstable_clickOn2 === void 0 ? true : _ref$unstable_clickOn2,
+ options = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_ref, ["unstable_clickOnEnter", "unstable_clickOnSpace"]);
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ unstable_clickOnEnter: unstable_clickOnEnter,
+ unstable_clickOnSpace: unstable_clickOnSpace
+ }, options);
+ },
+ useProps: function useProps(options, _ref2) {
+ var htmlOnKeyDown = _ref2.onKeyDown,
+ htmlOnKeyUp = _ref2.onKeyUp,
+ htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_ref2, ["onKeyDown", "onKeyUp"]);
+
+ var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_3__["useState"])(false),
+ active = _React$useState[0],
+ setActive = _React$useState[1];
+
+ var onKeyDownRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(htmlOnKeyDown);
+ var onKeyUpRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(htmlOnKeyUp);
+ var onKeyDown = Object(react__WEBPACK_IMPORTED_MODULE_3__["useCallback"])(function (event) {
+ var _onKeyDownRef$current;
+
+ (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);
+ if (event.defaultPrevented) return;
+ if (options.disabled) return;
+ if (event.metaKey) return;
+ if (!Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__[/* isSelfTarget */ "a"])(event)) return;
+ var isEnter = options.unstable_clickOnEnter && event.key === "Enter";
+ var isSpace = options.unstable_clickOnSpace && event.key === " ";
+
+ if (isEnter || isSpace) {
+ if (isNativeClick(event)) return;
+ event.preventDefault();
+
+ if (isEnter) {
+ event.currentTarget.click();
+ } else if (isSpace) {
+ setActive(true);
+ }
+ }
+ }, [options.disabled, options.unstable_clickOnEnter, options.unstable_clickOnSpace]);
+ var onKeyUp = Object(react__WEBPACK_IMPORTED_MODULE_3__["useCallback"])(function (event) {
+ var _onKeyUpRef$current;
+
+ (_onKeyUpRef$current = onKeyUpRef.current) === null || _onKeyUpRef$current === void 0 ? void 0 : _onKeyUpRef$current.call(onKeyUpRef, event);
+ if (event.defaultPrevented) return;
+ if (options.disabled) return;
+ if (event.metaKey) return;
+ var isSpace = options.unstable_clickOnSpace && event.key === " ";
+
+ if (active && isSpace) {
+ setActive(false);
+ event.currentTarget.click();
+ }
+ }, [options.disabled, options.unstable_clickOnSpace, active]);
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ "data-active": active || undefined,
+ onKeyDown: onKeyDown,
+ onKeyUp: onKeyUp
+ }, htmlProps);
+ }
+});
+var Clickable = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__[/* createComponent */ "a"])({
+ as: "button",
+ memo: true,
+ useHook: useClickable
+});
+
+
+
+
+/***/ }),
+/* 85 */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = true ? __webpack_require__(356) : undefined;
+
+
+
+/***/ }),
+/* 86 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _popover__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(112);
+/* harmony import */ var _shortcut__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(166);
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Time over children to wait before showing tooltip
+ *
+ * @type {number}
+ */
+
+var TOOLTIP_DELAY = 700;
+
+var Tooltip = /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(Tooltip, _Component);
+
+ var _super = _createSuper(Tooltip);
+
+ function Tooltip() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(this, Tooltip);
+
+ _this = _super.apply(this, arguments);
+ _this.delayedSetIsOver = Object(lodash__WEBPACK_IMPORTED_MODULE_6__["debounce"])(function (isOver) {
+ return _this.setState({
+ isOver: isOver
+ });
+ }, TOOLTIP_DELAY);
+ /**
+ * Prebound `isInMouseDown` handler, created as a constant reference to
+ * assure ability to remove in component unmount.
+ *
+ * @type {Function}
+ */
+
+ _this.cancelIsMouseDown = _this.createSetIsMouseDown(false);
+ /**
+ * Whether a the mouse is currently pressed, used in determining whether
+ * to handle a focus event as displaying the tooltip immediately.
+ *
+ * @type {boolean}
+ */
+
+ _this.isInMouseDown = false;
+ _this.state = {
+ isOver: false
+ };
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(Tooltip, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.delayedSetIsOver.cancel();
+ document.removeEventListener('mouseup', this.cancelIsMouseDown);
+ }
+ }, {
+ key: "emitToChild",
+ value: function emitToChild(eventName, event) {
+ var children = this.props.children;
+
+ if (_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].count(children) !== 1) {
+ return;
+ }
+
+ var child = _wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].only(children);
+
+ if (typeof child.props[eventName] === 'function') {
+ child.props[eventName](event);
+ }
+ }
+ }, {
+ key: "createToggleIsOver",
+ value: function createToggleIsOver(eventName, isDelayed) {
+ var _this2 = this;
+
+ return function (event) {
+ // Preserve original child callback behavior
+ _this2.emitToChild(eventName, event); // Mouse events behave unreliably in React for disabled elements,
+ // firing on mouseenter but not mouseleave. Further, the default
+ // behavior for disabled elements in some browsers is to ignore
+ // mouse events. Don't bother trying to to handle them.
+ //
+ // See: https://github.com/facebook/react/issues/4251
+
+
+ if (event.currentTarget.disabled) {
+ return;
+ } // A focus event will occur as a result of a mouse click, but it
+ // should be disambiguated between interacting with the button and
+ // using an explicit focus shift as a cue to display the tooltip.
+
+
+ if ('focus' === event.type && _this2.isInMouseDown) {
+ return;
+ } // Needed in case unsetting is over while delayed set pending, i.e.
+ // quickly blur/mouseleave before delayedSetIsOver is called
+
+
+ _this2.delayedSetIsOver.cancel();
+
+ var isOver = Object(lodash__WEBPACK_IMPORTED_MODULE_6__["includes"])(['focus', 'mouseenter'], event.type);
+
+ if (isOver === _this2.state.isOver) {
+ return;
+ }
+
+ if (isDelayed) {
+ _this2.delayedSetIsOver(isOver);
+ } else {
+ _this2.setState({
+ isOver: isOver
+ });
+ }
+ };
+ }
+ /**
+ * Creates an event callback to handle assignment of the `isInMouseDown`
+ * instance property in response to a `mousedown` or `mouseup` event.
+ *
+ * @param {boolean} isMouseDown Whether handler is to be created for the
+ * `mousedown` event, as opposed to `mouseup`.
+ *
+ * @return {Function} Event callback handler.
+ */
+
+ }, {
+ key: "createSetIsMouseDown",
+ value: function createSetIsMouseDown(isMouseDown) {
+ var _this3 = this;
+
+ return function (event) {
+ // Preserve original child callback behavior
+ _this3.emitToChild(isMouseDown ? 'onMouseDown' : 'onMouseUp', event); // On mouse down, the next `mouseup` should revert the value of the
+ // instance property and remove its own event handler. The bind is
+ // made on the document since the `mouseup` might not occur within
+ // the bounds of the element.
+
+
+ document[isMouseDown ? 'addEventListener' : 'removeEventListener']('mouseup', _this3.cancelIsMouseDown);
+ _this3.isInMouseDown = isMouseDown;
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props = this.props,
+ children = _this$props.children,
+ position = _this$props.position,
+ text = _this$props.text,
+ shortcut = _this$props.shortcut;
+
+ if (_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].count(children) !== 1) {
+ if (false) {}
+
+ return children;
+ }
+
+ var child = _wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Children"].only(children);
+ var isOver = this.state.isOver;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["cloneElement"])(child, {
+ onMouseEnter: this.createToggleIsOver('onMouseEnter', true),
+ onMouseLeave: this.createToggleIsOver('onMouseLeave'),
+ onClick: this.createToggleIsOver('onClick'),
+ onFocus: this.createToggleIsOver('onFocus'),
+ onBlur: this.createToggleIsOver('onBlur'),
+ onMouseDown: this.createSetIsMouseDown(true),
+ children: Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["concatChildren"])(child.props.children, isOver && Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_popover__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], {
+ focusOnMount: false,
+ position: position,
+ className: "components-tooltip",
+ "aria-hidden": "true",
+ animate: false,
+ noArrow: true
+ }, text, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["createElement"])(_shortcut__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"], {
+ className: "components-tooltip__shortcut",
+ shortcut: shortcut
+ })))
+ });
+ }
+ }]);
+
+ return Tooltip;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+
+/* harmony default export */ __webpack_exports__["a"] = (Tooltip);
+
+
+/***/ }),
+/* 87 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/**
+ * WordPress dependencies
+ */
+
+var ToolbarContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])();
+/* harmony default export */ __webpack_exports__["a"] = (ToolbarContext);
+
+
+/***/ }),
+/* 88 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _dashicon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(148);
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function Icon(_ref) {
+ var _ref$icon = _ref.icon,
+ icon = _ref$icon === void 0 ? null : _ref$icon,
+ size = _ref.size,
+ additionalProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["icon", "size"]);
+
+ // Dashicons should be 20x20 by default.
+ var dashiconSize = size || 20;
+
+ if ('string' === typeof icon) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])({
+ icon: icon,
+ size: dashiconSize
+ }, additionalProps));
+ }
+
+ if (icon && _dashicon__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"] === icon.type) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["cloneElement"])(icon, _objectSpread({
+ size: dashiconSize
+ }, additionalProps));
+ } // Icons should be 24x24 by default.
+
+
+ var iconSize = size || 24;
+
+ if ('function' === typeof icon) {
+ if (icon.prototype instanceof _wordpress_element__WEBPACK_IMPORTED_MODULE_3__["Component"]) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(icon, _objectSpread({
+ size: iconSize
+ }, additionalProps));
+ }
+
+ return icon(_objectSpread({
+ size: iconSize
+ }, additionalProps));
+ }
+
+ if (icon && (icon.type === 'svg' || icon.type === _wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__["SVG"])) {
+ var appliedProps = _objectSpread({
+ width: iconSize,
+ height: iconSize
+ }, icon.props, {}, additionalProps);
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_4__["SVG"], appliedProps);
+ }
+
+ if (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["isValidElement"])(icon)) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["cloneElement"])(icon, _objectSpread({
+ size: iconSize
+ }, additionalProps));
+ }
+
+ return icon;
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Icon);
+
+
+/***/ }),
+/* 89 */,
+/* 90 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var ES5Type = __webpack_require__(317);
+
+// https://ecma-international.org/ecma-262/6.0/#sec-ecmascript-data-types-and-values
+
+module.exports = function Type(x) {
+ if (typeof x === 'symbol') {
+ return 'Symbol';
+ }
+ return ES5Type(x);
+};
+
+
+/***/ }),
+/* 91 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var bind = __webpack_require__(118);
+
+module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
+
+
+/***/ }),
+/* 92 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var defineProperties = __webpack_require__(101);
+
+var implementation = __webpack_require__(226);
+var getPolyfill = __webpack_require__(227);
+var shim = __webpack_require__(353);
var polyfill = getPolyfill();
@@ -1886,7 +5579,334 @@
/***/ }),
-/* 47 */
+/* 93 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export unstable_Id */
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return unstable_useId; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
+/* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _IdProvider_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(68);
+/* harmony import */ var _IdState_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(65);
+
+
+
+
+
+
+
+
+var unstable_useId = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__[/* createHook */ "a"])({
+ useState: _IdState_js__WEBPACK_IMPORTED_MODULE_5__[/* unstable_useIdState */ "a"],
+ keys: ["id"],
+ useOptions: function useOptions(options, htmlProps) {
+ var generateId = Object(react__WEBPACK_IMPORTED_MODULE_3__["useContext"])(_IdProvider_js__WEBPACK_IMPORTED_MODULE_4__[/* unstable_IdContext */ "a"]);
+
+ var _React$useState = Object(react__WEBPACK_IMPORTED_MODULE_3__["useState"])(function () {
+ // This comes from useIdState
+ if (options.unstable_idCountRef) {
+ options.unstable_idCountRef.current += 1;
+ return "-" + options.unstable_idCountRef.current;
+ } // If there's no useIdState, we check if `baseId` was passed (as a prop,
+ // not from useIdState).
+
+
+ if (options.baseId) {
+ return "-" + generateId("");
+ }
+
+ return "";
+ }),
+ suffix = _React$useState[0]; // `baseId` will be the prop passed directly as a prop or via useIdState.
+ // If there's neither, then it'll fallback to Context's generateId.
+ // This generateId can result in a sequential ID (if there's a Provider)
+ // or a random string (without Provider).
+
+
+ var baseId = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () {
+ return options.baseId || generateId();
+ }, [options.baseId, generateId]);
+ var id = htmlProps.id || options.id || "" + baseId + suffix;
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, options), {}, {
+ id: id
+ });
+ },
+ useProps: function useProps(options, htmlProps) {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ id: options.id
+ }, htmlProps);
+ }
+});
+var unstable_Id = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__[/* createComponent */ "a"])({
+ as: "div",
+ useHook: unstable_useId
+});
+
+
+
+
+/***/ }),
+/* 94 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return fireEvent; });
+/* harmony import */ var _createEvent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(122);
+
+
+
+/**
+ * Creates and dispatches `Event` in a way that also works on IE 11.
+ *
+ * @example
+ * import { fireEvent } from "reakit-utils";
+ *
+ * fireEvent(document.getElementById("id"), "blur", {
+ * bubbles: true,
+ * cancelable: true,
+ * });
+ */
+
+function fireEvent(element, type, eventInit) {
+ return element.dispatchEvent(Object(_createEvent_js__WEBPACK_IMPORTED_MODULE_0__[/* createEvent */ "a"])(element, type, eventInit));
+}
+
+
+
+
+/***/ }),
+/* 95 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isTextField; });
+/**
+ * Check whether the given element is a text field, where text field is defined
+ * by the ability to select within the input, or that it is contenteditable.
+ */
+function isTextField(element) {
+ try {
+ var isTextInput = element instanceof HTMLInputElement && element.selectionStart !== null;
+ var isTextArea = element.tagName === "TEXTAREA";
+ var isContentEditable = element.contentEditable === "true";
+ return isTextInput || isTextArea || isContentEditable || false;
+ } catch (error) {
+ // Safari throws an exception when trying to get `selectionStart`
+ // on non-text elements (which, understandably, don't
+ // have the text selection API). We catch this via a try/catch
+ // block, as opposed to a more explicit check of the element's
+ // input types, because of Safari's non-standard behavior. This
+ // also means we don't have to worry about the list of input
+ // types that support `selectionStart` changing as the HTML spec
+ // evolves over time.
+ return false;
+ }
+}
+
+
+
+
+/***/ }),
+/* 96 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return setTextFieldValue; });
+function setTextFieldValue(element, value) {
+ element.value = value;
+}
+
+
+
+
+/***/ }),
+/* 97 */,
+/* 98 */,
+/* 99 */,
+/* 100 */,
+/* 101 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var keys = __webpack_require__(181);
+var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
+
+var toStr = Object.prototype.toString;
+var concat = Array.prototype.concat;
+var origDefineProperty = Object.defineProperty;
+
+var isFunction = function (fn) {
+ return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
+};
+
+var arePropertyDescriptorsSupported = function () {
+ var obj = {};
+ try {
+ origDefineProperty(obj, 'x', { enumerable: false, value: obj });
+ // eslint-disable-next-line no-unused-vars, no-restricted-syntax
+ for (var _ in obj) { // jscs:ignore disallowUnusedVariables
+ return false;
+ }
+ return obj.x === obj;
+ } catch (e) { /* this is IE 8. */
+ return false;
+ }
+};
+var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
+
+var defineProperty = function (object, name, value, predicate) {
+ if (name in object && (!isFunction(predicate) || !predicate())) {
+ return;
+ }
+ if (supportsDescriptors) {
+ origDefineProperty(object, name, {
+ configurable: true,
+ enumerable: false,
+ value: value,
+ writable: true
+ });
+ } else {
+ object[name] = value;
+ }
+};
+
+var defineProperties = function (object, map) {
+ var predicates = arguments.length > 2 ? arguments[2] : {};
+ var props = keys(map);
+ if (hasSymbols) {
+ props = concat.call(props, Object.getOwnPropertySymbols(map));
+ }
+ for (var i = 0; i < props.length; i += 1) {
+ defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
+ }
+};
+
+defineProperties.supportsDescriptors = !!supportsDescriptors;
+
+module.exports = defineProperties;
+
+
+/***/ }),
+/* 102 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ fireKeyboardEvent; });
+
+// EXTERNAL MODULE: ./node_modules/reakit-utils/es/getDocument.js
+var getDocument = __webpack_require__(47);
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/getDefaultView.js
+
+
+/**
+ * Returns `element.ownerDocument.defaultView || window`.
+ */
+
+function getDefaultView(element) {
+ return Object(getDocument["a" /* getDocument */])(element).defaultView || window;
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/createKeyboardEvent.js
+
+
+
+/**
+ * Creates a `KeyboardEvent` in a way that also works on IE 11.
+ *
+ * @example
+ * import { createKeyboardEvent } from "reakit-utils";
+ *
+ * const el = document.getElementById("id");
+ * el.dispatchEvent(createKeyboardEvent(el, "keydown", { key: "ArrowDown" }));
+ */
+
+function createKeyboardEvent(element, type, eventInit) {
+ if (eventInit === void 0) {
+ eventInit = {};
+ }
+
+ if (typeof KeyboardEvent === "function") {
+ return new KeyboardEvent(type, eventInit);
+ } // IE 11 doesn't support Event constructors
+
+
+ var event = Object(getDocument["a" /* getDocument */])(element).createEvent("KeyboardEvent");
+ event.initKeyboardEvent(type, eventInit.bubbles, eventInit.cancelable, getDefaultView(element), eventInit.key, eventInit.location, eventInit.ctrlKey, eventInit.altKey, eventInit.shiftKey, eventInit.metaKey);
+ return event;
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/reakit-utils/es/fireKeyboardEvent.js
+
+
+
+
+/**
+ * Creates and dispatches `KeyboardEvent` in a way that also works on IE 11.
+ *
+ * @example
+ * import { fireKeyboardEvent } from "reakit-utils";
+ *
+ * fireKeyboardEvent(document.getElementById("id"), "keydown", {
+ * key: "ArrowDown",
+ * shiftKey: true,
+ * });
+ */
+
+function fireKeyboardEvent(element, type, eventInit) {
+ return element.dispatchEvent(createKeyboardEvent(element, type, eventInit));
+}
+
+
+
+
+/***/ }),
+/* 103 */,
+/* 104 */
+/***/ (function(module, exports) {
+
+(function() { module.exports = this["wp"]["warning"]; }());
+
+/***/ }),
+/* 105 */,
+/* 106 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export warning */
+
+
+/**
+ * Logs `messages` to the console using `console.warn` based on a `condition`.
+ *
+ * @example
+ * import { warning } from "reakit-warning";
+ *
+ * warning(true, "a", "b"); // console.warn("a", "\n", "b")
+ * warning(false, "a", "b"); // does nothing
+ */
+
+function warning(condition) {
+ if (false) { var warns, _len, messages, _key, _console; }
+}
+
+
+
+
+/***/ }),
+/* 107 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2105,15 +6125,7 @@
};
/***/ }),
-/* 48 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["wp"]["a11y"]; }());
-
-/***/ }),
-/* 49 */,
-/* 50 */,
-/* 51 */
+/* 108 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2124,11 +6136,11 @@
});
exports['default'] = getPhrasePropTypes;
-var _object = __webpack_require__(46);
+var _object = __webpack_require__(92);
var _object2 = _interopRequireDefault(_object);
-var _propTypes = __webpack_require__(31);
+var _propTypes = __webpack_require__(28);
var _propTypes2 = _interopRequireDefault(_propTypes);
@@ -2143,17 +6155,11 @@
}
/***/ }),
-/* 52 */
-/***/ (function(module, exports) {
-
-(function() { module.exports = this["ReactDOM"]; }());
-
-/***/ }),
-/* 53 */,
-/* 54 */,
-/* 55 */,
-/* 56 */
-/***/ (function(module, exports, __webpack_require__) {
+/* 109 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
Object.defineProperty(exports, "__esModule", {
value: true
@@ -2166,29 +6172,29 @@
exports.withStyles = withStyles;
-var _react = __webpack_require__(27);
+var _object = __webpack_require__(92);
+
+var _object2 = _interopRequireDefault(_object);
+
+var _react = __webpack_require__(13);
var _react2 = _interopRequireDefault(_react);
-var _propTypes = __webpack_require__(31);
+var _propTypes = __webpack_require__(28);
var _propTypes2 = _interopRequireDefault(_propTypes);
-var _hoistNonReactStatics = __webpack_require__(140);
+var _hoistNonReactStatics = __webpack_require__(370);
var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);
-var _deepmerge = __webpack_require__(291);
-
-var _deepmerge2 = _interopRequireDefault(_deepmerge);
-
-var _constants = __webpack_require__(292);
-
-var _brcast = __webpack_require__(293);
+var _constants = __webpack_require__(373);
+
+var _brcast = __webpack_require__(374);
var _brcast2 = _interopRequireDefault(_brcast);
-var _ThemedStyleSheet = __webpack_require__(153);
+var _ThemedStyleSheet = __webpack_require__(224);
var _ThemedStyleSheet2 = _interopRequireDefault(_ThemedStyleSheet);
@@ -2200,7 +6206,7 @@
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; }
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /* eslint react/forbid-foreign-prop-types: off */
// Add some named exports to assist in upgrading and for convenience
var css = exports.css = _ThemedStyleSheet2['default'].resolveLTR;
@@ -2215,6 +6221,9 @@
return EMPTY_STYLES;
};
+var START_MARK = 'react-with-styles.createStyles.start';
+var END_MARK = 'react-with-styles.createStyles.end';
+
function baseClass(pureComponent) {
if (pureComponent) {
if (!_react2['default'].PureComponent) {
@@ -2287,7 +6296,7 @@
styleDef = styleDefLTR;
}
- if (false) {}
+ if (false) { var measureName; }
return styleDef;
}
@@ -2383,13 +6392,13 @@
WithStyles.displayName = 'withStyles(' + String(wrappedComponentName) + ')';
WithStyles.contextTypes = contextTypes;
if (WrappedComponent.propTypes) {
- WithStyles.propTypes = (0, _deepmerge2['default'])({}, WrappedComponent.propTypes);
+ WithStyles.propTypes = (0, _object2['default'])({}, WrappedComponent.propTypes);
delete WithStyles.propTypes[stylesPropName];
delete WithStyles.propTypes[themePropName];
delete WithStyles.propTypes[cssPropName];
}
if (WrappedComponent.defaultProps) {
- WithStyles.defaultProps = (0, _deepmerge2['default'])({}, WrappedComponent.defaultProps);
+ WithStyles.defaultProps = (0, _object2['default'])({}, WrappedComponent.defaultProps);
}
return (0, _hoistNonReactStatics2['default'])(WithStyles, WrappedComponent);
@@ -2400,9 +6409,5414 @@
}
/***/ }),
-/* 57 */,
-/* 58 */,
-/* 59 */
+/* 110 */,
+/* 111 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Input types which are classified as button types, for use in considering
+ * whether element is a (focus-normalized) button.
+ *
+ * @type {string[]}
+ */
+
+var INPUT_BUTTON_TYPES = ['button', 'submit'];
+/**
+ * Returns true if the given element is a button element subject to focus
+ * normalization, or false otherwise.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
+ *
+ * @param {Element} element Element to test.
+ *
+ * @return {boolean} Whether element is a button.
+ */
+
+function isFocusNormalizedButton(element) {
+ switch (element.nodeName) {
+ case 'A':
+ case 'BUTTON':
+ return true;
+
+ case 'INPUT':
+ return Object(lodash__WEBPACK_IMPORTED_MODULE_8__["includes"])(INPUT_BUTTON_TYPES, element.type);
+ }
+
+ return false;
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_9__["createHigherOrderComponent"])(function (WrappedComponent) {
+ return /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(_class, _Component);
+
+ var _super = _createSuper(_class);
+
+ function _class() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, _class);
+
+ _this = _super.apply(this, arguments);
+ _this.bindNode = _this.bindNode.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(_this));
+ _this.cancelBlurCheck = _this.cancelBlurCheck.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(_this));
+ _this.queueBlurCheck = _this.queueBlurCheck.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(_this));
+ _this.normalizeButtonFocus = _this.normalizeButtonFocus.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(_this));
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_class, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.cancelBlurCheck();
+ }
+ }, {
+ key: "bindNode",
+ value: function bindNode(node) {
+ if (node) {
+ this.node = node;
+ } else {
+ delete this.node;
+ this.cancelBlurCheck();
+ }
+ }
+ }, {
+ key: "queueBlurCheck",
+ value: function queueBlurCheck(event) {
+ var _this2 = this;
+
+ // React does not allow using an event reference asynchronously
+ // due to recycling behavior, except when explicitly persisted.
+ event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
+
+ if (this.preventBlurCheck) {
+ return;
+ }
+
+ this.blurCheckTimeout = setTimeout(function () {
+ // If document is not focused then focus should remain
+ // inside the wrapped component and therefore we cancel
+ // this blur event thereby leaving focus in place.
+ // https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus.
+ if (!document.hasFocus()) {
+ event.preventDefault();
+ return;
+ }
+
+ if ('function' === typeof _this2.node.handleFocusOutside) {
+ _this2.node.handleFocusOutside(event);
+ }
+ }, 0);
+ }
+ }, {
+ key: "cancelBlurCheck",
+ value: function cancelBlurCheck() {
+ clearTimeout(this.blurCheckTimeout);
+ }
+ /**
+ * Handles a mousedown or mouseup event to respectively assign and
+ * unassign a flag for preventing blur check on button elements. Some
+ * browsers, namely Firefox and Safari, do not emit a focus event on
+ * button elements when clicked, while others do. The logic here
+ * intends to normalize this as treating click on buttons as focus.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
+ *
+ * @param {MouseEvent} event Event for mousedown or mouseup.
+ */
+
+ }, {
+ key: "normalizeButtonFocus",
+ value: function normalizeButtonFocus(event) {
+ var type = event.type,
+ target = event.target;
+ var isInteractionEnd = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["includes"])(['mouseup', 'touchend'], type);
+
+ if (isInteractionEnd) {
+ this.preventBlurCheck = false;
+ } else if (isFocusNormalizedButton(target)) {
+ this.preventBlurCheck = true;
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ // Disable reason: See `normalizeButtonFocus` for browser-specific
+ // focus event normalization.
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])("div", {
+ onFocus: this.cancelBlurCheck,
+ onMouseDown: this.normalizeButtonFocus,
+ onMouseUp: this.normalizeButtonFocus,
+ onTouchStart: this.normalizeButtonFocus,
+ onTouchEnd: this.normalizeButtonFocus,
+ onBlur: this.queueBlurCheck
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
+ ref: this.bindNode
+ }, this.props)));
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+ }
+ }]);
+
+ return _class;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"]);
+}, 'withFocusOutside'));
+
+
+/***/ }),
+/* 112 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
+var slicedToArray = __webpack_require__(14);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(15);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(11);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: external {"this":["wp","dom"]}
+var external_this_wp_dom_ = __webpack_require__(30);
+
+// EXTERNAL MODULE: external {"this":["wp","keycodes"]}
+var external_this_wp_keycodes_ = __webpack_require__(21);
+
+// EXTERNAL MODULE: external {"this":["wp","deprecated"]}
+var external_this_wp_deprecated_ = __webpack_require__(37);
+var external_this_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_deprecated_);
+
+// EXTERNAL MODULE: external {"this":["wp","compose"]}
+var external_this_wp_compose_ = __webpack_require__(9);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
+var library_close = __webpack_require__(154);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(5);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/utils.js
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Module constants
+ */
+
+var HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space
+
+/**
+ * Utility used to compute the popover position over the xAxis
+ *
+ * @param {Object} anchorRect Anchor Rect.
+ * @param {Object} contentSize Content Size.
+ * @param {string} xAxis Desired xAxis.
+ * @param {string} corner Desired corner.
+ * @param {boolean} sticky Whether or not to stick the popover to the
+ * scroll container edge when part of the anchor
+ * leaves view.
+ * @param {string} chosenYAxis yAxis to be used.
+ * @param {Element} boundaryElement Boundary element.
+ *
+ * @return {Object} Popover xAxis position and constraints.
+ */
+
+function computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, chosenYAxis, boundaryElement) {
+ var width = contentSize.width;
+ var isRTL = document.documentElement.dir === 'rtl'; // Correct xAxis for RTL support
+
+ if (xAxis === 'left' && isRTL) {
+ xAxis = 'right';
+ } else if (xAxis === 'right' && isRTL) {
+ xAxis = 'left';
+ }
+
+ if (corner === 'left' && isRTL) {
+ corner = 'right';
+ } else if (corner === 'right' && isRTL) {
+ corner = 'left';
+ } // x axis alignment choices
+
+
+ var anchorMidPoint = Math.round(anchorRect.left + anchorRect.width / 2);
+ var centerAlignment = {
+ popoverLeft: anchorMidPoint,
+ contentWidth: (anchorMidPoint - width / 2 > 0 ? width / 2 : anchorMidPoint) + (anchorMidPoint + width / 2 > window.innerWidth ? window.innerWidth - anchorMidPoint : width / 2)
+ };
+ var leftAlignmentX = anchorRect.left;
+
+ if (corner === 'right') {
+ leftAlignmentX = anchorRect.right;
+ } else if (chosenYAxis !== 'middle') {
+ leftAlignmentX = anchorMidPoint;
+ }
+
+ var rightAlignmentX = anchorRect.right;
+
+ if (corner === 'left') {
+ rightAlignmentX = anchorRect.left;
+ } else if (chosenYAxis !== 'middle') {
+ rightAlignmentX = anchorMidPoint;
+ }
+
+ var leftAlignment = {
+ popoverLeft: leftAlignmentX,
+ contentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX
+ };
+ var rightAlignment = {
+ popoverLeft: rightAlignmentX,
+ contentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width
+ }; // Choosing the x axis
+
+ var chosenXAxis = xAxis;
+ var contentWidth = null;
+
+ if (!sticky) {
+ if (xAxis === 'center' && centerAlignment.contentWidth === width) {
+ chosenXAxis = 'center';
+ } else if (xAxis === 'left' && leftAlignment.contentWidth === width) {
+ chosenXAxis = 'left';
+ } else if (xAxis === 'right' && rightAlignment.contentWidth === width) {
+ chosenXAxis = 'right';
+ } else {
+ chosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';
+ var chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;
+ contentWidth = chosenWidth !== width ? chosenWidth : null;
+ }
+ }
+
+ var popoverLeft;
+
+ if (chosenXAxis === 'center') {
+ popoverLeft = centerAlignment.popoverLeft;
+ } else if (chosenXAxis === 'left') {
+ popoverLeft = leftAlignment.popoverLeft;
+ } else {
+ popoverLeft = rightAlignment.popoverLeft;
+ }
+
+ if (boundaryElement) {
+ var boundaryRect = boundaryElement.getBoundingClientRect();
+ popoverLeft = Math.min(popoverLeft, boundaryRect.right - width);
+ }
+
+ return {
+ xAxis: chosenXAxis,
+ popoverLeft: popoverLeft,
+ contentWidth: contentWidth
+ };
+}
+/**
+ * Utility used to compute the popover position over the yAxis
+ *
+ * @param {Object} anchorRect Anchor Rect.
+ * @param {Object} contentSize Content Size.
+ * @param {string} yAxis Desired yAxis.
+ * @param {string} corner Desired corner.
+ * @param {boolean} sticky Whether or not to stick the popover to the
+ * scroll container edge when part of the
+ * anchor leaves view.
+ * @param {Element} anchorRef The anchor element.
+ * @param {Element} relativeOffsetTop If applicable, top offset of the relative
+ * positioned parent container.
+ *
+ * @return {Object} Popover xAxis position and constraints.
+ */
+
+function computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop) {
+ var height = contentSize.height;
+
+ if (sticky) {
+ var scrollContainerEl = Object(external_this_wp_dom_["getScrollContainer"])(anchorRef) || document.body;
+ var scrollRect = scrollContainerEl.getBoundingClientRect();
+ var stickyPosition = scrollRect.top + height - relativeOffsetTop;
+
+ if (anchorRect.top <= stickyPosition) {
+ return {
+ yAxis: yAxis,
+ popoverTop: Math.min(anchorRect.bottom, stickyPosition)
+ };
+ }
+ } // y axis alignment choices
+
+
+ var anchorMidPoint = anchorRect.top + anchorRect.height / 2;
+
+ if (corner === 'bottom') {
+ anchorMidPoint = anchorRect.bottom;
+ } else if (corner === 'top') {
+ anchorMidPoint = anchorRect.top;
+ }
+
+ var middleAlignment = {
+ popoverTop: anchorMidPoint,
+ contentHeight: (anchorMidPoint - height / 2 > 0 ? height / 2 : anchorMidPoint) + (anchorMidPoint + height / 2 > window.innerHeight ? window.innerHeight - anchorMidPoint : height / 2)
+ };
+ var topAlignment = {
+ popoverTop: anchorRect.top,
+ contentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET
+ };
+ var bottomAlignment = {
+ popoverTop: anchorRect.bottom,
+ contentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height
+ }; // Choosing the y axis
+
+ var chosenYAxis = yAxis;
+ var contentHeight = null;
+
+ if (!sticky) {
+ if (yAxis === 'middle' && middleAlignment.contentHeight === height) {
+ chosenYAxis = 'middle';
+ } else if (yAxis === 'top' && topAlignment.contentHeight === height) {
+ chosenYAxis = 'top';
+ } else if (yAxis === 'bottom' && bottomAlignment.contentHeight === height) {
+ chosenYAxis = 'bottom';
+ } else {
+ chosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';
+ var chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;
+ contentHeight = chosenHeight !== height ? chosenHeight : null;
+ }
+ }
+
+ var popoverTop;
+
+ if (chosenYAxis === 'middle') {
+ popoverTop = middleAlignment.popoverTop;
+ } else if (chosenYAxis === 'top') {
+ popoverTop = topAlignment.popoverTop;
+ } else {
+ popoverTop = bottomAlignment.popoverTop;
+ }
+
+ return {
+ yAxis: chosenYAxis,
+ popoverTop: popoverTop,
+ contentHeight: contentHeight
+ };
+}
+/**
+ * Utility used to compute the popover position and the content max width/height
+ * for a popover given its anchor rect and its content size.
+ *
+ * @param {Object} anchorRect Anchor Rect.
+ * @param {Object} contentSize Content Size.
+ * @param {string} position Position.
+ * @param {boolean} sticky Whether or not to stick the popover to the
+ * scroll container edge when part of the
+ * anchor leaves view.
+ * @param {Element} anchorRef The anchor element.
+ * @param {number} relativeOffsetTop If applicable, top offset of the relative
+ * positioned parent container.
+ * @param {Element} boundaryElement Boundary element.
+ *
+ * @return {Object} Popover position and constraints.
+ */
+
+function computePopoverPosition(anchorRect, contentSize) {
+ var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'top';
+ var sticky = arguments.length > 3 ? arguments[3] : undefined;
+ var anchorRef = arguments.length > 4 ? arguments[4] : undefined;
+ var relativeOffsetTop = arguments.length > 5 ? arguments[5] : undefined;
+ var boundaryElement = arguments.length > 6 ? arguments[6] : undefined;
+
+ var _position$split = position.split(' '),
+ _position$split2 = Object(slicedToArray["a" /* default */])(_position$split, 3),
+ yAxis = _position$split2[0],
+ _position$split2$ = _position$split2[1],
+ xAxis = _position$split2$ === void 0 ? 'center' : _position$split2$,
+ corner = _position$split2[2];
+
+ var yAxisPosition = computePopoverYAxisPosition(anchorRect, contentSize, yAxis, corner, sticky, anchorRef, relativeOffsetTop);
+ var xAxisPosition = computePopoverXAxisPosition(anchorRect, contentSize, xAxis, corner, sticky, yAxisPosition.yAxis, boundaryElement);
+ return _objectSpread({}, xAxisPosition, {}, yAxisPosition);
+}
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js
+var with_focus_return = __webpack_require__(130);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-constrained-tabbing/index.js
+var with_constrained_tabbing = __webpack_require__(129);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(20);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(23);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(16);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-outside/index.js
+var with_focus_outside = __webpack_require__(111);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/detect-outside.js
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var detect_outside_PopoverDetectOutside = /*#__PURE__*/function (_Component) {
+ Object(inherits["a" /* default */])(PopoverDetectOutside, _Component);
+
+ var _super = _createSuper(PopoverDetectOutside);
+
+ function PopoverDetectOutside() {
+ Object(classCallCheck["a" /* default */])(this, PopoverDetectOutside);
+
+ return _super.apply(this, arguments);
+ }
+
+ Object(createClass["a" /* default */])(PopoverDetectOutside, [{
+ key: "handleFocusOutside",
+ value: function handleFocusOutside(event) {
+ this.props.onFocusOutside(event);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return this.props.children;
+ }
+ }]);
+
+ return PopoverDetectOutside;
+}(external_this_wp_element_["Component"]);
+
+/* harmony default export */ var detect_outside = (Object(with_focus_outside["a" /* default */])(detect_outside_PopoverDetectOutside));
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(34);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/scroll-lock/index.js
+var scroll_lock = __webpack_require__(161);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/isolated-event-container/index.js
+var isolated_event_container = __webpack_require__(131);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/use-slot.js
+var use_slot = __webpack_require__(159);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/index.js + 6 modules
+var slot_fill = __webpack_require__(121);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/animate/index.js
+var build_module_animate = __webpack_require__(160);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/index.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+
+
+
+var FocusManaged = Object(with_constrained_tabbing["a" /* default */])(Object(with_focus_return["a" /* default */])(function (_ref) {
+ var children = _ref.children;
+ return children;
+}));
+/**
+ * Name of slot in which popover should fill.
+ *
+ * @type {string}
+ */
+
+var SLOT_NAME = 'Popover';
+
+function computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect) {
+ var anchorRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+ var shouldAnchorIncludePadding = arguments.length > 4 ? arguments[4] : undefined;
+
+ if (anchorRect) {
+ return anchorRect;
+ }
+
+ if (getAnchorRect) {
+ if (!anchorRefFallback.current) {
+ return;
+ }
+
+ return getAnchorRect(anchorRefFallback.current);
+ }
+
+ if (anchorRef !== false) {
+ if (!anchorRef || !window.Range || !window.Element || !window.DOMRect) {
+ return;
+ }
+
+ if (anchorRef instanceof window.Range) {
+ return Object(external_this_wp_dom_["getRectangleFromRange"])(anchorRef);
+ }
+
+ if (anchorRef instanceof window.Element) {
+ var _rect2 = anchorRef.getBoundingClientRect();
+
+ if (shouldAnchorIncludePadding) {
+ return _rect2;
+ }
+
+ return withoutPadding(_rect2, anchorRef);
+ }
+
+ var top = anchorRef.top,
+ bottom = anchorRef.bottom;
+ var topRect = top.getBoundingClientRect();
+ var bottomRect = bottom.getBoundingClientRect();
+
+ var _rect = new window.DOMRect(topRect.left, topRect.top, topRect.width, bottomRect.bottom - topRect.top);
+
+ if (shouldAnchorIncludePadding) {
+ return _rect;
+ }
+
+ return withoutPadding(_rect, anchorRef);
+ }
+
+ if (!anchorRefFallback.current) {
+ return;
+ }
+
+ var parentNode = anchorRefFallback.current.parentNode;
+ var rect = parentNode.getBoundingClientRect();
+
+ if (shouldAnchorIncludePadding) {
+ return rect;
+ }
+
+ return withoutPadding(rect, parentNode);
+}
+
+function withoutPadding(rect, element) {
+ var _window$getComputedSt = window.getComputedStyle(element),
+ paddingTop = _window$getComputedSt.paddingTop,
+ paddingBottom = _window$getComputedSt.paddingBottom,
+ paddingLeft = _window$getComputedSt.paddingLeft,
+ paddingRight = _window$getComputedSt.paddingRight;
+
+ var top = paddingTop ? parseInt(paddingTop, 10) : 0;
+ var bottom = paddingBottom ? parseInt(paddingBottom, 10) : 0;
+ var left = paddingLeft ? parseInt(paddingLeft, 10) : 0;
+ var right = paddingRight ? parseInt(paddingRight, 10) : 0;
+ return {
+ x: rect.left + left,
+ y: rect.top + top,
+ width: rect.width - left - right,
+ height: rect.height - top - bottom,
+ left: rect.left + left,
+ right: rect.right - right,
+ top: rect.top + top,
+ bottom: rect.bottom - bottom
+ };
+}
+/**
+ * Hook used to focus the first tabbable element on mount.
+ *
+ * @param {boolean|string} focusOnMount Focus on mount mode.
+ * @param {Object} contentRef Reference to the popover content element.
+ */
+
+
+function useFocusContentOnMount(focusOnMount, contentRef) {
+ // Focus handling
+ Object(external_this_wp_element_["useEffect"])(function () {
+ /*
+ * Without the setTimeout, the dom node is not being focused. Related:
+ * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example
+ *
+ * TODO: Treat the cause, not the symptom.
+ */
+ var focusTimeout = setTimeout(function () {
+ if (!focusOnMount || !contentRef.current) {
+ return;
+ }
+
+ if (focusOnMount === 'firstElement') {
+ // Find first tabbable node within content and shift focus, falling
+ // back to the popover panel itself.
+ var firstTabbable = external_this_wp_dom_["focus"].tabbable.find(contentRef.current)[0];
+
+ if (firstTabbable) {
+ firstTabbable.focus();
+ } else {
+ contentRef.current.focus();
+ }
+
+ return;
+ }
+
+ if (focusOnMount === 'container') {
+ // Focus the popover panel itself so items in the popover are easily
+ // accessed via keyboard navigation.
+ contentRef.current.focus();
+ }
+ }, 0);
+ return function () {
+ return clearTimeout(focusTimeout);
+ };
+ }, []);
+}
+/**
+ * Sets or removes an element attribute.
+ *
+ * @param {Element} element The element to modify.
+ * @param {string} name The attribute name to set or remove.
+ * @param {?string} value The value to set. A falsy value will remove the
+ * attribute.
+ */
+
+
+function setAttribute(element, name, value) {
+ if (!value) {
+ if (element.hasAttribute(name)) {
+ element.removeAttribute(name);
+ }
+ } else if (element.getAttribute(name) !== value) {
+ element.setAttribute(name, value);
+ }
+}
+/**
+ * Sets or removes an element style property.
+ *
+ * @param {Element} element The element to modify.
+ * @param {string} property The property to set or remove.
+ * @param {?string} value The value to set. A falsy value will remove the
+ * property.
+ */
+
+
+function setStyle(element, property) {
+ var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
+
+ if (element.style[property] !== value) {
+ element.style[property] = value;
+ }
+}
+/**
+ * Sets or removes an element class.
+ *
+ * @param {Element} element The element to modify.
+ * @param {string} name The class to set or remove.
+ * @param {boolean} toggle True to set the class, false to remove.
+ */
+
+
+function setClass(element, name, toggle) {
+ if (toggle) {
+ if (!element.classList.contains(name)) {
+ element.classList.add(name);
+ }
+ } else if (element.classList.contains(name)) {
+ element.classList.remove(name);
+ }
+}
+
+var popover_Popover = function Popover(_ref2) {
+ var headerTitle = _ref2.headerTitle,
+ onClose = _ref2.onClose,
+ onKeyDown = _ref2.onKeyDown,
+ children = _ref2.children,
+ className = _ref2.className,
+ _ref2$noArrow = _ref2.noArrow,
+ noArrow = _ref2$noArrow === void 0 ? true : _ref2$noArrow,
+ isAlternate = _ref2.isAlternate,
+ _ref2$position = _ref2.position,
+ position = _ref2$position === void 0 ? 'bottom right' : _ref2$position,
+ range = _ref2.range,
+ _ref2$focusOnMount = _ref2.focusOnMount,
+ focusOnMount = _ref2$focusOnMount === void 0 ? 'firstElement' : _ref2$focusOnMount,
+ anchorRef = _ref2.anchorRef,
+ shouldAnchorIncludePadding = _ref2.shouldAnchorIncludePadding,
+ anchorRect = _ref2.anchorRect,
+ getAnchorRect = _ref2.getAnchorRect,
+ expandOnMobile = _ref2.expandOnMobile,
+ _ref2$animate = _ref2.animate,
+ animate = _ref2$animate === void 0 ? true : _ref2$animate,
+ onClickOutside = _ref2.onClickOutside,
+ onFocusOutside = _ref2.onFocusOutside,
+ __unstableSticky = _ref2.__unstableSticky,
+ _ref2$__unstableSlotN = _ref2.__unstableSlotName,
+ __unstableSlotName = _ref2$__unstableSlotN === void 0 ? SLOT_NAME : _ref2$__unstableSlotN,
+ __unstableObserveElement = _ref2.__unstableObserveElement,
+ __unstableBoundaryParent = _ref2.__unstableBoundaryParent,
+ contentProps = Object(objectWithoutProperties["a" /* default */])(_ref2, ["headerTitle", "onClose", "onKeyDown", "children", "className", "noArrow", "isAlternate", "position", "range", "focusOnMount", "anchorRef", "shouldAnchorIncludePadding", "anchorRect", "getAnchorRect", "expandOnMobile", "animate", "onClickOutside", "onFocusOutside", "__unstableSticky", "__unstableSlotName", "__unstableObserveElement", "__unstableBoundaryParent"]);
+
+ var anchorRefFallback = Object(external_this_wp_element_["useRef"])(null);
+ var contentRef = Object(external_this_wp_element_["useRef"])(null);
+ var containerRef = Object(external_this_wp_element_["useRef"])();
+ var isMobileViewport = Object(external_this_wp_compose_["useViewportMatch"])('medium', '<');
+
+ var _useState = Object(external_this_wp_element_["useState"])(),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ animateOrigin = _useState2[0],
+ setAnimateOrigin = _useState2[1];
+
+ var slot = Object(use_slot["a" /* default */])(__unstableSlotName);
+ var isExpanded = expandOnMobile && isMobileViewport;
+
+ var _useResizeObserver = Object(external_this_wp_compose_["useResizeObserver"])(),
+ _useResizeObserver2 = Object(slicedToArray["a" /* default */])(_useResizeObserver, 2),
+ containerResizeListener = _useResizeObserver2[0],
+ contentSize = _useResizeObserver2[1];
+
+ noArrow = isExpanded || noArrow;
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ if (isExpanded) {
+ setClass(containerRef.current, 'is-without-arrow', noArrow);
+ setClass(containerRef.current, 'is-alternate', isAlternate);
+ setAttribute(containerRef.current, 'data-x-axis');
+ setAttribute(containerRef.current, 'data-y-axis');
+ setStyle(containerRef.current, 'top');
+ setStyle(containerRef.current, 'left');
+ setStyle(contentRef.current, 'maxHeight');
+ setStyle(contentRef.current, 'maxWidth');
+ return;
+ }
+
+ var refresh = function refresh() {
+ if (!containerRef.current || !contentRef.current) {
+ return;
+ }
+
+ var anchor = computeAnchorRect(anchorRefFallback, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding);
+
+ if (!anchor) {
+ return;
+ }
+
+ var _containerRef$current = containerRef.current,
+ offsetParent = _containerRef$current.offsetParent,
+ ownerDocument = _containerRef$current.ownerDocument;
+ var relativeOffsetTop = 0; // If there is a positioned ancestor element that is not the body,
+ // subtract the position from the anchor rect. If the position of
+ // the popover is fixed, the offset parent is null or the body
+ // element, in which case the position is relative to the viewport.
+ // See https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent
+
+ if (offsetParent && offsetParent !== ownerDocument.body) {
+ var offsetParentRect = offsetParent.getBoundingClientRect();
+ relativeOffsetTop = offsetParentRect.top;
+ anchor = new window.DOMRect(anchor.left - offsetParentRect.left, anchor.top - offsetParentRect.top, anchor.width, anchor.height);
+ }
+
+ var boundaryElement;
+
+ if (__unstableBoundaryParent) {
+ var _containerRef$current2;
+
+ boundaryElement = (_containerRef$current2 = containerRef.current.closest('.popover-slot')) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.parentNode;
+ }
+
+ var usedContentSize = !contentSize.height ? contentRef.current.getBoundingClientRect() : contentSize;
+
+ var _computePopoverPositi = computePopoverPosition(anchor, usedContentSize, position, __unstableSticky, containerRef.current, relativeOffsetTop, boundaryElement),
+ popoverTop = _computePopoverPositi.popoverTop,
+ popoverLeft = _computePopoverPositi.popoverLeft,
+ xAxis = _computePopoverPositi.xAxis,
+ yAxis = _computePopoverPositi.yAxis,
+ contentHeight = _computePopoverPositi.contentHeight,
+ contentWidth = _computePopoverPositi.contentWidth;
+
+ if (typeof popoverTop === 'number' && typeof popoverLeft === 'number') {
+ setStyle(containerRef.current, 'top', popoverTop + 'px');
+ setStyle(containerRef.current, 'left', popoverLeft + 'px');
+ }
+
+ setClass(containerRef.current, 'is-without-arrow', noArrow || xAxis === 'center' && yAxis === 'middle');
+ setClass(containerRef.current, 'is-alternate', isAlternate);
+ setAttribute(containerRef.current, 'data-x-axis', xAxis);
+ setAttribute(containerRef.current, 'data-y-axis', yAxis);
+ setStyle(contentRef.current, 'maxHeight', typeof contentHeight === 'number' ? contentHeight + 'px' : '');
+ setStyle(contentRef.current, 'maxWidth', typeof contentWidth === 'number' ? contentWidth + 'px' : ''); // Compute the animation position
+
+ var yAxisMapping = {
+ top: 'bottom',
+ bottom: 'top'
+ };
+ var xAxisMapping = {
+ left: 'right',
+ right: 'left'
+ };
+ var animateYAxis = yAxisMapping[yAxis] || 'middle';
+ var animateXAxis = xAxisMapping[xAxis] || 'center';
+ setAnimateOrigin(animateXAxis + ' ' + animateYAxis);
+ };
+
+ refresh();
+ /*
+ * There are sometimes we need to reposition or resize the popover that
+ * are not handled by the resize/scroll window events (i.e. CSS changes
+ * in the layout that changes the position of the anchor).
+ *
+ * For these situations, we refresh the popover every 0.5s
+ */
+
+ var intervalHandle = window.setInterval(refresh, 500);
+ var rafId;
+
+ var refreshOnAnimationFrame = function refreshOnAnimationFrame() {
+ window.cancelAnimationFrame(rafId);
+ rafId = window.requestAnimationFrame(refresh);
+ }; // Sometimes a click trigger a layout change that affects the popover
+ // position. This is an opportunity to immediately refresh rather than
+ // at the interval.
+
+
+ window.addEventListener('click', refreshOnAnimationFrame);
+ window.addEventListener('resize', refresh);
+ window.addEventListener('scroll', refresh, true);
+ var observer;
+
+ if (__unstableObserveElement) {
+ observer = new window.MutationObserver(refresh);
+ observer.observe(__unstableObserveElement, {
+ attributes: true
+ });
+ }
+
+ return function () {
+ window.clearInterval(intervalHandle);
+ window.removeEventListener('resize', refresh);
+ window.removeEventListener('scroll', refresh, true);
+ window.removeEventListener('click', refreshOnAnimationFrame);
+ window.cancelAnimationFrame(rafId);
+
+ if (observer) {
+ observer.disconnect();
+ }
+ };
+ }, [isExpanded, anchorRect, getAnchorRect, anchorRef, shouldAnchorIncludePadding, position, contentSize, __unstableSticky, __unstableObserveElement, __unstableBoundaryParent]);
+ useFocusContentOnMount(focusOnMount, contentRef); // Event handlers
+
+ var maybeClose = function maybeClose(event) {
+ // Close on escape
+ if (event.keyCode === external_this_wp_keycodes_["ESCAPE"] && onClose) {
+ event.stopPropagation();
+ onClose();
+ } // Preserve original content prop behavior
+
+
+ if (onKeyDown) {
+ onKeyDown(event);
+ }
+ };
+ /**
+ * Shims an onFocusOutside callback to be compatible with a deprecated
+ * onClickOutside prop function, if provided.
+ *
+ * @param {FocusEvent} event Focus event from onFocusOutside.
+ */
+
+
+ function handleOnFocusOutside(event) {
+ // Defer to given `onFocusOutside` if specified. Call `onClose` only if
+ // both `onFocusOutside` and `onClickOutside` are unspecified. Doing so
+ // assures backwards-compatibility for prior `onClickOutside` default.
+ if (onFocusOutside) {
+ onFocusOutside(event);
+ return;
+ } else if (!onClickOutside) {
+ if (onClose) {
+ onClose();
+ }
+
+ return;
+ } // Simulate MouseEvent using FocusEvent#relatedTarget as emulated click
+ // target. MouseEvent constructor is unsupported in Internet Explorer.
+
+
+ var clickEvent;
+
+ try {
+ clickEvent = new window.MouseEvent('click');
+ } catch (error) {
+ clickEvent = document.createEvent('MouseEvent');
+ clickEvent.initMouseEvent('click', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ }
+
+ Object.defineProperty(clickEvent, 'target', {
+ get: function get() {
+ return event.relatedTarget;
+ }
+ });
+ external_this_wp_deprecated_default()('Popover onClickOutside prop', {
+ alternative: 'onFocusOutside'
+ });
+ onClickOutside(clickEvent);
+ } // Disable reason: We care to capture the _bubbled_ events from inputs
+ // within popover as inferring close intent.
+
+
+ var content = Object(external_this_wp_element_["createElement"])(detect_outside, {
+ onFocusOutside: handleOnFocusOutside
+ }, Object(external_this_wp_element_["createElement"])(build_module_animate["a" /* default */], {
+ type: animate && animateOrigin ? 'appear' : null,
+ options: {
+ origin: animateOrigin
+ }
+ }, function (_ref3) {
+ var animateClassName = _ref3.className;
+ return Object(external_this_wp_element_["createElement"])(isolated_event_container["a" /* default */], Object(esm_extends["a" /* default */])({
+ className: classnames_default()('components-popover', className, animateClassName, {
+ 'is-expanded': isExpanded,
+ 'is-without-arrow': noArrow,
+ 'is-alternate': isAlternate
+ })
+ }, contentProps, {
+ onKeyDown: maybeClose,
+ ref: containerRef
+ }), isExpanded && Object(external_this_wp_element_["createElement"])(scroll_lock["a" /* default */], null), isExpanded && Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-popover__header"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "components-popover__header-title"
+ }, headerTitle), Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ className: "components-popover__close",
+ icon: library_close["a" /* default */],
+ onClick: onClose
+ })), Object(external_this_wp_element_["createElement"])("div", {
+ ref: contentRef,
+ className: "components-popover__content",
+ tabIndex: "-1"
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ style: {
+ position: 'relative'
+ }
+ }, containerResizeListener, children)));
+ })); // Apply focus to element as long as focusOnMount is truthy; false is
+ // the only "disabled" value.
+
+ if (focusOnMount) {
+ content = Object(external_this_wp_element_["createElement"])(FocusManaged, null, content);
+ }
+
+ if (slot.ref) {
+ content = Object(external_this_wp_element_["createElement"])(slot_fill["a" /* Fill */], {
+ name: __unstableSlotName
+ }, content);
+ }
+
+ if (anchorRef || anchorRect) {
+ return content;
+ }
+
+ return Object(external_this_wp_element_["createElement"])("span", {
+ ref: anchorRefFallback
+ }, content);
+};
+
+var PopoverContainer = popover_Popover;
+
+PopoverContainer.Slot = function (_ref4) {
+ var _ref4$name = _ref4.name,
+ name = _ref4$name === void 0 ? SLOT_NAME : _ref4$name;
+ return Object(external_this_wp_element_["createElement"])(slot_fill["b" /* Slot */], {
+ bubblesVirtually: true,
+ name: name,
+ className: "popover-slot"
+ });
+};
+
+/* harmony default export */ var popover = __webpack_exports__["a"] = (PopoverContainer);
+
+
+/***/ }),
+/* 113 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
+
+var _extends = _interopDefault(__webpack_require__(170));
+var _objectWithoutPropertiesLoose = _interopDefault(__webpack_require__(171));
+var React = __webpack_require__(13);
+var React__default = _interopDefault(React);
+var _inheritsLoose = _interopDefault(__webpack_require__(145));
+var _assertThisInitialized = _interopDefault(__webpack_require__(172));
+
+var is = {
+ arr: Array.isArray,
+ obj: function obj(a) {
+ return Object.prototype.toString.call(a) === '[object Object]';
+ },
+ fun: function fun(a) {
+ return typeof a === 'function';
+ },
+ str: function str(a) {
+ return typeof a === 'string';
+ },
+ num: function num(a) {
+ return typeof a === 'number';
+ },
+ und: function und(a) {
+ return a === void 0;
+ },
+ nul: function nul(a) {
+ return a === null;
+ },
+ set: function set(a) {
+ return a instanceof Set;
+ },
+ map: function map(a) {
+ return a instanceof Map;
+ },
+ equ: function equ(a, b) {
+ if (typeof a !== typeof b) return false;
+ if (is.str(a) || is.num(a)) return a === b;
+ if (is.obj(a) && is.obj(b) && Object.keys(a).length + Object.keys(b).length === 0) return true;
+ var i;
+
+ for (i in a) {
+ if (!(i in b)) return false;
+ }
+
+ for (i in b) {
+ if (a[i] !== b[i]) return false;
+ }
+
+ return is.und(i) ? a === b : true;
+ }
+};
+function merge(target, lowercase) {
+ if (lowercase === void 0) {
+ lowercase = true;
+ }
+
+ return function (object) {
+ return (is.arr(object) ? object : Object.keys(object)).reduce(function (acc, element) {
+ var key = lowercase ? element[0].toLowerCase() + element.substring(1) : element;
+ acc[key] = target(key);
+ return acc;
+ }, target);
+ };
+}
+function useForceUpdate() {
+ var _useState = React.useState(false),
+ f = _useState[1];
+
+ var forceUpdate = React.useCallback(function () {
+ return f(function (v) {
+ return !v;
+ });
+ }, []);
+ return forceUpdate;
+}
+function withDefault(value, defaultValue) {
+ return is.und(value) || is.nul(value) ? defaultValue : value;
+}
+function toArray(a) {
+ return !is.und(a) ? is.arr(a) ? a : [a] : [];
+}
+function callProp(obj) {
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ args[_key - 1] = arguments[_key];
+ }
+
+ return is.fun(obj) ? obj.apply(void 0, args) : obj;
+}
+
+function getForwardProps(props) {
+ var to = props.to,
+ from = props.from,
+ config = props.config,
+ onStart = props.onStart,
+ onRest = props.onRest,
+ onFrame = props.onFrame,
+ children = props.children,
+ reset = props.reset,
+ reverse = props.reverse,
+ force = props.force,
+ immediate = props.immediate,
+ delay = props.delay,
+ attach = props.attach,
+ destroyed = props.destroyed,
+ interpolateTo = props.interpolateTo,
+ ref = props.ref,
+ lazy = props.lazy,
+ forward = _objectWithoutPropertiesLoose(props, ["to", "from", "config", "onStart", "onRest", "onFrame", "children", "reset", "reverse", "force", "immediate", "delay", "attach", "destroyed", "interpolateTo", "ref", "lazy"]);
+
+ return forward;
+}
+
+function interpolateTo(props) {
+ var forward = getForwardProps(props);
+ if (is.und(forward)) return _extends({
+ to: forward
+ }, props);
+ var rest = Object.keys(props).reduce(function (a, k) {
+ var _extends2;
+
+ return !is.und(forward[k]) ? a : _extends({}, a, (_extends2 = {}, _extends2[k] = props[k], _extends2));
+ }, {});
+ return _extends({
+ to: forward
+ }, rest);
+}
+function handleRef(ref, forward) {
+ if (forward) {
+ // If it's a function, assume it's a ref callback
+ if (is.fun(forward)) forward(ref);else if (is.obj(forward)) {
+ forward.current = ref;
+ }
+ }
+
+ return ref;
+}
+
+var Animated =
+/*#__PURE__*/
+function () {
+ function Animated() {
+ this.payload = void 0;
+ this.children = [];
+ }
+
+ var _proto = Animated.prototype;
+
+ _proto.getAnimatedValue = function getAnimatedValue() {
+ return this.getValue();
+ };
+
+ _proto.getPayload = function getPayload() {
+ return this.payload || this;
+ };
+
+ _proto.attach = function attach() {};
+
+ _proto.detach = function detach() {};
+
+ _proto.getChildren = function getChildren() {
+ return this.children;
+ };
+
+ _proto.addChild = function addChild(child) {
+ if (this.children.length === 0) this.attach();
+ this.children.push(child);
+ };
+
+ _proto.removeChild = function removeChild(child) {
+ var index = this.children.indexOf(child);
+ this.children.splice(index, 1);
+ if (this.children.length === 0) this.detach();
+ };
+
+ return Animated;
+}();
+var AnimatedArray =
+/*#__PURE__*/
+function (_Animated) {
+ _inheritsLoose(AnimatedArray, _Animated);
+
+ function AnimatedArray() {
+ var _this;
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ _this = _Animated.call.apply(_Animated, [this].concat(args)) || this;
+ _this.payload = [];
+
+ _this.attach = function () {
+ return _this.payload.forEach(function (p) {
+ return p instanceof Animated && p.addChild(_assertThisInitialized(_this));
+ });
+ };
+
+ _this.detach = function () {
+ return _this.payload.forEach(function (p) {
+ return p instanceof Animated && p.removeChild(_assertThisInitialized(_this));
+ });
+ };
+
+ return _this;
+ }
+
+ return AnimatedArray;
+}(Animated);
+var AnimatedObject =
+/*#__PURE__*/
+function (_Animated2) {
+ _inheritsLoose(AnimatedObject, _Animated2);
+
+ function AnimatedObject() {
+ var _this2;
+
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
+ args[_key3] = arguments[_key3];
+ }
+
+ _this2 = _Animated2.call.apply(_Animated2, [this].concat(args)) || this;
+ _this2.payload = {};
+
+ _this2.attach = function () {
+ return Object.values(_this2.payload).forEach(function (s) {
+ return s instanceof Animated && s.addChild(_assertThisInitialized(_this2));
+ });
+ };
+
+ _this2.detach = function () {
+ return Object.values(_this2.payload).forEach(function (s) {
+ return s instanceof Animated && s.removeChild(_assertThisInitialized(_this2));
+ });
+ };
+
+ return _this2;
+ }
+
+ var _proto2 = AnimatedObject.prototype;
+
+ _proto2.getValue = function getValue(animated) {
+ if (animated === void 0) {
+ animated = false;
+ }
+
+ var payload = {};
+
+ for (var _key4 in this.payload) {
+ var value = this.payload[_key4];
+ if (animated && !(value instanceof Animated)) continue;
+ payload[_key4] = value instanceof Animated ? value[animated ? 'getAnimatedValue' : 'getValue']() : value;
+ }
+
+ return payload;
+ };
+
+ _proto2.getAnimatedValue = function getAnimatedValue() {
+ return this.getValue(true);
+ };
+
+ return AnimatedObject;
+}(Animated);
+
+var applyAnimatedValues;
+function injectApplyAnimatedValues(fn, transform) {
+ applyAnimatedValues = {
+ fn: fn,
+ transform: transform
+ };
+}
+var colorNames;
+function injectColorNames(names) {
+ colorNames = names;
+}
+var requestFrame = function requestFrame(cb) {
+ return typeof window !== 'undefined' ? window.requestAnimationFrame(cb) : -1;
+};
+var cancelFrame = function cancelFrame(id) {
+ typeof window !== 'undefined' && window.cancelAnimationFrame(id);
+};
+function injectFrame(raf, caf) {
+ requestFrame = raf;
+ cancelFrame = caf;
+}
+var interpolation;
+function injectStringInterpolator(fn) {
+ interpolation = fn;
+}
+var now = function now() {
+ return Date.now();
+};
+function injectNow(nowFn) {
+ now = nowFn;
+}
+var defaultElement;
+function injectDefaultElement(el) {
+ defaultElement = el;
+}
+var animatedApi = function animatedApi(node) {
+ return node.current;
+};
+function injectAnimatedApi(fn) {
+ animatedApi = fn;
+}
+var createAnimatedStyle;
+function injectCreateAnimatedStyle(factory) {
+ createAnimatedStyle = factory;
+}
+var manualFrameloop;
+function injectManualFrameloop(callback) {
+ manualFrameloop = callback;
+}
+
+var Globals = /*#__PURE__*/Object.freeze({
+ get applyAnimatedValues () { return applyAnimatedValues; },
+ injectApplyAnimatedValues: injectApplyAnimatedValues,
+ get colorNames () { return colorNames; },
+ injectColorNames: injectColorNames,
+ get requestFrame () { return requestFrame; },
+ get cancelFrame () { return cancelFrame; },
+ injectFrame: injectFrame,
+ get interpolation () { return interpolation; },
+ injectStringInterpolator: injectStringInterpolator,
+ get now () { return now; },
+ injectNow: injectNow,
+ get defaultElement () { return defaultElement; },
+ injectDefaultElement: injectDefaultElement,
+ get animatedApi () { return animatedApi; },
+ injectAnimatedApi: injectAnimatedApi,
+ get createAnimatedStyle () { return createAnimatedStyle; },
+ injectCreateAnimatedStyle: injectCreateAnimatedStyle,
+ get manualFrameloop () { return manualFrameloop; },
+ injectManualFrameloop: injectManualFrameloop
+});
+
+/**
+ * Wraps the `style` property with `AnimatedStyle`.
+ */
+
+var AnimatedProps =
+/*#__PURE__*/
+function (_AnimatedObject) {
+ _inheritsLoose(AnimatedProps, _AnimatedObject);
+
+ function AnimatedProps(props, callback) {
+ var _this;
+
+ _this = _AnimatedObject.call(this) || this;
+ _this.update = void 0;
+ _this.payload = !props.style ? props : _extends({}, props, {
+ style: createAnimatedStyle(props.style)
+ });
+ _this.update = callback;
+
+ _this.attach();
+
+ return _this;
+ }
+
+ return AnimatedProps;
+}(AnimatedObject);
+
+var isFunctionComponent = function isFunctionComponent(val) {
+ return is.fun(val) && !(val.prototype instanceof React__default.Component);
+};
+
+var createAnimatedComponent = function createAnimatedComponent(Component) {
+ var AnimatedComponent = React.forwardRef(function (props, ref) {
+ var forceUpdate = useForceUpdate();
+ var mounted = React.useRef(true);
+ var propsAnimated = React.useRef(null);
+ var node = React.useRef(null);
+ var attachProps = React.useCallback(function (props) {
+ var oldPropsAnimated = propsAnimated.current;
+
+ var callback = function callback() {
+ var didUpdate = false;
+
+ if (node.current) {
+ didUpdate = applyAnimatedValues.fn(node.current, propsAnimated.current.getAnimatedValue());
+ }
+
+ if (!node.current || didUpdate === false) {
+ // If no referenced node has been found, or the update target didn't have a
+ // native-responder, then forceUpdate the animation ...
+ forceUpdate();
+ }
+ };
+
+ propsAnimated.current = new AnimatedProps(props, callback);
+ oldPropsAnimated && oldPropsAnimated.detach();
+ }, []);
+ React.useEffect(function () {
+ return function () {
+ mounted.current = false;
+ propsAnimated.current && propsAnimated.current.detach();
+ };
+ }, []);
+ React.useImperativeHandle(ref, function () {
+ return animatedApi(node, mounted, forceUpdate);
+ });
+ attachProps(props);
+
+ var _getValue = propsAnimated.current.getValue(),
+ scrollTop = _getValue.scrollTop,
+ scrollLeft = _getValue.scrollLeft,
+ animatedProps = _objectWithoutPropertiesLoose(_getValue, ["scrollTop", "scrollLeft"]); // Functions cannot have refs, see:
+ // See: https://github.com/react-spring/react-spring/issues/569
+
+
+ var refFn = isFunctionComponent(Component) ? undefined : function (childRef) {
+ return node.current = handleRef(childRef, ref);
+ };
+ return React__default.createElement(Component, _extends({}, animatedProps, {
+ ref: refFn
+ }));
+ });
+ return AnimatedComponent;
+};
+
+var active = false;
+var controllers = new Set();
+
+var update = function update() {
+ if (!active) return false;
+ var time = now();
+
+ for (var _iterator = controllers, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
+ var _ref;
+
+ if (_isArray) {
+ if (_i >= _iterator.length) break;
+ _ref = _iterator[_i++];
+ } else {
+ _i = _iterator.next();
+ if (_i.done) break;
+ _ref = _i.value;
+ }
+
+ var controller = _ref;
+ var isActive = false;
+
+ for (var configIdx = 0; configIdx < controller.configs.length; configIdx++) {
+ var config = controller.configs[configIdx];
+ var endOfAnimation = void 0,
+ lastTime = void 0;
+
+ for (var valIdx = 0; valIdx < config.animatedValues.length; valIdx++) {
+ var animation = config.animatedValues[valIdx]; // If an animation is done, skip, until all of them conclude
+
+ if (animation.done) continue;
+ var from = config.fromValues[valIdx];
+ var to = config.toValues[valIdx];
+ var position = animation.lastPosition;
+ var isAnimated = to instanceof Animated;
+ var velocity = Array.isArray(config.initialVelocity) ? config.initialVelocity[valIdx] : config.initialVelocity;
+ if (isAnimated) to = to.getValue(); // Conclude animation if it's either immediate, or from-values match end-state
+
+ if (config.immediate) {
+ animation.setValue(to);
+ animation.done = true;
+ continue;
+ } // Break animation when string values are involved
+
+
+ if (typeof from === 'string' || typeof to === 'string') {
+ animation.setValue(to);
+ animation.done = true;
+ continue;
+ }
+
+ if (config.duration !== void 0) {
+ /** Duration easing */
+ position = from + config.easing((time - animation.startTime) / config.duration) * (to - from);
+ endOfAnimation = time >= animation.startTime + config.duration;
+ } else if (config.decay) {
+ /** Decay easing */
+ position = from + velocity / (1 - 0.998) * (1 - Math.exp(-(1 - 0.998) * (time - animation.startTime)));
+ endOfAnimation = Math.abs(animation.lastPosition - position) < 0.1;
+ if (endOfAnimation) to = position;
+ } else {
+ /** Spring easing */
+ lastTime = animation.lastTime !== void 0 ? animation.lastTime : time;
+ velocity = animation.lastVelocity !== void 0 ? animation.lastVelocity : config.initialVelocity; // If we lost a lot of frames just jump to the end.
+
+ if (time > lastTime + 64) lastTime = time; // http://gafferongames.com/game-physics/fix-your-timestep/
+
+ var numSteps = Math.floor(time - lastTime);
+
+ for (var i = 0; i < numSteps; ++i) {
+ var force = -config.tension * (position - to);
+ var damping = -config.friction * velocity;
+ var acceleration = (force + damping) / config.mass;
+ velocity = velocity + acceleration * 1 / 1000;
+ position = position + velocity * 1 / 1000;
+ } // Conditions for stopping the spring animation
+
+
+ var isOvershooting = config.clamp && config.tension !== 0 ? from < to ? position > to : position < to : false;
+ var isVelocity = Math.abs(velocity) <= config.precision;
+ var isDisplacement = config.tension !== 0 ? Math.abs(to - position) <= config.precision : true;
+ endOfAnimation = isOvershooting || isVelocity && isDisplacement;
+ animation.lastVelocity = velocity;
+ animation.lastTime = time;
+ } // Trails aren't done until their parents conclude
+
+
+ if (isAnimated && !config.toValues[valIdx].done) endOfAnimation = false;
+
+ if (endOfAnimation) {
+ // Ensure that we end up with a round value
+ if (animation.value !== to) position = to;
+ animation.done = true;
+ } else isActive = true;
+
+ animation.setValue(position);
+ animation.lastPosition = position;
+ } // Keep track of updated values only when necessary
+
+
+ if (controller.props.onFrame) controller.values[config.name] = config.interpolation.getValue();
+ } // Update callbacks in the end of the frame
+
+
+ if (controller.props.onFrame) controller.props.onFrame(controller.values); // Either call onEnd or next frame
+
+ if (!isActive) {
+ controllers.delete(controller);
+ controller.stop(true);
+ }
+ } // Loop over as long as there are controllers ...
+
+
+ if (controllers.size) {
+ if (manualFrameloop) manualFrameloop();else requestFrame(update);
+ } else {
+ active = false;
+ }
+
+ return active;
+};
+
+var start = function start(controller) {
+ if (!controllers.has(controller)) controllers.add(controller);
+
+ if (!active) {
+ active = true;
+ if (manualFrameloop) requestFrame(manualFrameloop);else requestFrame(update);
+ }
+};
+
+var stop = function stop(controller) {
+ if (controllers.has(controller)) controllers.delete(controller);
+};
+
+function createInterpolator(range, output, extrapolate) {
+ if (typeof range === 'function') {
+ return range;
+ }
+
+ if (Array.isArray(range)) {
+ return createInterpolator({
+ range: range,
+ output: output,
+ extrapolate: extrapolate
+ });
+ }
+
+ if (interpolation && typeof range.output[0] === 'string') {
+ return interpolation(range);
+ }
+
+ var config = range;
+ var outputRange = config.output;
+ var inputRange = config.range || [0, 1];
+ var extrapolateLeft = config.extrapolateLeft || config.extrapolate || 'extend';
+ var extrapolateRight = config.extrapolateRight || config.extrapolate || 'extend';
+
+ var easing = config.easing || function (t) {
+ return t;
+ };
+
+ return function (input) {
+ var range = findRange(input, inputRange);
+ return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight, config.map);
+ };
+}
+
+function interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight, map) {
+ var result = map ? map(input) : input; // Extrapolate
+
+ if (result < inputMin) {
+ if (extrapolateLeft === 'identity') return result;else if (extrapolateLeft === 'clamp') result = inputMin;
+ }
+
+ if (result > inputMax) {
+ if (extrapolateRight === 'identity') return result;else if (extrapolateRight === 'clamp') result = inputMax;
+ }
+
+ if (outputMin === outputMax) return outputMin;
+ if (inputMin === inputMax) return input <= inputMin ? outputMin : outputMax; // Input Range
+
+ if (inputMin === -Infinity) result = -result;else if (inputMax === Infinity) result = result - inputMin;else result = (result - inputMin) / (inputMax - inputMin); // Easing
+
+ result = easing(result); // Output Range
+
+ if (outputMin === -Infinity) result = -result;else if (outputMax === Infinity) result = result + outputMin;else result = result * (outputMax - outputMin) + outputMin;
+ return result;
+}
+
+function findRange(input, inputRange) {
+ for (var i = 1; i < inputRange.length - 1; ++i) {
+ if (inputRange[i] >= input) break;
+ }
+
+ return i - 1;
+}
+
+var AnimatedInterpolation =
+/*#__PURE__*/
+function (_AnimatedArray) {
+ _inheritsLoose(AnimatedInterpolation, _AnimatedArray);
+
+ function AnimatedInterpolation(parents, range, output, extrapolate) {
+ var _this;
+
+ _this = _AnimatedArray.call(this) || this;
+ _this.calc = void 0;
+ _this.payload = parents instanceof AnimatedArray && !(parents instanceof AnimatedInterpolation) ? parents.getPayload() : Array.isArray(parents) ? parents : [parents];
+ _this.calc = createInterpolator(range, output, extrapolate);
+ return _this;
+ }
+
+ var _proto = AnimatedInterpolation.prototype;
+
+ _proto.getValue = function getValue() {
+ return this.calc.apply(this, this.payload.map(function (value) {
+ return value.getValue();
+ }));
+ };
+
+ _proto.updateConfig = function updateConfig(range, output, extrapolate) {
+ this.calc = createInterpolator(range, output, extrapolate);
+ };
+
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
+ return new AnimatedInterpolation(this, range, output, extrapolate);
+ };
+
+ return AnimatedInterpolation;
+}(AnimatedArray);
+
+var interpolate$1 = function interpolate(parents, range, output) {
+ return parents && new AnimatedInterpolation(parents, range, output);
+};
+
+var config = {
+ default: {
+ tension: 170,
+ friction: 26
+ },
+ gentle: {
+ tension: 120,
+ friction: 14
+ },
+ wobbly: {
+ tension: 180,
+ friction: 12
+ },
+ stiff: {
+ tension: 210,
+ friction: 20
+ },
+ slow: {
+ tension: 280,
+ friction: 60
+ },
+ molasses: {
+ tension: 280,
+ friction: 120
+ }
+};
+
+/** API
+ * useChain(references, timeSteps, timeFrame)
+ */
+
+function useChain(refs, timeSteps, timeFrame) {
+ if (timeFrame === void 0) {
+ timeFrame = 1000;
+ }
+
+ var previous = React.useRef();
+ React.useEffect(function () {
+ if (is.equ(refs, previous.current)) refs.forEach(function (_ref) {
+ var current = _ref.current;
+ return current && current.start();
+ });else if (timeSteps) {
+ refs.forEach(function (_ref2, index) {
+ var current = _ref2.current;
+
+ if (current) {
+ var ctrls = current.controllers;
+
+ if (ctrls.length) {
+ var t = timeFrame * timeSteps[index];
+ ctrls.forEach(function (ctrl) {
+ ctrl.queue = ctrl.queue.map(function (e) {
+ return _extends({}, e, {
+ delay: e.delay + t
+ });
+ });
+ ctrl.start();
+ });
+ }
+ }
+ });
+ } else refs.reduce(function (q, _ref3, rI) {
+ var current = _ref3.current;
+ return q = q.then(function () {
+ return current.start();
+ });
+ }, Promise.resolve());
+ previous.current = refs;
+ });
+}
+
+/**
+ * Animated works by building a directed acyclic graph of dependencies
+ * transparently when you render your Animated components.
+ *
+ * new Animated.Value(0)
+ * .interpolate() .interpolate() new Animated.Value(1)
+ * opacity translateY scale
+ * style transform
+ * View#234 style
+ * View#123
+ *
+ * A) Top Down phase
+ * When an AnimatedValue is updated, we recursively go down through this
+ * graph in order to find leaf nodes: the views that we flag as needing
+ * an update.
+ *
+ * B) Bottom Up phase
+ * When a view is flagged as needing an update, we recursively go back up
+ * in order to build the new value that it needs. The reason why we need
+ * this two-phases process is to deal with composite props such as
+ * transform which can receive values from multiple parents.
+ */
+function addAnimatedStyles(node, styles) {
+ if ('update' in node) {
+ styles.add(node);
+ } else {
+ node.getChildren().forEach(function (child) {
+ return addAnimatedStyles(child, styles);
+ });
+ }
+}
+
+var AnimatedValue =
+/*#__PURE__*/
+function (_Animated) {
+ _inheritsLoose(AnimatedValue, _Animated);
+
+ function AnimatedValue(_value) {
+ var _this;
+
+ _this = _Animated.call(this) || this;
+ _this.animatedStyles = new Set();
+ _this.value = void 0;
+ _this.startPosition = void 0;
+ _this.lastPosition = void 0;
+ _this.lastVelocity = void 0;
+ _this.startTime = void 0;
+ _this.lastTime = void 0;
+ _this.done = false;
+
+ _this.setValue = function (value, flush) {
+ if (flush === void 0) {
+ flush = true;
+ }
+
+ _this.value = value;
+ if (flush) _this.flush();
+ };
+
+ _this.value = _value;
+ _this.startPosition = _value;
+ _this.lastPosition = _value;
+ return _this;
+ }
+
+ var _proto = AnimatedValue.prototype;
+
+ _proto.flush = function flush() {
+ if (this.animatedStyles.size === 0) {
+ addAnimatedStyles(this, this.animatedStyles);
+ }
+
+ this.animatedStyles.forEach(function (animatedStyle) {
+ return animatedStyle.update();
+ });
+ };
+
+ _proto.clearStyles = function clearStyles() {
+ this.animatedStyles.clear();
+ };
+
+ _proto.getValue = function getValue() {
+ return this.value;
+ };
+
+ _proto.interpolate = function interpolate(range, output, extrapolate) {
+ return new AnimatedInterpolation(this, range, output, extrapolate);
+ };
+
+ return AnimatedValue;
+}(Animated);
+
+var AnimatedValueArray =
+/*#__PURE__*/
+function (_AnimatedArray) {
+ _inheritsLoose(AnimatedValueArray, _AnimatedArray);
+
+ function AnimatedValueArray(values) {
+ var _this;
+
+ _this = _AnimatedArray.call(this) || this;
+ _this.payload = values.map(function (n) {
+ return new AnimatedValue(n);
+ });
+ return _this;
+ }
+
+ var _proto = AnimatedValueArray.prototype;
+
+ _proto.setValue = function setValue(value, flush) {
+ var _this2 = this;
+
+ if (flush === void 0) {
+ flush = true;
+ }
+
+ if (Array.isArray(value)) {
+ if (value.length === this.payload.length) {
+ value.forEach(function (v, i) {
+ return _this2.payload[i].setValue(v, flush);
+ });
+ }
+ } else {
+ this.payload.forEach(function (p) {
+ return p.setValue(value, flush);
+ });
+ }
+ };
+
+ _proto.getValue = function getValue() {
+ return this.payload.map(function (v) {
+ return v.getValue();
+ });
+ };
+
+ _proto.interpolate = function interpolate(range, output) {
+ return new AnimatedInterpolation(this, range, output);
+ };
+
+ return AnimatedValueArray;
+}(AnimatedArray);
+
+var G = 0;
+
+var Controller =
+/*#__PURE__*/
+function () {
+ function Controller() {
+ var _this = this;
+
+ this.id = void 0;
+ this.idle = true;
+ this.hasChanged = false;
+ this.guid = 0;
+ this.local = 0;
+ this.props = {};
+ this.merged = {};
+ this.animations = {};
+ this.interpolations = {};
+ this.values = {};
+ this.configs = [];
+ this.listeners = [];
+ this.queue = [];
+ this.localQueue = void 0;
+
+ this.getValues = function () {
+ return _this.interpolations;
+ };
+
+ this.id = G++;
+ }
+ /** update(props)
+ * This function filters input props and creates an array of tasks which are executed in .start()
+ * Each task is allowed to carry a delay, which means it can execute asnychroneously */
+
+
+ var _proto = Controller.prototype;
+
+ _proto.update = function update$$1(args) {
+ //this._id = n + this.id
+ if (!args) return this; // Extract delay and the to-prop from props
+
+ var _ref = interpolateTo(args),
+ _ref$delay = _ref.delay,
+ delay = _ref$delay === void 0 ? 0 : _ref$delay,
+ to = _ref.to,
+ props = _objectWithoutPropertiesLoose(_ref, ["delay", "to"]);
+
+ if (is.arr(to) || is.fun(to)) {
+ // If config is either a function or an array queue it up as is
+ this.queue.push(_extends({}, props, {
+ delay: delay,
+ to: to
+ }));
+ } else if (to) {
+ // Otherwise go through each key since it could be delayed individually
+ var ops = {};
+ Object.entries(to).forEach(function (_ref2) {
+ var _to;
+
+ var k = _ref2[0],
+ v = _ref2[1];
+
+ // Fetch delay and create an entry, consisting of the to-props, the delay, and basic props
+ var entry = _extends({
+ to: (_to = {}, _to[k] = v, _to),
+ delay: callProp(delay, k)
+ }, props);
+
+ var previous = ops[entry.delay] && ops[entry.delay].to;
+ ops[entry.delay] = _extends({}, ops[entry.delay], entry, {
+ to: _extends({}, previous, entry.to)
+ });
+ });
+ this.queue = Object.values(ops);
+ } // Sort queue, so that async calls go last
+
+
+ this.queue = this.queue.sort(function (a, b) {
+ return a.delay - b.delay;
+ }); // Diff the reduced props immediately (they'll contain the from-prop and some config)
+
+ this.diff(props);
+ return this;
+ }
+ /** start(onEnd)
+ * This function either executes a queue, if present, or starts the frameloop, which animates */
+ ;
+
+ _proto.start = function start$$1(onEnd) {
+ var _this2 = this;
+
+ // If a queue is present we must excecute it
+ if (this.queue.length) {
+ this.idle = false; // Updates can interrupt trailing queues, in that case we just merge values
+
+ if (this.localQueue) {
+ this.localQueue.forEach(function (_ref3) {
+ var _ref3$from = _ref3.from,
+ from = _ref3$from === void 0 ? {} : _ref3$from,
+ _ref3$to = _ref3.to,
+ to = _ref3$to === void 0 ? {} : _ref3$to;
+ if (is.obj(from)) _this2.merged = _extends({}, from, _this2.merged);
+ if (is.obj(to)) _this2.merged = _extends({}, _this2.merged, to);
+ });
+ } // The guid helps us tracking frames, a new queue over an old one means an override
+ // We discard async calls in that caseÍ
+
+
+ var local = this.local = ++this.guid;
+ var queue = this.localQueue = this.queue;
+ this.queue = []; // Go through each entry and execute it
+
+ queue.forEach(function (_ref4, index) {
+ var delay = _ref4.delay,
+ props = _objectWithoutPropertiesLoose(_ref4, ["delay"]);
+
+ var cb = function cb(finished) {
+ if (index === queue.length - 1 && local === _this2.guid && finished) {
+ _this2.idle = true;
+ if (_this2.props.onRest) _this2.props.onRest(_this2.merged);
+ }
+
+ if (onEnd) onEnd();
+ }; // Entries can be delayed, ansyc or immediate
+
+
+ var async = is.arr(props.to) || is.fun(props.to);
+
+ if (delay) {
+ setTimeout(function () {
+ if (local === _this2.guid) {
+ if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
+ }
+ }, delay);
+ } else if (async) _this2.runAsync(props, cb);else _this2.diff(props).start(cb);
+ });
+ } // Otherwise we kick of the frameloop
+ else {
+ if (is.fun(onEnd)) this.listeners.push(onEnd);
+ if (this.props.onStart) this.props.onStart();
+
+ start(this);
+ }
+
+ return this;
+ };
+
+ _proto.stop = function stop$$1(finished) {
+ this.listeners.forEach(function (onEnd) {
+ return onEnd(finished);
+ });
+ this.listeners = [];
+ return this;
+ }
+ /** Pause sets onEnd listeners free, but also removes the controller from the frameloop */
+ ;
+
+ _proto.pause = function pause(finished) {
+ this.stop(true);
+ if (finished) stop(this);
+ return this;
+ };
+
+ _proto.runAsync = function runAsync(_ref5, onEnd) {
+ var _this3 = this;
+
+ var delay = _ref5.delay,
+ props = _objectWithoutPropertiesLoose(_ref5, ["delay"]);
+
+ var local = this.local; // If "to" is either a function or an array it will be processed async, therefor "to" should be empty right now
+ // If the view relies on certain values "from" has to be present
+
+ var queue = Promise.resolve(undefined);
+
+ if (is.arr(props.to)) {
+ var _loop = function _loop(i) {
+ var index = i;
+
+ var fresh = _extends({}, props, interpolateTo(props.to[index]));
+
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
+ queue = queue.then(function () {
+ //this.stop()
+ if (local === _this3.guid) return new Promise(function (r) {
+ return _this3.diff(fresh).start(r);
+ });
+ });
+ };
+
+ for (var i = 0; i < props.to.length; i++) {
+ _loop(i);
+ }
+ } else if (is.fun(props.to)) {
+ var index = 0;
+ var last;
+ queue = queue.then(function () {
+ return props.to( // next(props)
+ function (p) {
+ var fresh = _extends({}, props, interpolateTo(p));
+
+ if (is.arr(fresh.config)) fresh.config = fresh.config[index];
+ index++; //this.stop()
+
+ if (local === _this3.guid) return last = new Promise(function (r) {
+ return _this3.diff(fresh).start(r);
+ });
+ return;
+ }, // cancel()
+ function (finished) {
+ if (finished === void 0) {
+ finished = true;
+ }
+
+ return _this3.stop(finished);
+ }).then(function () {
+ return last;
+ });
+ });
+ }
+
+ queue.then(onEnd);
+ };
+
+ _proto.diff = function diff(props) {
+ var _this4 = this;
+
+ this.props = _extends({}, this.props, props);
+ var _this$props = this.props,
+ _this$props$from = _this$props.from,
+ from = _this$props$from === void 0 ? {} : _this$props$from,
+ _this$props$to = _this$props.to,
+ to = _this$props$to === void 0 ? {} : _this$props$to,
+ _this$props$config = _this$props.config,
+ config = _this$props$config === void 0 ? {} : _this$props$config,
+ reverse = _this$props.reverse,
+ attach = _this$props.attach,
+ reset = _this$props.reset,
+ immediate = _this$props.immediate; // Reverse values when requested
+
+ if (reverse) {
+ var _ref6 = [to, from];
+ from = _ref6[0];
+ to = _ref6[1];
+ } // This will collect all props that were ever set, reset merged props when necessary
+
+
+ this.merged = _extends({}, from, this.merged, to);
+ this.hasChanged = false; // Attachment handling, trailed springs can "attach" themselves to a previous spring
+
+ var target = attach && attach(this); // Reduces input { name: value } pairs into animated values
+
+ this.animations = Object.entries(this.merged).reduce(function (acc, _ref7) {
+ var name = _ref7[0],
+ value = _ref7[1];
+ // Issue cached entries, except on reset
+ var entry = acc[name] || {}; // Figure out what the value is supposed to be
+
+ var isNumber = is.num(value);
+ var isString = is.str(value) && !value.startsWith('#') && !/\d/.test(value) && !colorNames[value];
+ var isArray = is.arr(value);
+ var isInterpolation = !isNumber && !isArray && !isString;
+ var fromValue = !is.und(from[name]) ? from[name] : value;
+ var toValue = isNumber || isArray ? value : isString ? value : 1;
+ var toConfig = callProp(config, name);
+ if (target) toValue = target.animations[name].parent;
+ var parent = entry.parent,
+ interpolation$$1 = entry.interpolation,
+ toValues = toArray(target ? toValue.getPayload() : toValue),
+ animatedValues;
+ var newValue = value;
+ if (isInterpolation) newValue = interpolation({
+ range: [0, 1],
+ output: [value, value]
+ })(1);
+ var currentValue = interpolation$$1 && interpolation$$1.getValue(); // Change detection flags
+
+ var isFirst = is.und(parent);
+ var isActive = !isFirst && entry.animatedValues.some(function (v) {
+ return !v.done;
+ });
+ var currentValueDiffersFromGoal = !is.equ(newValue, currentValue);
+ var hasNewGoal = !is.equ(newValue, entry.previous);
+ var hasNewConfig = !is.equ(toConfig, entry.config); // Change animation props when props indicate a new goal (new value differs from previous one)
+ // and current values differ from it. Config changes trigger a new update as well (though probably shouldn't?)
+
+ if (reset || hasNewGoal && currentValueDiffersFromGoal || hasNewConfig) {
+ var _extends2;
+
+ // Convert regular values into animated values, ALWAYS re-use if possible
+ if (isNumber || isString) parent = interpolation$$1 = entry.parent || new AnimatedValue(fromValue);else if (isArray) parent = interpolation$$1 = entry.parent || new AnimatedValueArray(fromValue);else if (isInterpolation) {
+ var prev = entry.interpolation && entry.interpolation.calc(entry.parent.value);
+ prev = prev !== void 0 && !reset ? prev : fromValue;
+
+ if (entry.parent) {
+ parent = entry.parent;
+ parent.setValue(0, false);
+ } else parent = new AnimatedValue(0);
+
+ var range = {
+ output: [prev, value]
+ };
+
+ if (entry.interpolation) {
+ interpolation$$1 = entry.interpolation;
+ entry.interpolation.updateConfig(range);
+ } else interpolation$$1 = parent.interpolate(range);
+ }
+ toValues = toArray(target ? toValue.getPayload() : toValue);
+ animatedValues = toArray(parent.getPayload());
+ if (reset && !isInterpolation) parent.setValue(fromValue, false);
+ _this4.hasChanged = true; // Reset animated values
+
+ animatedValues.forEach(function (value) {
+ value.startPosition = value.value;
+ value.lastPosition = value.value;
+ value.lastVelocity = isActive ? value.lastVelocity : undefined;
+ value.lastTime = isActive ? value.lastTime : undefined;
+ value.startTime = now();
+ value.done = false;
+ value.animatedStyles.clear();
+ }); // Set immediate values
+
+ if (callProp(immediate, name)) {
+ parent.setValue(isInterpolation ? toValue : value, false);
+ }
+
+ return _extends({}, acc, (_extends2 = {}, _extends2[name] = _extends({}, entry, {
+ name: name,
+ parent: parent,
+ interpolation: interpolation$$1,
+ animatedValues: animatedValues,
+ toValues: toValues,
+ previous: newValue,
+ config: toConfig,
+ fromValues: toArray(parent.getValue()),
+ immediate: callProp(immediate, name),
+ initialVelocity: withDefault(toConfig.velocity, 0),
+ clamp: withDefault(toConfig.clamp, false),
+ precision: withDefault(toConfig.precision, 0.01),
+ tension: withDefault(toConfig.tension, 170),
+ friction: withDefault(toConfig.friction, 26),
+ mass: withDefault(toConfig.mass, 1),
+ duration: toConfig.duration,
+ easing: withDefault(toConfig.easing, function (t) {
+ return t;
+ }),
+ decay: toConfig.decay
+ }), _extends2));
+ } else {
+ if (!currentValueDiffersFromGoal) {
+ var _extends3;
+
+ // So ... the current target value (newValue) appears to be different from the previous value,
+ // which normally constitutes an update, but the actual value (currentValue) matches the target!
+ // In order to resolve this without causing an animation update we silently flag the animation as done,
+ // which it technically is. Interpolations also needs a config update with their target set to 1.
+ if (isInterpolation) {
+ parent.setValue(1, false);
+ interpolation$$1.updateConfig({
+ output: [newValue, newValue]
+ });
+ }
+
+ parent.done = true;
+ _this4.hasChanged = true;
+ return _extends({}, acc, (_extends3 = {}, _extends3[name] = _extends({}, acc[name], {
+ previous: newValue
+ }), _extends3));
+ }
+
+ return acc;
+ }
+ }, this.animations);
+
+ if (this.hasChanged) {
+ // Make animations available to frameloop
+ this.configs = Object.values(this.animations);
+ this.values = {};
+ this.interpolations = {};
+
+ for (var key in this.animations) {
+ this.interpolations[key] = this.animations[key].interpolation;
+ this.values[key] = this.animations[key].interpolation.getValue();
+ }
+ }
+
+ return this;
+ };
+
+ _proto.destroy = function destroy() {
+ this.stop();
+ this.props = {};
+ this.merged = {};
+ this.animations = {};
+ this.interpolations = {};
+ this.values = {};
+ this.configs = [];
+ this.local = 0;
+ };
+
+ return Controller;
+}();
+
+/** API
+ * const props = useSprings(number, [{ ... }, { ... }, ...])
+ * const [props, set] = useSprings(number, (i, controller) => ({ ... }))
+ */
+
+var useSprings = function useSprings(length, props) {
+ var mounted = React.useRef(false);
+ var ctrl = React.useRef();
+ var isFn = is.fun(props); // The controller maintains the animation values, starts and stops animations
+
+ var _useMemo = React.useMemo(function () {
+ // Remove old controllers
+ if (ctrl.current) {
+ ctrl.current.map(function (c) {
+ return c.destroy();
+ });
+ ctrl.current = undefined;
+ }
+
+ var ref;
+ return [new Array(length).fill().map(function (_, i) {
+ var ctrl = new Controller();
+ var newProps = isFn ? callProp(props, i, ctrl) : props[i];
+ if (i === 0) ref = newProps.ref;
+ ctrl.update(newProps);
+ if (!ref) ctrl.start();
+ return ctrl;
+ }), ref];
+ }, [length]),
+ controllers = _useMemo[0],
+ ref = _useMemo[1];
+
+ ctrl.current = controllers; // The hooks reference api gets defined here ...
+
+ var api = React.useImperativeHandle(ref, function () {
+ return {
+ start: function start() {
+ return Promise.all(ctrl.current.map(function (c) {
+ return new Promise(function (r) {
+ return c.start(r);
+ });
+ }));
+ },
+ stop: function stop(finished) {
+ return ctrl.current.forEach(function (c) {
+ return c.stop(finished);
+ });
+ },
+
+ get controllers() {
+ return ctrl.current;
+ }
+
+ };
+ }); // This function updates the controllers
+
+ var updateCtrl = React.useMemo(function () {
+ return function (updateProps) {
+ return ctrl.current.map(function (c, i) {
+ c.update(isFn ? callProp(updateProps, i, c) : updateProps[i]);
+ if (!ref) c.start();
+ });
+ };
+ }, [length]); // Update controller if props aren't functional
+
+ React.useEffect(function () {
+ if (mounted.current) {
+ if (!isFn) updateCtrl(props);
+ } else if (!ref) ctrl.current.forEach(function (c) {
+ return c.start();
+ });
+ }); // Update mounted flag and destroy controller on unmount
+
+ React.useEffect(function () {
+ return mounted.current = true, function () {
+ return ctrl.current.forEach(function (c) {
+ return c.destroy();
+ });
+ };
+ }, []); // Return animated props, or, anim-props + the update-setter above
+
+ var propValues = ctrl.current.map(function (c) {
+ return c.getValues();
+ });
+ return isFn ? [propValues, updateCtrl, function (finished) {
+ return ctrl.current.forEach(function (c) {
+ return c.pause(finished);
+ });
+ }] : propValues;
+};
+
+/** API
+ * const props = useSpring({ ... })
+ * const [props, set] = useSpring(() => ({ ... }))
+ */
+
+var useSpring = function useSpring(props) {
+ var isFn = is.fun(props);
+
+ var _useSprings = useSprings(1, isFn ? props : [props]),
+ result = _useSprings[0],
+ set = _useSprings[1],
+ pause = _useSprings[2];
+
+ return isFn ? [result[0], set, pause] : result;
+};
+
+/** API
+ * const trails = useTrail(number, { ... })
+ * const [trails, set] = useTrail(number, () => ({ ... }))
+ */
+
+var useTrail = function useTrail(length, props) {
+ var mounted = React.useRef(false);
+ var isFn = is.fun(props);
+ var updateProps = callProp(props);
+ var instances = React.useRef();
+
+ var _useSprings = useSprings(length, function (i, ctrl) {
+ if (i === 0) instances.current = [];
+ instances.current.push(ctrl);
+ return _extends({}, updateProps, {
+ config: callProp(updateProps.config, i),
+ attach: i > 0 && function () {
+ return instances.current[i - 1];
+ }
+ });
+ }),
+ result = _useSprings[0],
+ set = _useSprings[1],
+ pause = _useSprings[2]; // Set up function to update controller
+
+
+ var updateCtrl = React.useMemo(function () {
+ return function (props) {
+ return set(function (i, ctrl) {
+ var last = props.reverse ? i === 0 : length - 1 === i;
+ var attachIdx = props.reverse ? i + 1 : i - 1;
+ var attachController = instances.current[attachIdx];
+ return _extends({}, props, {
+ config: callProp(props.config || updateProps.config, i),
+ attach: attachController && function () {
+ return attachController;
+ }
+ });
+ });
+ };
+ }, [length, updateProps.reverse]); // Update controller if props aren't functional
+
+ React.useEffect(function () {
+ return void (mounted.current && !isFn && updateCtrl(props));
+ }); // Update mounted flag and destroy controller on unmount
+
+ React.useEffect(function () {
+ return void (mounted.current = true);
+ }, []);
+ return isFn ? [result, updateCtrl, pause] : result;
+};
+
+/** API
+ * const transitions = useTransition(items, itemKeys, { ... })
+ * const [transitions, update] = useTransition(items, itemKeys, () => ({ ... }))
+ */
+
+var guid = 0;
+var ENTER = 'enter';
+var LEAVE = 'leave';
+var UPDATE = 'update';
+
+var mapKeys = function mapKeys(items, keys) {
+ return (typeof keys === 'function' ? items.map(keys) : toArray(keys)).map(String);
+};
+
+var get = function get(props) {
+ var items = props.items,
+ _props$keys = props.keys,
+ keys = _props$keys === void 0 ? function (item) {
+ return item;
+ } : _props$keys,
+ rest = _objectWithoutPropertiesLoose(props, ["items", "keys"]);
+
+ items = toArray(items !== void 0 ? items : null);
+ return _extends({
+ items: items,
+ keys: mapKeys(items, keys)
+ }, rest);
+};
+
+function useTransition(input, keyTransform, config) {
+ var props = _extends({
+ items: input,
+ keys: keyTransform || function (i) {
+ return i;
+ }
+ }, config);
+
+ var _get = get(props),
+ _get$lazy = _get.lazy,
+ lazy = _get$lazy === void 0 ? false : _get$lazy,
+ _get$unique = _get.unique,
+ _get$reset = _get.reset,
+ reset = _get$reset === void 0 ? false : _get$reset,
+ enter = _get.enter,
+ leave = _get.leave,
+ update = _get.update,
+ onDestroyed = _get.onDestroyed,
+ keys = _get.keys,
+ items = _get.items,
+ onFrame = _get.onFrame,
+ _onRest = _get.onRest,
+ onStart = _get.onStart,
+ ref = _get.ref,
+ extra = _objectWithoutPropertiesLoose(_get, ["lazy", "unique", "reset", "enter", "leave", "update", "onDestroyed", "keys", "items", "onFrame", "onRest", "onStart", "ref"]);
+
+ var forceUpdate = useForceUpdate();
+ var mounted = React.useRef(false);
+ var state = React.useRef({
+ mounted: false,
+ first: true,
+ deleted: [],
+ current: {},
+ transitions: [],
+ prevProps: {},
+ paused: !!props.ref,
+ instances: !mounted.current && new Map(),
+ forceUpdate: forceUpdate
+ });
+ React.useImperativeHandle(props.ref, function () {
+ return {
+ start: function start() {
+ return Promise.all(Array.from(state.current.instances).map(function (_ref) {
+ var c = _ref[1];
+ return new Promise(function (r) {
+ return c.start(r);
+ });
+ }));
+ },
+ stop: function stop(finished) {
+ return Array.from(state.current.instances).forEach(function (_ref2) {
+ var c = _ref2[1];
+ return c.stop(finished);
+ });
+ },
+
+ get controllers() {
+ return Array.from(state.current.instances).map(function (_ref3) {
+ var c = _ref3[1];
+ return c;
+ });
+ }
+
+ };
+ }); // Update state
+
+ state.current = diffItems(state.current, props);
+
+ if (state.current.changed) {
+ // Update state
+ state.current.transitions.forEach(function (transition) {
+ var slot = transition.slot,
+ from = transition.from,
+ to = transition.to,
+ config = transition.config,
+ trail = transition.trail,
+ key = transition.key,
+ item = transition.item;
+ if (!state.current.instances.has(key)) state.current.instances.set(key, new Controller()); // update the map object
+
+ var ctrl = state.current.instances.get(key);
+
+ var newProps = _extends({}, extra, {
+ to: to,
+ from: from,
+ config: config,
+ ref: ref,
+ onRest: function onRest(values) {
+ if (state.current.mounted) {
+ if (transition.destroyed) {
+ // If no ref is given delete destroyed items immediately
+ if (!ref && !lazy) cleanUp(state, key);
+ if (onDestroyed) onDestroyed(item);
+ } // A transition comes to rest once all its springs conclude
+
+
+ var curInstances = Array.from(state.current.instances);
+ var active = curInstances.some(function (_ref4) {
+ var c = _ref4[1];
+ return !c.idle;
+ });
+ if (!active && (ref || lazy) && state.current.deleted.length > 0) cleanUp(state);
+ if (_onRest) _onRest(item, slot, values);
+ }
+ },
+ onStart: onStart && function () {
+ return onStart(item, slot);
+ },
+ onFrame: onFrame && function (values) {
+ return onFrame(item, slot, values);
+ },
+ delay: trail,
+ reset: reset && slot === ENTER // Update controller
+
+ });
+
+ ctrl.update(newProps);
+ if (!state.current.paused) ctrl.start();
+ });
+ }
+
+ React.useEffect(function () {
+ state.current.mounted = mounted.current = true;
+ return function () {
+ state.current.mounted = mounted.current = false;
+ Array.from(state.current.instances).map(function (_ref5) {
+ var c = _ref5[1];
+ return c.destroy();
+ });
+ state.current.instances.clear();
+ };
+ }, []);
+ return state.current.transitions.map(function (_ref6) {
+ var item = _ref6.item,
+ slot = _ref6.slot,
+ key = _ref6.key;
+ return {
+ item: item,
+ key: key,
+ state: slot,
+ props: state.current.instances.get(key).getValues()
+ };
+ });
+}
+
+function cleanUp(state, filterKey) {
+ var deleted = state.current.deleted;
+
+ var _loop = function _loop() {
+ if (_isArray) {
+ if (_i >= _iterator.length) return "break";
+ _ref8 = _iterator[_i++];
+ } else {
+ _i = _iterator.next();
+ if (_i.done) return "break";
+ _ref8 = _i.value;
+ }
+
+ var _ref7 = _ref8;
+ var key = _ref7.key;
+
+ var filter = function filter(t) {
+ return t.key !== key;
+ };
+
+ if (is.und(filterKey) || filterKey === key) {
+ state.current.instances.delete(key);
+ state.current.transitions = state.current.transitions.filter(filter);
+ state.current.deleted = state.current.deleted.filter(filter);
+ }
+ };
+
+ for (var _iterator = deleted, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {
+ var _ref8;
+
+ var _ret = _loop();
+
+ if (_ret === "break") break;
+ }
+
+ state.current.forceUpdate();
+}
+
+function diffItems(_ref9, props) {
+ var first = _ref9.first,
+ prevProps = _ref9.prevProps,
+ state = _objectWithoutPropertiesLoose(_ref9, ["first", "prevProps"]);
+
+ var _get2 = get(props),
+ items = _get2.items,
+ keys = _get2.keys,
+ initial = _get2.initial,
+ from = _get2.from,
+ enter = _get2.enter,
+ leave = _get2.leave,
+ update = _get2.update,
+ _get2$trail = _get2.trail,
+ trail = _get2$trail === void 0 ? 0 : _get2$trail,
+ unique = _get2.unique,
+ config = _get2.config,
+ _get2$order = _get2.order,
+ order = _get2$order === void 0 ? [ENTER, LEAVE, UPDATE] : _get2$order;
+
+ var _get3 = get(prevProps),
+ _keys = _get3.keys,
+ _items = _get3.items;
+
+ var current = _extends({}, state.current);
+
+ var deleted = [].concat(state.deleted); // Compare next keys with current keys
+
+ var currentKeys = Object.keys(current);
+ var currentSet = new Set(currentKeys);
+ var nextSet = new Set(keys);
+ var added = keys.filter(function (item) {
+ return !currentSet.has(item);
+ });
+ var removed = state.transitions.filter(function (item) {
+ return !item.destroyed && !nextSet.has(item.originalKey);
+ }).map(function (i) {
+ return i.originalKey;
+ });
+ var updated = keys.filter(function (item) {
+ return currentSet.has(item);
+ });
+ var delay = -trail;
+
+ while (order.length) {
+ var changeType = order.shift();
+
+ switch (changeType) {
+ case ENTER:
+ {
+ added.forEach(function (key, index) {
+ // In unique mode, remove fading out transitions if their key comes in again
+ if (unique && deleted.find(function (d) {
+ return d.originalKey === key;
+ })) deleted = deleted.filter(function (t) {
+ return t.originalKey !== key;
+ });
+ var keyIndex = keys.indexOf(key);
+ var item = items[keyIndex];
+ var slot = first && initial !== void 0 ? 'initial' : ENTER;
+ current[key] = {
+ slot: slot,
+ originalKey: key,
+ key: unique ? String(key) : guid++,
+ item: item,
+ trail: delay = delay + trail,
+ config: callProp(config, item, slot),
+ from: callProp(first ? initial !== void 0 ? initial || {} : from : from, item),
+ to: callProp(enter, item)
+ };
+ });
+ break;
+ }
+
+ case LEAVE:
+ {
+ removed.forEach(function (key) {
+ var keyIndex = _keys.indexOf(key);
+
+ var item = _items[keyIndex];
+ var slot = LEAVE;
+ deleted.unshift(_extends({}, current[key], {
+ slot: slot,
+ destroyed: true,
+ left: _keys[Math.max(0, keyIndex - 1)],
+ right: _keys[Math.min(_keys.length, keyIndex + 1)],
+ trail: delay = delay + trail,
+ config: callProp(config, item, slot),
+ to: callProp(leave, item)
+ }));
+ delete current[key];
+ });
+ break;
+ }
+
+ case UPDATE:
+ {
+ updated.forEach(function (key) {
+ var keyIndex = keys.indexOf(key);
+ var item = items[keyIndex];
+ var slot = UPDATE;
+ current[key] = _extends({}, current[key], {
+ item: item,
+ slot: slot,
+ trail: delay = delay + trail,
+ config: callProp(config, item, slot),
+ to: callProp(update, item)
+ });
+ });
+ break;
+ }
+ }
+ }
+
+ var out = keys.map(function (key) {
+ return current[key];
+ }); // This tries to restore order for deleted items by finding their last known siblings
+ // only using the left sibling to keep order placement consistent for all deleted items
+
+ deleted.forEach(function (_ref10) {
+ var left = _ref10.left,
+ right = _ref10.right,
+ item = _objectWithoutPropertiesLoose(_ref10, ["left", "right"]);
+
+ var pos; // Was it the element on the left, if yes, move there ...
+
+ if ((pos = out.findIndex(function (t) {
+ return t.originalKey === left;
+ })) !== -1) pos += 1; // And if nothing else helps, move it to the start ¯\_(ツ)_/¯
+
+ pos = Math.max(0, pos);
+ out = [].concat(out.slice(0, pos), [item], out.slice(pos));
+ });
+ return _extends({}, state, {
+ changed: added.length || removed.length || updated.length,
+ first: first && added.length === 0,
+ transitions: out,
+ current: current,
+ deleted: deleted,
+ prevProps: props
+ });
+}
+
+var AnimatedStyle =
+/*#__PURE__*/
+function (_AnimatedObject) {
+ _inheritsLoose(AnimatedStyle, _AnimatedObject);
+
+ function AnimatedStyle(style) {
+ var _this;
+
+ if (style === void 0) {
+ style = {};
+ }
+
+ _this = _AnimatedObject.call(this) || this;
+
+ if (style.transform && !(style.transform instanceof Animated)) {
+ style = applyAnimatedValues.transform(style);
+ }
+
+ _this.payload = style;
+ return _this;
+ }
+
+ return AnimatedStyle;
+}(AnimatedObject);
+
+// http://www.w3.org/TR/css3-color/#svg-color
+var colors = {
+ transparent: 0x00000000,
+ aliceblue: 0xf0f8ffff,
+ antiquewhite: 0xfaebd7ff,
+ aqua: 0x00ffffff,
+ aquamarine: 0x7fffd4ff,
+ azure: 0xf0ffffff,
+ beige: 0xf5f5dcff,
+ bisque: 0xffe4c4ff,
+ black: 0x000000ff,
+ blanchedalmond: 0xffebcdff,
+ blue: 0x0000ffff,
+ blueviolet: 0x8a2be2ff,
+ brown: 0xa52a2aff,
+ burlywood: 0xdeb887ff,
+ burntsienna: 0xea7e5dff,
+ cadetblue: 0x5f9ea0ff,
+ chartreuse: 0x7fff00ff,
+ chocolate: 0xd2691eff,
+ coral: 0xff7f50ff,
+ cornflowerblue: 0x6495edff,
+ cornsilk: 0xfff8dcff,
+ crimson: 0xdc143cff,
+ cyan: 0x00ffffff,
+ darkblue: 0x00008bff,
+ darkcyan: 0x008b8bff,
+ darkgoldenrod: 0xb8860bff,
+ darkgray: 0xa9a9a9ff,
+ darkgreen: 0x006400ff,
+ darkgrey: 0xa9a9a9ff,
+ darkkhaki: 0xbdb76bff,
+ darkmagenta: 0x8b008bff,
+ darkolivegreen: 0x556b2fff,
+ darkorange: 0xff8c00ff,
+ darkorchid: 0x9932ccff,
+ darkred: 0x8b0000ff,
+ darksalmon: 0xe9967aff,
+ darkseagreen: 0x8fbc8fff,
+ darkslateblue: 0x483d8bff,
+ darkslategray: 0x2f4f4fff,
+ darkslategrey: 0x2f4f4fff,
+ darkturquoise: 0x00ced1ff,
+ darkviolet: 0x9400d3ff,
+ deeppink: 0xff1493ff,
+ deepskyblue: 0x00bfffff,
+ dimgray: 0x696969ff,
+ dimgrey: 0x696969ff,
+ dodgerblue: 0x1e90ffff,
+ firebrick: 0xb22222ff,
+ floralwhite: 0xfffaf0ff,
+ forestgreen: 0x228b22ff,
+ fuchsia: 0xff00ffff,
+ gainsboro: 0xdcdcdcff,
+ ghostwhite: 0xf8f8ffff,
+ gold: 0xffd700ff,
+ goldenrod: 0xdaa520ff,
+ gray: 0x808080ff,
+ green: 0x008000ff,
+ greenyellow: 0xadff2fff,
+ grey: 0x808080ff,
+ honeydew: 0xf0fff0ff,
+ hotpink: 0xff69b4ff,
+ indianred: 0xcd5c5cff,
+ indigo: 0x4b0082ff,
+ ivory: 0xfffff0ff,
+ khaki: 0xf0e68cff,
+ lavender: 0xe6e6faff,
+ lavenderblush: 0xfff0f5ff,
+ lawngreen: 0x7cfc00ff,
+ lemonchiffon: 0xfffacdff,
+ lightblue: 0xadd8e6ff,
+ lightcoral: 0xf08080ff,
+ lightcyan: 0xe0ffffff,
+ lightgoldenrodyellow: 0xfafad2ff,
+ lightgray: 0xd3d3d3ff,
+ lightgreen: 0x90ee90ff,
+ lightgrey: 0xd3d3d3ff,
+ lightpink: 0xffb6c1ff,
+ lightsalmon: 0xffa07aff,
+ lightseagreen: 0x20b2aaff,
+ lightskyblue: 0x87cefaff,
+ lightslategray: 0x778899ff,
+ lightslategrey: 0x778899ff,
+ lightsteelblue: 0xb0c4deff,
+ lightyellow: 0xffffe0ff,
+ lime: 0x00ff00ff,
+ limegreen: 0x32cd32ff,
+ linen: 0xfaf0e6ff,
+ magenta: 0xff00ffff,
+ maroon: 0x800000ff,
+ mediumaquamarine: 0x66cdaaff,
+ mediumblue: 0x0000cdff,
+ mediumorchid: 0xba55d3ff,
+ mediumpurple: 0x9370dbff,
+ mediumseagreen: 0x3cb371ff,
+ mediumslateblue: 0x7b68eeff,
+ mediumspringgreen: 0x00fa9aff,
+ mediumturquoise: 0x48d1ccff,
+ mediumvioletred: 0xc71585ff,
+ midnightblue: 0x191970ff,
+ mintcream: 0xf5fffaff,
+ mistyrose: 0xffe4e1ff,
+ moccasin: 0xffe4b5ff,
+ navajowhite: 0xffdeadff,
+ navy: 0x000080ff,
+ oldlace: 0xfdf5e6ff,
+ olive: 0x808000ff,
+ olivedrab: 0x6b8e23ff,
+ orange: 0xffa500ff,
+ orangered: 0xff4500ff,
+ orchid: 0xda70d6ff,
+ palegoldenrod: 0xeee8aaff,
+ palegreen: 0x98fb98ff,
+ paleturquoise: 0xafeeeeff,
+ palevioletred: 0xdb7093ff,
+ papayawhip: 0xffefd5ff,
+ peachpuff: 0xffdab9ff,
+ peru: 0xcd853fff,
+ pink: 0xffc0cbff,
+ plum: 0xdda0ddff,
+ powderblue: 0xb0e0e6ff,
+ purple: 0x800080ff,
+ rebeccapurple: 0x663399ff,
+ red: 0xff0000ff,
+ rosybrown: 0xbc8f8fff,
+ royalblue: 0x4169e1ff,
+ saddlebrown: 0x8b4513ff,
+ salmon: 0xfa8072ff,
+ sandybrown: 0xf4a460ff,
+ seagreen: 0x2e8b57ff,
+ seashell: 0xfff5eeff,
+ sienna: 0xa0522dff,
+ silver: 0xc0c0c0ff,
+ skyblue: 0x87ceebff,
+ slateblue: 0x6a5acdff,
+ slategray: 0x708090ff,
+ slategrey: 0x708090ff,
+ snow: 0xfffafaff,
+ springgreen: 0x00ff7fff,
+ steelblue: 0x4682b4ff,
+ tan: 0xd2b48cff,
+ teal: 0x008080ff,
+ thistle: 0xd8bfd8ff,
+ tomato: 0xff6347ff,
+ turquoise: 0x40e0d0ff,
+ violet: 0xee82eeff,
+ wheat: 0xf5deb3ff,
+ white: 0xffffffff,
+ whitesmoke: 0xf5f5f5ff,
+ yellow: 0xffff00ff,
+ yellowgreen: 0x9acd32ff
+};
+
+// const INTEGER = '[-+]?\\d+';
+var NUMBER = '[-+]?\\d*\\.?\\d+';
+var PERCENTAGE = NUMBER + '%';
+
+function call() {
+ for (var _len = arguments.length, parts = new Array(_len), _key = 0; _key < _len; _key++) {
+ parts[_key] = arguments[_key];
+ }
+
+ return '\\(\\s*(' + parts.join(')\\s*,\\s*(') + ')\\s*\\)';
+}
+
+var rgb = new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER));
+var rgba = new RegExp('rgba' + call(NUMBER, NUMBER, NUMBER, NUMBER));
+var hsl = new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE));
+var hsla = new RegExp('hsla' + call(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER));
+var hex3 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
+var hex4 = /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/;
+var hex6 = /^#([0-9a-fA-F]{6})$/;
+var hex8 = /^#([0-9a-fA-F]{8})$/;
+
+/*
+https://github.com/react-community/normalize-css-color
+
+BSD 3-Clause License
+
+Copyright (c) 2016, React Community
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+function normalizeColor(color) {
+ var match;
+
+ if (typeof color === 'number') {
+ return color >>> 0 === color && color >= 0 && color <= 0xffffffff ? color : null;
+ } // Ordered based on occurrences on Facebook codebase
+
+
+ if (match = hex6.exec(color)) return parseInt(match[1] + 'ff', 16) >>> 0;
+ if (colors.hasOwnProperty(color)) return colors[color];
+
+ if (match = rgb.exec(color)) {
+ return (parse255(match[1]) << 24 | // r
+ parse255(match[2]) << 16 | // g
+ parse255(match[3]) << 8 | // b
+ 0x000000ff) >>> // a
+ 0;
+ }
+
+ if (match = rgba.exec(color)) {
+ return (parse255(match[1]) << 24 | // r
+ parse255(match[2]) << 16 | // g
+ parse255(match[3]) << 8 | // b
+ parse1(match[4])) >>> // a
+ 0;
+ }
+
+ if (match = hex3.exec(color)) {
+ return parseInt(match[1] + match[1] + // r
+ match[2] + match[2] + // g
+ match[3] + match[3] + // b
+ 'ff', // a
+ 16) >>> 0;
+ } // https://drafts.csswg.org/css-color-4/#hex-notation
+
+
+ if (match = hex8.exec(color)) return parseInt(match[1], 16) >>> 0;
+
+ if (match = hex4.exec(color)) {
+ return parseInt(match[1] + match[1] + // r
+ match[2] + match[2] + // g
+ match[3] + match[3] + // b
+ match[4] + match[4], // a
+ 16) >>> 0;
+ }
+
+ if (match = hsl.exec(color)) {
+ return (hslToRgb(parse360(match[1]), // h
+ parsePercentage(match[2]), // s
+ parsePercentage(match[3]) // l
+ ) | 0x000000ff) >>> // a
+ 0;
+ }
+
+ if (match = hsla.exec(color)) {
+ return (hslToRgb(parse360(match[1]), // h
+ parsePercentage(match[2]), // s
+ parsePercentage(match[3]) // l
+ ) | parse1(match[4])) >>> // a
+ 0;
+ }
+
+ return null;
+}
+
+function hue2rgb(p, q, t) {
+ if (t < 0) t += 1;
+ if (t > 1) t -= 1;
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
+ if (t < 1 / 2) return q;
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
+ return p;
+}
+
+function hslToRgb(h, s, l) {
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ var p = 2 * l - q;
+ var r = hue2rgb(p, q, h + 1 / 3);
+ var g = hue2rgb(p, q, h);
+ var b = hue2rgb(p, q, h - 1 / 3);
+ return Math.round(r * 255) << 24 | Math.round(g * 255) << 16 | Math.round(b * 255) << 8;
+}
+
+function parse255(str) {
+ var int = parseInt(str, 10);
+ if (int < 0) return 0;
+ if (int > 255) return 255;
+ return int;
+}
+
+function parse360(str) {
+ var int = parseFloat(str);
+ return (int % 360 + 360) % 360 / 360;
+}
+
+function parse1(str) {
+ var num = parseFloat(str);
+ if (num < 0) return 0;
+ if (num > 1) return 255;
+ return Math.round(num * 255);
+}
+
+function parsePercentage(str) {
+ // parseFloat conveniently ignores the final %
+ var int = parseFloat(str);
+ if (int < 0) return 0;
+ if (int > 100) return 1;
+ return int / 100;
+}
+
+function colorToRgba(input) {
+ var int32Color = normalizeColor(input);
+ if (int32Color === null) return input;
+ int32Color = int32Color || 0;
+ var r = (int32Color & 0xff000000) >>> 24;
+ var g = (int32Color & 0x00ff0000) >>> 16;
+ var b = (int32Color & 0x0000ff00) >>> 8;
+ var a = (int32Color & 0x000000ff) / 255;
+ return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")";
+} // Problem: https://github.com/animatedjs/animated/pull/102
+// Solution: https://stackoverflow.com/questions/638565/parsing-scientific-notation-sensibly/658662
+
+
+var stringShapeRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; // Covers rgb, rgba, hsl, hsla
+// Taken from https://gist.github.com/olmokramer/82ccce673f86db7cda5e
+
+var colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; // Covers color names (transparent, blue, etc.)
+
+var colorNamesRegex = new RegExp("(" + Object.keys(colors).join('|') + ")", 'g');
+/**
+ * Supports string shapes by extracting numbers so new values can be computed,
+ * and recombines those values into new strings of the same shape. Supports
+ * things like:
+ *
+ * rgba(123, 42, 99, 0.36) // colors
+ * -45deg // values with units
+ * 0 2px 2px 0px rgba(0, 0, 0, 0.12) // box shadows
+ */
+
+var createStringInterpolator = function createStringInterpolator(config) {
+ // Replace colors with rgba
+ var outputRange = config.output.map(function (rangeValue) {
+ return rangeValue.replace(colorRegex, colorToRgba);
+ }).map(function (rangeValue) {
+ return rangeValue.replace(colorNamesRegex, colorToRgba);
+ });
+ var outputRanges = outputRange[0].match(stringShapeRegex).map(function () {
+ return [];
+ });
+ outputRange.forEach(function (value) {
+ value.match(stringShapeRegex).forEach(function (number, i) {
+ return outputRanges[i].push(+number);
+ });
+ });
+ var interpolations = outputRange[0].match(stringShapeRegex).map(function (_value, i) {
+ return createInterpolator(_extends({}, config, {
+ output: outputRanges[i]
+ }));
+ });
+ return function (input) {
+ var i = 0;
+ return outputRange[0] // 'rgba(0, 100, 200, 0)'
+ // ->
+ // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'
+ .replace(stringShapeRegex, function () {
+ return interpolations[i++](input);
+ }) // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to
+ // round the opacity (4th column).
+ .replace(/rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi, function (_, p1, p2, p3, p4) {
+ return "rgba(" + Math.round(p1) + ", " + Math.round(p2) + ", " + Math.round(p3) + ", " + p4 + ")";
+ });
+ };
+};
+
+var isUnitlessNumber = {
+ animationIterationCount: true,
+ borderImageOutset: true,
+ borderImageSlice: true,
+ borderImageWidth: true,
+ boxFlex: true,
+ boxFlexGroup: true,
+ boxOrdinalGroup: true,
+ columnCount: true,
+ columns: true,
+ flex: true,
+ flexGrow: true,
+ flexPositive: true,
+ flexShrink: true,
+ flexNegative: true,
+ flexOrder: true,
+ gridRow: true,
+ gridRowEnd: true,
+ gridRowSpan: true,
+ gridRowStart: true,
+ gridColumn: true,
+ gridColumnEnd: true,
+ gridColumnSpan: true,
+ gridColumnStart: true,
+ fontWeight: true,
+ lineClamp: true,
+ lineHeight: true,
+ opacity: true,
+ order: true,
+ orphans: true,
+ tabSize: true,
+ widows: true,
+ zIndex: true,
+ zoom: true,
+ // SVG-related properties
+ fillOpacity: true,
+ floodOpacity: true,
+ stopOpacity: true,
+ strokeDasharray: true,
+ strokeDashoffset: true,
+ strokeMiterlimit: true,
+ strokeOpacity: true,
+ strokeWidth: true
+};
+
+var prefixKey = function prefixKey(prefix, key) {
+ return prefix + key.charAt(0).toUpperCase() + key.substring(1);
+};
+
+var prefixes = ['Webkit', 'Ms', 'Moz', 'O'];
+isUnitlessNumber = Object.keys(isUnitlessNumber).reduce(function (acc, prop) {
+ prefixes.forEach(function (prefix) {
+ return acc[prefixKey(prefix, prop)] = acc[prop];
+ });
+ return acc;
+}, isUnitlessNumber);
+
+function dangerousStyleValue(name, value, isCustomProperty) {
+ if (value == null || typeof value === 'boolean' || value === '') return '';
+ if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
+
+ return ('' + value).trim();
+}
+
+var attributeCache = {};
+injectCreateAnimatedStyle(function (style) {
+ return new AnimatedStyle(style);
+});
+injectDefaultElement('div');
+injectStringInterpolator(createStringInterpolator);
+injectColorNames(colors);
+injectApplyAnimatedValues(function (instance, props) {
+ if (instance.nodeType && instance.setAttribute !== undefined) {
+ var style = props.style,
+ children = props.children,
+ scrollTop = props.scrollTop,
+ scrollLeft = props.scrollLeft,
+ attributes = _objectWithoutPropertiesLoose(props, ["style", "children", "scrollTop", "scrollLeft"]);
+
+ var filter = instance.nodeName === 'filter' || instance.parentNode && instance.parentNode.nodeName === 'filter';
+ if (scrollTop !== void 0) instance.scrollTop = scrollTop;
+ if (scrollLeft !== void 0) instance.scrollLeft = scrollLeft; // Set textContent, if children is an animatable value
+
+ if (children !== void 0) instance.textContent = children; // Set styles ...
+
+ for (var styleName in style) {
+ if (!style.hasOwnProperty(styleName)) continue;
+ var isCustomProperty = styleName.indexOf('--') === 0;
+ var styleValue = dangerousStyleValue(styleName, style[styleName], isCustomProperty);
+ if (styleName === 'float') styleName = 'cssFloat';
+ if (isCustomProperty) instance.style.setProperty(styleName, styleValue);else instance.style[styleName] = styleValue;
+ } // Set attributes ...
+
+
+ for (var name in attributes) {
+ // Attributes are written in dash case
+ var dashCase = filter ? name : attributeCache[name] || (attributeCache[name] = name.replace(/([A-Z])/g, function (n) {
+ return '-' + n.toLowerCase();
+ }));
+ if (typeof instance.getAttribute(dashCase) !== 'undefined') instance.setAttribute(dashCase, attributes[name]);
+ }
+
+ return;
+ } else return false;
+}, function (style) {
+ return style;
+});
+
+var domElements = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG
+'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];
+// Extend animated with all the available THREE elements
+var apply = merge(createAnimatedComponent, false);
+var extendedAnimated = apply(domElements);
+
+exports.apply = apply;
+exports.config = config;
+exports.update = update;
+exports.animated = extendedAnimated;
+exports.a = extendedAnimated;
+exports.interpolate = interpolate$1;
+exports.Globals = Globals;
+exports.useSpring = useSpring;
+exports.useTrail = useTrail;
+exports.useTransition = useTransition;
+exports.useChain = useChain;
+exports.useSprings = useSprings;
+
+
+/***/ }),
+/* 114 */,
+/* 115 */,
+/* 116 */
+/***/ (function(module, exports) {
+
+//
+// Main
+//
+
+function memoize (fn, options) {
+ var cache = options && options.cache
+ ? options.cache
+ : cacheDefault
+
+ var serializer = options && options.serializer
+ ? options.serializer
+ : serializerDefault
+
+ var strategy = options && options.strategy
+ ? options.strategy
+ : strategyDefault
+
+ return strategy(fn, {
+ cache: cache,
+ serializer: serializer
+ })
+}
+
+//
+// Strategy
+//
+
+function isPrimitive (value) {
+ return value == null || typeof value === 'number' || typeof value === 'boolean' // || typeof value === "string" 'unsafe' primitive for our needs
+}
+
+function monadic (fn, cache, serializer, arg) {
+ var cacheKey = isPrimitive(arg) ? arg : serializer(arg)
+
+ var computedValue = cache.get(cacheKey)
+ if (typeof computedValue === 'undefined') {
+ computedValue = fn.call(this, arg)
+ cache.set(cacheKey, computedValue)
+ }
+
+ return computedValue
+}
+
+function variadic (fn, cache, serializer) {
+ var args = Array.prototype.slice.call(arguments, 3)
+ var cacheKey = serializer(args)
+
+ var computedValue = cache.get(cacheKey)
+ if (typeof computedValue === 'undefined') {
+ computedValue = fn.apply(this, args)
+ cache.set(cacheKey, computedValue)
+ }
+
+ return computedValue
+}
+
+function assemble (fn, context, strategy, cache, serialize) {
+ return strategy.bind(
+ context,
+ fn,
+ cache,
+ serialize
+ )
+}
+
+function strategyDefault (fn, options) {
+ var strategy = fn.length === 1 ? monadic : variadic
+
+ return assemble(
+ fn,
+ this,
+ strategy,
+ options.cache.create(),
+ options.serializer
+ )
+}
+
+function strategyVariadic (fn, options) {
+ var strategy = variadic
+
+ return assemble(
+ fn,
+ this,
+ strategy,
+ options.cache.create(),
+ options.serializer
+ )
+}
+
+function strategyMonadic (fn, options) {
+ var strategy = monadic
+
+ return assemble(
+ fn,
+ this,
+ strategy,
+ options.cache.create(),
+ options.serializer
+ )
+}
+
+//
+// Serializer
+//
+
+function serializerDefault () {
+ return JSON.stringify(arguments)
+}
+
+//
+// Cache
+//
+
+function ObjectWithoutPrototypeCache () {
+ this.cache = Object.create(null)
+}
+
+ObjectWithoutPrototypeCache.prototype.has = function (key) {
+ return (key in this.cache)
+}
+
+ObjectWithoutPrototypeCache.prototype.get = function (key) {
+ return this.cache[key]
+}
+
+ObjectWithoutPrototypeCache.prototype.set = function (key, value) {
+ this.cache[key] = value
+}
+
+var cacheDefault = {
+ create: function create () {
+ return new ObjectWithoutPrototypeCache()
+ }
+}
+
+//
+// API
+//
+
+module.exports = memoize
+module.exports.strategies = {
+ variadic: strategyVariadic,
+ monadic: strategyMonadic
+}
+
+
+/***/ }),
+/* 117 */
+/***/ (function(module, exports) {
+
+// shim for using process in browser
+var process = module.exports = {};
+
+// cached from whatever global is present so that test runners that stub it
+// don't break things. But we need to wrap it in a try catch in case it is
+// wrapped in strict mode code which doesn't define any globals. It's inside a
+// function because try/catches deoptimize in certain engines.
+
+var cachedSetTimeout;
+var cachedClearTimeout;
+
+function defaultSetTimout() {
+ throw new Error('setTimeout has not been defined');
+}
+function defaultClearTimeout () {
+ throw new Error('clearTimeout has not been defined');
+}
+(function () {
+ try {
+ if (typeof setTimeout === 'function') {
+ cachedSetTimeout = setTimeout;
+ } else {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ } catch (e) {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === 'function') {
+ cachedClearTimeout = clearTimeout;
+ } else {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } catch (e) {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+} ())
+function runTimeout(fun) {
+ if (cachedSetTimeout === setTimeout) {
+ //normal enviroments in sane situations
+ return setTimeout(fun, 0);
+ }
+ // if setTimeout wasn't available but was latter defined
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
+ cachedSetTimeout = setTimeout;
+ return setTimeout(fun, 0);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedSetTimeout(fun, 0);
+ } catch(e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedSetTimeout.call(null, fun, 0);
+ } catch(e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+ return cachedSetTimeout.call(this, fun, 0);
+ }
+ }
+
+
+}
+function runClearTimeout(marker) {
+ if (cachedClearTimeout === clearTimeout) {
+ //normal enviroments in sane situations
+ return clearTimeout(marker);
+ }
+ // if clearTimeout wasn't available but was latter defined
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
+ cachedClearTimeout = clearTimeout;
+ return clearTimeout(marker);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedClearTimeout(marker);
+ } catch (e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedClearTimeout.call(null, marker);
+ } catch (e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+ return cachedClearTimeout.call(this, marker);
+ }
+ }
+
+
+
+}
+var queue = [];
+var draining = false;
+var currentQueue;
+var queueIndex = -1;
+
+function cleanUpNextTick() {
+ if (!draining || !currentQueue) {
+ return;
+ }
+ draining = false;
+ if (currentQueue.length) {
+ queue = currentQueue.concat(queue);
+ } else {
+ queueIndex = -1;
+ }
+ if (queue.length) {
+ drainQueue();
+ }
+}
+
+function drainQueue() {
+ if (draining) {
+ return;
+ }
+ var timeout = runTimeout(cleanUpNextTick);
+ draining = true;
+
+ var len = queue.length;
+ while(len) {
+ currentQueue = queue;
+ queue = [];
+ while (++queueIndex < len) {
+ if (currentQueue) {
+ currentQueue[queueIndex].run();
+ }
+ }
+ queueIndex = -1;
+ len = queue.length;
+ }
+ currentQueue = null;
+ draining = false;
+ runClearTimeout(timeout);
+}
+
+process.nextTick = function (fun) {
+ var args = new Array(arguments.length - 1);
+ if (arguments.length > 1) {
+ for (var i = 1; i < arguments.length; i++) {
+ args[i - 1] = arguments[i];
+ }
+ }
+ queue.push(new Item(fun, args));
+ if (queue.length === 1 && !draining) {
+ runTimeout(drainQueue);
+ }
+};
+
+// v8 likes predictible objects
+function Item(fun, array) {
+ this.fun = fun;
+ this.array = array;
+}
+Item.prototype.run = function () {
+ this.fun.apply(null, this.array);
+};
+process.title = 'browser';
+process.browser = true;
+process.env = {};
+process.argv = [];
+process.version = ''; // empty string to avoid regexp issues
+process.versions = {};
+
+function noop() {}
+
+process.on = noop;
+process.addListener = noop;
+process.once = noop;
+process.off = noop;
+process.removeListener = noop;
+process.removeAllListeners = noop;
+process.emit = noop;
+process.prependListener = noop;
+process.prependOnceListener = noop;
+
+process.listeners = function (name) { return [] }
+
+process.binding = function (name) {
+ throw new Error('process.binding is not supported');
+};
+
+process.cwd = function () { return '/' };
+process.chdir = function (dir) {
+ throw new Error('process.chdir is not supported');
+};
+process.umask = function() { return 0; };
+
+
+/***/ }),
+/* 118 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var implementation = __webpack_require__(312);
+
+module.exports = Function.prototype.bind || implementation;
+
+
+/***/ }),
+/* 119 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Composite; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return useComposite; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
+/* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var _Box_Box_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(67);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var reakit_utils_useForkRef__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(63);
+/* harmony import */ var reakit_warning__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80);
+/* harmony import */ var reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(46);
+/* harmony import */ var reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(53);
+/* harmony import */ var reakit_utils_getActiveElement__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(57);
+/* harmony import */ var _Tabbable_Tabbable_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(73);
+/* harmony import */ var reakit_system_useCreateElement__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(78);
+/* harmony import */ var reakit_utils_createOnKeyDown__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(82);
+/* harmony import */ var reakit_utils_getDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(47);
+/* harmony import */ var reakit_utils_fireEvent__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(94);
+/* harmony import */ var reakit_utils_fireKeyboardEvent__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(102);
+/* harmony import */ var _CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(51);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var isIE11 = typeof window !== "undefined" && "msCrypto" in window;
+function getNextActiveElementOnBlur(event) {
+ // IE 11 doesn't support event.relatedTarget on blur.
+ // document.activeElement points the the next active element.
+ // On modern browsers, document.activeElement points to the current target.
+ if (isIE11) {
+ var activeElement = Object(reakit_utils_getActiveElement__WEBPACK_IMPORTED_MODULE_9__[/* getActiveElement */ "a"])(event.target);
+ return activeElement;
+ }
+
+ return event.relatedTarget;
+}
+
+var validCompositeRoles = ["combobox", "grid", "tablist", "listbox", "menu", "menubar", "toolbar", "radiogroup", "tree", "treegrid"];
+var isIE11$1 = typeof window !== "undefined" && "msCrypto" in window;
+
+function canProxyKeyboardEvent(event) {
+ if (!Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_8__[/* isSelfTarget */ "a"])(event)) return false;
+ if (event.metaKey) return false;
+ if (event.key === "Tab") return false;
+ return true;
+}
+
+function useKeyboardEventProxy(virtual, currentItem, htmlEventHandler) {
+ var eventHandlerRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_7__[/* useLiveRef */ "a"])(htmlEventHandler);
+ return Object(react__WEBPACK_IMPORTED_MODULE_4__["useCallback"])(function (event) {
+ var _eventHandlerRef$curr;
+
+ if (virtual && canProxyKeyboardEvent(event)) {
+ var currentElement = currentItem === null || currentItem === void 0 ? void 0 : currentItem.ref.current;
+
+ if (currentElement) {
+ Object(reakit_utils_fireKeyboardEvent__WEBPACK_IMPORTED_MODULE_15__[/* fireKeyboardEvent */ "a"])(currentElement, event.type, event); // The event will be triggered on the composite item and then
+ // propagated up to this composite element again, so we can pretend
+ // that it wasn't called on this component in the first place.
+
+ if (event.currentTarget.contains(currentElement)) {
+ event.stopPropagation();
+ event.preventDefault();
+ return;
+ }
+ }
+ }
+
+ (_eventHandlerRef$curr = eventHandlerRef.current) === null || _eventHandlerRef$curr === void 0 ? void 0 : _eventHandlerRef$curr.call(eventHandlerRef, event);
+ }, [virtual, currentItem]);
+} // istanbul ignore next
+
+
+function useActiveElementRef(elementRef) {
+ var activeElementRef = Object(react__WEBPACK_IMPORTED_MODULE_4__["useRef"])(null);
+ Object(react__WEBPACK_IMPORTED_MODULE_4__["useEffect"])(function () {
+ var document = Object(reakit_utils_getDocument__WEBPACK_IMPORTED_MODULE_13__[/* getDocument */ "a"])(elementRef.current);
+
+ var onFocus = function onFocus(event) {
+ var target = event.target;
+ activeElementRef.current = target;
+ };
+
+ document.addEventListener("focus", onFocus, true);
+ return function () {
+ document.removeEventListener("focus", onFocus, true);
+ };
+ }, []);
+ return activeElementRef;
+}
+
+function findFirstEnabledItemInTheLastRow(items) {
+ return Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__["a"])(Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__["b"])(Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__[/* r */ "f"])(Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__["c"])(items))));
+}
+
+function isItem(items, element) {
+ return items === null || items === void 0 ? void 0 : items.some(function (item) {
+ return !!element && item.ref.current === element;
+ });
+}
+
+var useComposite = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__[/* createHook */ "a"])({
+ name: "Composite",
+ compose: [_Tabbable_Tabbable_js__WEBPACK_IMPORTED_MODULE_10__[/* useTabbable */ "a"]],
+ useState: _CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__[/* u */ "g"],
+ useOptions: function useOptions(options) {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, options), {}, {
+ currentId: Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__[/* g */ "e"])(options)
+ });
+ },
+ useProps: function useProps(options, _ref) {
+ var htmlRef = _ref.ref,
+ htmlOnFocus = _ref.onFocus,
+ htmlOnBlur = _ref.onBlur,
+ htmlOnKeyDown = _ref.onKeyDown,
+ htmlOnKeyUp = _ref.onKeyUp,
+ htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_ref, ["ref", "onFocus", "onBlur", "onKeyDown", "onKeyUp"]);
+
+ var ref = Object(react__WEBPACK_IMPORTED_MODULE_4__["useRef"])(null);
+ var currentItem = Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_16__[/* f */ "d"])(options.items, options.currentId);
+ var previousItem = Object(react__WEBPACK_IMPORTED_MODULE_4__["useRef"])(undefined);
+ var onFocusRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_7__[/* useLiveRef */ "a"])(htmlOnFocus);
+ var onBlurRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_7__[/* useLiveRef */ "a"])(htmlOnBlur); // IE 11 doesn't support event.relatedTarget, so we use the active element
+ // ref instead.
+
+ var activeElementRef = isIE11$1 ? useActiveElementRef(ref) : undefined;
+ Object(react__WEBPACK_IMPORTED_MODULE_4__["useEffect"])(function () {
+ var element = ref.current;
+
+ if (!element) {
+ false ? undefined : void 0;
+ return;
+ }
+
+ if (options.unstable_moves && !currentItem) {
+ // If composite.move(null) has been called, the composite container
+ // will receive focus.
+ element.focus();
+ }
+ }, [options.unstable_moves, currentItem]);
+ var onKeyDown = useKeyboardEventProxy(options.unstable_virtual, currentItem, htmlOnKeyDown);
+ var onKeyUp = useKeyboardEventProxy(options.unstable_virtual, currentItem, htmlOnKeyUp);
+ var onFocus = Object(react__WEBPACK_IMPORTED_MODULE_4__["useCallback"])(function (event) {
+ var _onFocusRef$current2;
+
+ if (options.unstable_virtual) {
+ // IE11 doesn't support event.relatedTarget, so we use the active
+ // element ref instead.
+ var previousActiveElement = (activeElementRef === null || activeElementRef === void 0 ? void 0 : activeElementRef.current) || event.relatedTarget;
+ var previousActiveElementWasItem = isItem(options.items, previousActiveElement);
+
+ if (Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_8__[/* isSelfTarget */ "a"])(event) && !previousActiveElementWasItem) {
+ var _onFocusRef$current, _currentItem$ref$curr;
+
+ // This means that the composite element has been focused while the
+ // composite item has not. For example, by clicking on the
+ // composite element without touching any item, or by tabbing into
+ // the composite element. In this case, we want to trigger focus on
+ // the item, just like it would happen with roving tabindex.
+ // When it receives focus, the composite item will put focus back
+ // on the composite element, in which case hasItemWithFocus will be
+ // true.
+ (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event);
+ currentItem === null || currentItem === void 0 ? void 0 : (_currentItem$ref$curr = currentItem.ref.current) === null || _currentItem$ref$curr === void 0 ? void 0 : _currentItem$ref$curr.focus();
+ return;
+ }
+
+ if (previousActiveElementWasItem) {
+ // Composite has been focused as a result of an item receiving
+ // focus. The composite item will move focus back to the composite
+ // container. In this case, we don't want to propagate this
+ // additional event nor call the onFocus handler passed to
+ // (htmlOnFocus). Unless users add DOM
+ // event handlers to the composite element directly, this will be
+ // like this event has never existed.
+ event.stopPropagation();
+ return;
+ }
+ } else if (Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_8__[/* isSelfTarget */ "a"])(event)) {
+ var _options$setCurrentId;
+
+ // When the roving tabindex composite gets intentionally focused (for
+ // example, by clicking directly on it, and not on an item), we make
+ // sure to set the current id to null (which means the composite
+ // itself is focused).
+ (_options$setCurrentId = options.setCurrentId) === null || _options$setCurrentId === void 0 ? void 0 : _options$setCurrentId.call(options, null);
+ }
+
+ (_onFocusRef$current2 = onFocusRef.current) === null || _onFocusRef$current2 === void 0 ? void 0 : _onFocusRef$current2.call(onFocusRef, event);
+ }, [options.unstable_virtual, options.items, currentItem, options.setCurrentId]);
+ var onBlur = Object(react__WEBPACK_IMPORTED_MODULE_4__["useCallback"])(function (event) {
+ var _onBlurRef$current;
+
+ // When virtual is set to true, we move focus from the composite
+ // container (this component) to the composite item that is being
+ // selected. Then we move focus back to the composite container. This
+ // is so we can provide the same API as the roving tabindex method,
+ // which means people can attach onFocus/onBlur handlers on the
+ // CompositeItem component regardless of whether it's virtual or not.
+ // This sequence of blurring and focusing items and composite may be
+ // confusing, so we ignore intermediate focus and blurs by stopping its
+ // propagation and not calling the passed onBlur handler (htmlOnBlur).
+ if (options.unstable_virtual) {
+ var targetIsItem = isItem(options.items, event.target);
+ var nextActiveElement = getNextActiveElementOnBlur(event);
+ var nextActiveElementIsItem = isItem(options.items, nextActiveElement);
+
+ if (Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_8__[/* isSelfTarget */ "a"])(event) && nextActiveElementIsItem) {
+ var _previousItem$current;
+
+ // This is an intermediate blur event: blurring the composite
+ // container to focus an item (nextActiveElement). We ignore this
+ // event.
+ if ((_previousItem$current = previousItem.current) === null || _previousItem$current === void 0 ? void 0 : _previousItem$current.ref.current) {
+ // If there's a previous active item we fire a blur event on it
+ // so it will work just like if it had DOM focus before (like when
+ // using roving tabindex).
+ Object(reakit_utils_fireEvent__WEBPACK_IMPORTED_MODULE_14__[/* fireEvent */ "a"])(previousItem.current.ref.current, "blur", event);
+ }
+
+ previousItem.current = currentItem;
+ event.stopPropagation();
+ return;
+ }
+
+ if (!targetIsItem) {
+ // If target is another thing (probably something outside of the
+ // composite container), we don't ignore the event, but we should
+ // reset the previousItem reference.
+ if (currentItem === null || currentItem === void 0 ? void 0 : currentItem.ref.current) {
+ Object(reakit_utils_fireEvent__WEBPACK_IMPORTED_MODULE_14__[/* fireEvent */ "a"])(currentItem.ref.current, "blur", event);
+ }
+
+ previousItem.current = undefined;
+ } else {
+ previousItem.current = currentItem;
+ }
+ }
+
+ (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event);
+ }, [options.unstable_virtual, options.items, currentItem]);
+ var onMove = Object(react__WEBPACK_IMPORTED_MODULE_4__["useMemo"])(function () {
+ return Object(reakit_utils_createOnKeyDown__WEBPACK_IMPORTED_MODULE_12__[/* createOnKeyDown */ "a"])({
+ onKeyDown: onKeyDown,
+ stopPropagation: true,
+ shouldKeyDown: function shouldKeyDown(event) {
+ return Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_8__[/* isSelfTarget */ "a"])(event) && options.currentId === null;
+ },
+ keyMap: function keyMap() {
+ var _options$groups;
+
+ var isVertical = options.orientation !== "horizontal";
+ var isHorizontal = options.orientation !== "vertical";
+ var isGrid = !!((_options$groups = options.groups) === null || _options$groups === void 0 ? void 0 : _options$groups.length);
+
+ var up = function up() {
+ if (isGrid) {
+ var item = findFirstEnabledItemInTheLastRow(options.items);
+
+ if (item === null || item === void 0 ? void 0 : item.id) {
+ var _options$move;
+
+ (_options$move = options.move) === null || _options$move === void 0 ? void 0 : _options$move.call(options, item.id);
+ }
+ } else {
+ var _options$last;
+
+ (_options$last = options.last) === null || _options$last === void 0 ? void 0 : _options$last.call(options);
+ }
+ };
+
+ var first = options.first && function () {
+ return options.first();
+ };
+
+ var last = options.last && function () {
+ return options.last();
+ };
+
+ return {
+ ArrowUp: (isGrid || isVertical) && up,
+ ArrowRight: (isGrid || isHorizontal) && first,
+ ArrowDown: (isGrid || isVertical) && first,
+ ArrowLeft: (isGrid || isHorizontal) && last,
+ Home: first,
+ End: last,
+ PageUp: first,
+ PageDown: last
+ };
+ }
+ });
+ }, [onKeyDown, options.currentId, options.orientation, options.groups, options.items, options.move, options.last, options.first]);
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ ref: Object(reakit_utils_useForkRef__WEBPACK_IMPORTED_MODULE_5__[/* useForkRef */ "a"])(ref, htmlRef),
+ id: options.baseId,
+ onFocus: onFocus,
+ onBlur: onBlur,
+ onKeyDown: onMove,
+ onKeyUp: onKeyUp,
+ "aria-activedescendant": options.unstable_virtual ? (currentItem === null || currentItem === void 0 ? void 0 : currentItem.id) || undefined : undefined
+ }, htmlProps);
+ },
+ useComposeProps: function useComposeProps(options, htmlProps) {
+ htmlProps = Object(_Box_Box_js__WEBPACK_IMPORTED_MODULE_3__[/* useBox */ "a"])(options, htmlProps, true);
+ var tabbableHTMLProps = Object(_Tabbable_Tabbable_js__WEBPACK_IMPORTED_MODULE_10__[/* useTabbable */ "a"])(options, htmlProps, true);
+
+ if (options.unstable_virtual || options.currentId === null) {
+ // Composite will only be tabbable by default if the focus is managed
+ // using aria-activedescendant, which requires DOM focus on the container
+ // element (the composite)
+ return tabbableHTMLProps;
+ }
+
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, htmlProps), {}, {
+ ref: tabbableHTMLProps.ref
+ });
+ }
+});
+var Composite = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__[/* createComponent */ "a"])({
+ as: "div",
+ useHook: useComposite,
+ useCreateElement: function useCreateElement$1(type, props, children) {
+ false ? undefined : void 0;
+ false ? undefined : void 0;
+ return Object(reakit_system_useCreateElement__WEBPACK_IMPORTED_MODULE_11__[/* useCreateElement */ "a"])(type, props, children);
+ }
+});
+
+
+
+
+/***/ }),
+/* 120 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CompositeItem; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return useCompositeItem; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49);
+/* harmony import */ var reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var reakit_utils_useForkRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(63);
+/* harmony import */ var reakit_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(80);
+/* harmony import */ var reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(46);
+/* harmony import */ var reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(53);
+/* harmony import */ var reakit_utils_hasFocusWithin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(69);
+/* harmony import */ var reakit_utils_isPortalEvent__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(72);
+/* harmony import */ var reakit_utils_tabbable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(71);
+/* harmony import */ var _Clickable_Clickable_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(84);
+/* harmony import */ var reakit_utils_createOnKeyDown__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(82);
+/* harmony import */ var reakit_utils_getDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(47);
+/* harmony import */ var _CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(51);
+/* harmony import */ var _Id_Id_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(93);
+/* harmony import */ var reakit_utils_isTextField__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(95);
+/* harmony import */ var _setTextFieldValue_78ab5d56_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(96);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+function getWidget(itemElement) {
+ return itemElement.querySelector("[data-composite-item-widget]");
+}
+
+function useItem(options) {
+ return Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () {
+ var _options$items;
+
+ return (_options$items = options.items) === null || _options$items === void 0 ? void 0 : _options$items.find(function (item) {
+ return options.id && item.id === options.id;
+ });
+ }, [options.items, options.id]);
+}
+
+function targetIsAnotherItem(event, items) {
+ if (Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__[/* isSelfTarget */ "a"])(event)) return false;
+
+ for (var _iterator = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* b */ "c"])(items), _step; !(_step = _iterator()).done;) {
+ var item = _step.value;
+
+ if (item.ref.current === event.target) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+var useCompositeItem = Object(reakit_system_createHook__WEBPACK_IMPORTED_MODULE_2__[/* createHook */ "a"])({
+ name: "CompositeItem",
+ compose: [_Clickable_Clickable_js__WEBPACK_IMPORTED_MODULE_11__[/* useClickable */ "a"], _Id_Id_js__WEBPACK_IMPORTED_MODULE_15__[/* unstable_useId */ "a"]],
+ useState: _CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_14__[/* u */ "g"],
+ propsAreEqual: function propsAreEqual(prev, next) {
+ if (!next.id || prev.id !== next.id) {
+ return _Clickable_Clickable_js__WEBPACK_IMPORTED_MODULE_11__[/* useClickable */ "a"].unstable_propsAreEqual(prev, next);
+ }
+
+ var prevCurrentId = prev.currentId,
+ prevMoves = prev.unstable_moves,
+ prevProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(prev, ["currentId", "unstable_moves"]);
+
+ var nextCurrentId = next.currentId,
+ nextMoves = next.unstable_moves,
+ nextProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(next, ["currentId", "unstable_moves"]);
+
+ if (nextCurrentId !== prevCurrentId) {
+ if (next.id === nextCurrentId || next.id === prevCurrentId) {
+ return false;
+ }
+ } else if (prevMoves !== nextMoves) {
+ return false;
+ }
+
+ return _Clickable_Clickable_js__WEBPACK_IMPORTED_MODULE_11__[/* useClickable */ "a"].unstable_propsAreEqual(prevProps, nextProps);
+ },
+ useOptions: function useOptions(options) {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({}, options), {}, {
+ id: options.id,
+ currentId: Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_14__[/* g */ "e"])(options),
+ unstable_clickOnSpace: options.unstable_hasActiveWidget ? false : options.unstable_clickOnSpace
+ });
+ },
+ useProps: function useProps(options, _ref) {
+ var _options$items2;
+
+ var htmlRef = _ref.ref,
+ _ref$tabIndex = _ref.tabIndex,
+ htmlTabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
+ htmlOnFocus = _ref.onFocus,
+ htmlOnBlur = _ref.onBlur,
+ htmlOnKeyDown = _ref.onKeyDown,
+ htmlOnClick = _ref.onClick,
+ htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_ref, ["ref", "tabIndex", "onFocus", "onBlur", "onKeyDown", "onClick"]);
+
+ var ref = Object(react__WEBPACK_IMPORTED_MODULE_3__["useRef"])(null);
+ var id = options.id;
+ var trulyDisabled = options.disabled && !options.focusable;
+ var isCurrentItem = options.currentId === id;
+ var isCurrentItemRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(isCurrentItem);
+ var hasFocusedComposite = Object(react__WEBPACK_IMPORTED_MODULE_3__["useRef"])(false);
+ var item = useItem(options);
+ var onFocusRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(htmlOnFocus);
+ var onBlurRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(htmlOnBlur);
+ var onKeyDownRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(htmlOnKeyDown);
+ var onClickRef = Object(reakit_utils_useLiveRef__WEBPACK_IMPORTED_MODULE_6__[/* useLiveRef */ "a"])(htmlOnClick);
+ var shouldTabIndex = !options.unstable_virtual && !options.unstable_hasActiveWidget && isCurrentItem || // We don't want to set tabIndex="-1" when using CompositeItem as a
+ // standalone component, without state props.
+ !((_options$items2 = options.items) === null || _options$items2 === void 0 ? void 0 : _options$items2.length);
+ Object(react__WEBPACK_IMPORTED_MODULE_3__["useEffect"])(function () {
+ var _options$registerItem;
+
+ if (!id) return undefined;
+ (_options$registerItem = options.registerItem) === null || _options$registerItem === void 0 ? void 0 : _options$registerItem.call(options, {
+ id: id,
+ ref: ref,
+ disabled: !!trulyDisabled
+ });
+ return function () {
+ var _options$unregisterIt;
+
+ (_options$unregisterIt = options.unregisterItem) === null || _options$unregisterIt === void 0 ? void 0 : _options$unregisterIt.call(options, id);
+ };
+ }, [id, trulyDisabled, options.registerItem, options.unregisterItem]);
+ Object(react__WEBPACK_IMPORTED_MODULE_3__["useEffect"])(function () {
+ var element = ref.current;
+
+ if (!element) {
+ false ? undefined : void 0;
+ return;
+ } // `moves` will be incremented whenever next, previous, up, down, first,
+ // last or move have been called. This means that the composite item will
+ // be focused whenever some of these functions are called. We're using
+ // isCurrentItemRef instead of isCurrentItem because we don't want to
+ // focus the item if isCurrentItem changes (and options.moves doesn't).
+
+
+ if (options.unstable_moves && isCurrentItemRef.current) {
+ element.focus();
+ }
+ }, [options.unstable_moves]);
+ var onFocus = Object(react__WEBPACK_IMPORTED_MODULE_3__["useCallback"])(function (event) {
+ var _onFocusRef$current, _options$setCurrentId;
+
+ (_onFocusRef$current = onFocusRef.current) === null || _onFocusRef$current === void 0 ? void 0 : _onFocusRef$current.call(onFocusRef, event);
+ if (event.defaultPrevented) return;
+ if (Object(reakit_utils_isPortalEvent__WEBPACK_IMPORTED_MODULE_9__[/* isPortalEvent */ "a"])(event)) return;
+ if (!id) return;
+ if (targetIsAnotherItem(event, options.items)) return;
+ (_options$setCurrentId = options.setCurrentId) === null || _options$setCurrentId === void 0 ? void 0 : _options$setCurrentId.call(options, id); // When using aria-activedescendant, we want to make sure that the
+ // composite container receives focus, not the composite item.
+ // But we don't want to do this if the target is another focusable
+ // element inside the composite item, such as CompositeItemWidget.
+
+ if (options.unstable_virtual && options.baseId && Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__[/* isSelfTarget */ "a"])(event)) {
+ var target = event.target;
+ var composite = Object(reakit_utils_getDocument__WEBPACK_IMPORTED_MODULE_13__[/* getDocument */ "a"])(target).getElementById(options.baseId);
+
+ if (composite) {
+ hasFocusedComposite.current = true;
+ Object(reakit_utils_tabbable__WEBPACK_IMPORTED_MODULE_10__[/* ensureFocus */ "a"])(composite);
+ }
+ }
+ }, [id, options.items, options.setCurrentId, options.unstable_virtual, options.baseId]);
+ var onBlur = Object(react__WEBPACK_IMPORTED_MODULE_3__["useCallback"])(function (event) {
+ var _onBlurRef$current;
+
+ if (options.unstable_virtual) {
+ if (hasFocusedComposite.current) {
+ // When hasFocusedComposite is true, composite has been focused
+ // right after focusing this item. This is an intermediate blur
+ // event, so we ignore it.
+ hasFocusedComposite.current = false;
+ event.preventDefault();
+ event.stopPropagation();
+ return;
+ }
+ }
+
+ (_onBlurRef$current = onBlurRef.current) === null || _onBlurRef$current === void 0 ? void 0 : _onBlurRef$current.call(onBlurRef, event);
+ }, [options.unstable_virtual]);
+ var onCharacterKeyDown = Object(react__WEBPACK_IMPORTED_MODULE_3__["useCallback"])(function (event) {
+ var _onKeyDownRef$current;
+
+ (_onKeyDownRef$current = onKeyDownRef.current) === null || _onKeyDownRef$current === void 0 ? void 0 : _onKeyDownRef$current.call(onKeyDownRef, event);
+ if (!Object(reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__[/* isSelfTarget */ "a"])(event)) return;
+
+ if (event.key.length === 1 && event.key !== " ") {
+ var widget = getWidget(event.currentTarget);
+
+ if (widget && Object(reakit_utils_isTextField__WEBPACK_IMPORTED_MODULE_16__[/* isTextField */ "a"])(widget)) {
+ widget.focus();
+ var key = event.key; // Using RAF here because otherwise the key will be added twice
+ // to the input when using roving tabindex
+
+ window.requestAnimationFrame(function () {
+ Object(_setTextFieldValue_78ab5d56_js__WEBPACK_IMPORTED_MODULE_17__[/* s */ "a"])(widget, key);
+ });
+ }
+ }
+ }, []);
+ var onKeyDown = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () {
+ return Object(reakit_utils_createOnKeyDown__WEBPACK_IMPORTED_MODULE_12__[/* createOnKeyDown */ "a"])({
+ onKeyDown: onCharacterKeyDown,
+ stopPropagation: true,
+ // We don't want to listen to focusable elements inside the composite
+ // item, such as a CompositeItemWidget.
+ shouldKeyDown: reakit_utils_isSelfTarget__WEBPACK_IMPORTED_MODULE_7__[/* isSelfTarget */ "a"],
+ keyMap: function keyMap() {
+ // `options.orientation` can also be undefined, which means that
+ // both `isVertical` and `isHorizontal` will be `true`.
+ var isVertical = options.orientation !== "horizontal";
+ var isHorizontal = options.orientation !== "vertical";
+ var isGrid = !!(item === null || item === void 0 ? void 0 : item.groupId);
+
+ var Delete = function Delete(event) {
+ var widget = getWidget(event.currentTarget);
+
+ if (widget && Object(reakit_utils_isTextField__WEBPACK_IMPORTED_MODULE_16__[/* isTextField */ "a"])(widget)) {
+ Object(_setTextFieldValue_78ab5d56_js__WEBPACK_IMPORTED_MODULE_17__[/* s */ "a"])(widget, "");
+ }
+ };
+
+ var up = options.up && function () {
+ return options.up();
+ };
+
+ var next = options.next && function () {
+ return options.next();
+ };
+
+ var down = options.down && function () {
+ return options.down();
+ };
+
+ var previous = options.previous && function () {
+ return options.previous();
+ };
+
+ return {
+ Delete: Delete,
+ Backspace: Delete,
+ ArrowUp: (isGrid || isVertical) && up,
+ ArrowRight: (isGrid || isHorizontal) && next,
+ ArrowDown: (isGrid || isVertical) && down,
+ ArrowLeft: (isGrid || isHorizontal) && previous,
+ Home: function Home(event) {
+ if (!isGrid || event.ctrlKey) {
+ var _options$first;
+
+ (_options$first = options.first) === null || _options$first === void 0 ? void 0 : _options$first.call(options);
+ } else {
+ var _options$previous;
+
+ (_options$previous = options.previous) === null || _options$previous === void 0 ? void 0 : _options$previous.call(options, true);
+ }
+ },
+ End: function End(event) {
+ if (!isGrid || event.ctrlKey) {
+ var _options$last;
+
+ (_options$last = options.last) === null || _options$last === void 0 ? void 0 : _options$last.call(options);
+ } else {
+ var _options$next;
+
+ (_options$next = options.next) === null || _options$next === void 0 ? void 0 : _options$next.call(options, true);
+ }
+ },
+ PageUp: function PageUp() {
+ if (isGrid) {
+ var _options$up;
+
+ (_options$up = options.up) === null || _options$up === void 0 ? void 0 : _options$up.call(options, true);
+ } else {
+ var _options$first2;
+
+ (_options$first2 = options.first) === null || _options$first2 === void 0 ? void 0 : _options$first2.call(options);
+ }
+ },
+ PageDown: function PageDown() {
+ if (isGrid) {
+ var _options$down;
+
+ (_options$down = options.down) === null || _options$down === void 0 ? void 0 : _options$down.call(options, true);
+ } else {
+ var _options$last2;
+
+ (_options$last2 = options.last) === null || _options$last2 === void 0 ? void 0 : _options$last2.call(options);
+ }
+ }
+ };
+ }
+ });
+ }, [onCharacterKeyDown, options.orientation, item, options.up, options.next, options.down, options.previous, options.first, options.last]);
+ var onClick = Object(react__WEBPACK_IMPORTED_MODULE_3__["useCallback"])(function (event) {
+ var _onClickRef$current;
+
+ (_onClickRef$current = onClickRef.current) === null || _onClickRef$current === void 0 ? void 0 : _onClickRef$current.call(onClickRef, event);
+ if (event.defaultPrevented) return;
+ var element = event.currentTarget;
+ var widget = getWidget(element);
+
+ if (widget && !Object(reakit_utils_hasFocusWithin__WEBPACK_IMPORTED_MODULE_8__[/* hasFocusWithin */ "a"])(widget)) {
+ // If there's a widget inside the composite item, we make sure it's
+ // focused when pressing enter, space or clicking on the composite item.
+ widget.focus();
+ }
+ }, []);
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ ref: Object(reakit_utils_useForkRef__WEBPACK_IMPORTED_MODULE_4__[/* useForkRef */ "a"])(ref, htmlRef),
+ id: id,
+ tabIndex: shouldTabIndex ? htmlTabIndex : -1,
+ "aria-selected": options.unstable_virtual && isCurrentItem ? true : undefined,
+ onFocus: onFocus,
+ onBlur: onBlur,
+ onKeyDown: onKeyDown,
+ onClick: onClick
+ }, htmlProps);
+ }
+});
+var CompositeItem = Object(reakit_system_createComponent__WEBPACK_IMPORTED_MODULE_1__[/* createComponent */ "a"])({
+ as: "button",
+ memo: true,
+ useHook: useCompositeItem
+});
+
+
+
+
+/***/ }),
+/* 121 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "b", function() { return /* binding */ slot_fill_Slot; });
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ slot_fill_Fill; });
+__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ createSlotFill; });
+
+// UNUSED EXPORTS: useSlot, Provider
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(15);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(20);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(12);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(16);
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/superPropBase.js
+
+function _superPropBase(object, property) {
+ while (!Object.prototype.hasOwnProperty.call(object, property)) {
+ object = Object(getPrototypeOf["a" /* default */])(object);
+ if (object === null) break;
+ }
+
+ return object;
+}
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/get.js
+
+function get_get(target, property, receiver) {
+ if (typeof Reflect !== "undefined" && Reflect.get) {
+ get_get = Reflect.get;
+ } else {
+ get_get = function _get(target, property, receiver) {
+ var base = _superPropBase(target, property);
+ if (!base) return;
+ var desc = Object.getOwnPropertyDescriptor(base, property);
+
+ if (desc.get) {
+ return desc.get.call(receiver);
+ }
+
+ return desc.value;
+ };
+ }
+
+ return get_get(target, property, receiver || target);
+}
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(23);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":"lodash"}
+var external_this_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/context.js + 1 modules
+var context = __webpack_require__(124);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/slot.js
+
+
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var slot_SlotComponent = /*#__PURE__*/function (_Component) {
+ Object(inherits["a" /* default */])(SlotComponent, _Component);
+
+ var _super = _createSuper(SlotComponent);
+
+ function SlotComponent() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, SlotComponent);
+
+ _this = _super.apply(this, arguments);
+ _this.isUnmounted = false;
+ _this.bindNode = _this.bindNode.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(SlotComponent, [{
+ key: "componentDidMount",
+ value: function componentDidMount() {
+ var registerSlot = this.props.registerSlot;
+ registerSlot(this.props.name, this);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var unregisterSlot = this.props.unregisterSlot;
+ this.isUnmounted = true;
+ unregisterSlot(this.props.name, this);
+ }
+ }, {
+ key: "componentDidUpdate",
+ value: function componentDidUpdate(prevProps) {
+ var _this$props = this.props,
+ name = _this$props.name,
+ unregisterSlot = _this$props.unregisterSlot,
+ registerSlot = _this$props.registerSlot;
+
+ if (prevProps.name !== name) {
+ unregisterSlot(prevProps.name);
+ registerSlot(name, this);
+ }
+ }
+ }, {
+ key: "bindNode",
+ value: function bindNode(node) {
+ this.node = node;
+ }
+ }, {
+ key: "forceUpdate",
+ value: function forceUpdate() {
+ if (this.isUnmounted) {
+ return;
+ }
+
+ get_get(Object(getPrototypeOf["a" /* default */])(SlotComponent.prototype), "forceUpdate", this).call(this);
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ var _this$props2 = this.props,
+ children = _this$props2.children,
+ name = _this$props2.name,
+ _this$props2$fillProp = _this$props2.fillProps,
+ fillProps = _this$props2$fillProp === void 0 ? {} : _this$props2$fillProp,
+ getFills = _this$props2.getFills;
+ var fills = Object(external_this_lodash_["map"])(getFills(name, this), function (fill) {
+ var fillKey = fill.occurrence;
+ var fillChildren = Object(external_this_lodash_["isFunction"])(fill.children) ? fill.children(fillProps) : fill.children;
+ return external_this_wp_element_["Children"].map(fillChildren, function (child, childIndex) {
+ if (!child || Object(external_this_lodash_["isString"])(child)) {
+ return child;
+ }
+
+ var childKey = "".concat(fillKey, "---").concat(child.key || childIndex);
+ return Object(external_this_wp_element_["cloneElement"])(child, {
+ key: childKey
+ });
+ });
+ }).filter( // In some cases fills are rendered only when some conditions apply.
+ // This ensures that we only use non-empty fills when rendering, i.e.,
+ // it allows us to render wrappers only when the fills are actually present.
+ Object(external_this_lodash_["negate"])(external_this_wp_element_["isEmptyElement"]));
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_lodash_["isFunction"])(children) ? children(fills) : fills);
+ }
+ }]);
+
+ return SlotComponent;
+}(external_this_wp_element_["Component"]);
+
+var slot_Slot = function Slot(props) {
+ return Object(external_this_wp_element_["createElement"])(context["a" /* Consumer */], null, function (_ref) {
+ var registerSlot = _ref.registerSlot,
+ unregisterSlot = _ref.unregisterSlot,
+ getFills = _ref.getFills;
+ return Object(external_this_wp_element_["createElement"])(slot_SlotComponent, Object(esm_extends["a" /* default */])({}, props, {
+ registerSlot: registerSlot,
+ unregisterSlot: unregisterSlot,
+ getFills: getFills
+ }));
+ });
+};
+
+/* harmony default export */ var slot_fill_slot = (slot_Slot);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/fill.js
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var occurrences = 0;
+
+function fill_FillComponent(_ref) {
+ var name = _ref.name,
+ children = _ref.children,
+ registerFill = _ref.registerFill,
+ unregisterFill = _ref.unregisterFill;
+ var slot = Object(context["c" /* useSlot */])(name);
+ var ref = Object(external_this_wp_element_["useRef"])({
+ name: name,
+ children: children
+ });
+
+ if (!ref.current.occurrence) {
+ ref.current.occurrence = ++occurrences;
+ }
+
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ registerFill(name, ref.current);
+ return function () {
+ return unregisterFill(name, ref.current);
+ };
+ }, []);
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ ref.current.children = children;
+
+ if (slot) {
+ slot.forceUpdate();
+ }
+ }, [children]);
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ if (name === ref.current.name) {
+ // ignore initial effect
+ return;
+ }
+
+ unregisterFill(ref.current.name, ref.current);
+ ref.current.name = name;
+ registerFill(name, ref.current);
+ }, [name]);
+
+ if (!slot || !slot.node) {
+ return null;
+ } // If a function is passed as a child, provide it with the fillProps.
+
+
+ if (Object(external_this_lodash_["isFunction"])(children)) {
+ children = children(slot.props.fillProps);
+ }
+
+ return Object(external_this_wp_element_["createPortal"])(children, slot.node);
+}
+
+var fill_Fill = function Fill(props) {
+ return Object(external_this_wp_element_["createElement"])(context["a" /* Consumer */], null, function (_ref2) {
+ var registerFill = _ref2.registerFill,
+ unregisterFill = _ref2.unregisterFill;
+ return Object(external_this_wp_element_["createElement"])(fill_FillComponent, Object(esm_extends["a" /* default */])({}, props, {
+ registerFill: registerFill,
+ unregisterFill: unregisterFill
+ }));
+ });
+};
+
+/* harmony default export */ var slot_fill_fill = (fill_Fill);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-context.js
+var slot_fill_context = __webpack_require__(133);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot.js
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+function bubbles_virtually_slot_Slot(_ref) {
+ var name = _ref.name,
+ _ref$fillProps = _ref.fillProps,
+ fillProps = _ref$fillProps === void 0 ? {} : _ref$fillProps,
+ _ref$as = _ref.as,
+ Component = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["name", "fillProps", "as"]);
+
+ var registry = Object(external_this_wp_element_["useContext"])(slot_fill_context["a" /* default */]);
+ var ref = Object(external_this_wp_element_["useRef"])();
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ registry.registerSlot(name, ref, fillProps);
+ return function () {
+ registry.unregisterSlot(name, ref);
+ }; // We are not including fillProps in the deps because we don't want to
+ // unregister and register the slot whenever fillProps change, which would
+ // cause the fill to be re-mounted. We are only considering the initial value
+ // of fillProps.
+ }, [registry.registerSlot, registry.unregisterSlot, name]); // fillProps may be an update that interacts with the layout, so we
+ // useLayoutEffect
+
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ registry.updateSlot(name, fillProps);
+ });
+ return Object(external_this_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({
+ ref: ref
+ }, props));
+}
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
+var slicedToArray = __webpack_require__(14);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/use-slot.js
+var use_slot = __webpack_require__(159);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/fill.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function useForceUpdate() {
+ var _useState = Object(external_this_wp_element_["useState"])({}),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ setState = _useState2[1];
+
+ return function () {
+ return setState({});
+ };
+}
+
+function bubbles_virtually_fill_Fill(_ref) {
+ var name = _ref.name,
+ children = _ref.children;
+ var slot = Object(use_slot["a" /* default */])(name);
+ var ref = Object(external_this_wp_element_["useRef"])({
+ rerender: useForceUpdate()
+ });
+ Object(external_this_wp_element_["useEffect"])(function () {
+ // We register fills so we can keep track of their existance.
+ // Some Slot implementations need to know if there're already fills
+ // registered so they can choose to render themselves or not.
+ slot.registerFill(ref);
+ return function () {
+ slot.unregisterFill(ref);
+ };
+ }, [slot.registerFill, slot.unregisterFill]);
+
+ if (!slot.ref || !slot.ref.current) {
+ return null;
+ }
+
+ if (typeof children === 'function') {
+ children = children(slot.fillProps);
+ }
+
+ return Object(external_this_wp_element_["createPortal"])(children, slot.ref.current);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/index.js
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+function slot_fill_Slot(_ref) {
+ var bubblesVirtually = _ref.bubblesVirtually,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["bubblesVirtually"]);
+
+ if (bubblesVirtually) {
+ return Object(external_this_wp_element_["createElement"])(bubbles_virtually_slot_Slot, props);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(slot_fill_slot, props);
+}
+function slot_fill_Fill(props) {
+ // We're adding both Fills here so they can register themselves before
+ // their respective slot has been registered. Only the Fill that has a slot
+ // will render. The other one will return null.
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_this_wp_element_["createElement"])(slot_fill_fill, props), Object(external_this_wp_element_["createElement"])(bubbles_virtually_fill_Fill, props));
+}
+function createSlotFill(name) {
+ var FillComponent = function FillComponent(props) {
+ return Object(external_this_wp_element_["createElement"])(slot_fill_Fill, Object(esm_extends["a" /* default */])({
+ name: name
+ }, props));
+ };
+
+ FillComponent.displayName = name + 'Fill';
+
+ var SlotComponent = function SlotComponent(props) {
+ return Object(external_this_wp_element_["createElement"])(slot_fill_Slot, Object(esm_extends["a" /* default */])({
+ name: name
+ }, props));
+ };
+
+ SlotComponent.displayName = name + 'Slot';
+ return {
+ Fill: FillComponent,
+ Slot: SlotComponent
+ };
+}
+
+
+
+/***/ }),
+/* 122 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createEvent; });
+/* harmony import */ var _getDocument_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47);
+
+
+/**
+ * Creates an `Event` in a way that also works on IE 11.
+ *
+ * @example
+ * import { createEvent } from "reakit-utils";
+ *
+ * const el = document.getElementById("id");
+ * el.dispatchEvent(createEvent(el, "blur", { bubbles: false }));
+ */
+
+function createEvent(element, type, eventInit) {
+ var _eventInit, _eventInit2;
+
+ if (eventInit === void 0) {
+ eventInit = {};
+ }
+
+ if (typeof Event === "function") {
+ return new Event(type, eventInit);
+ } // IE 11 doesn't support Event constructors
+
+
+ var event = Object(_getDocument_js__WEBPACK_IMPORTED_MODULE_0__[/* getDocument */ "a"])(element).createEvent("Event");
+ event.initEvent(type, (_eventInit = eventInit) === null || _eventInit === void 0 ? void 0 : _eventInit.bubbles, (_eventInit2 = eventInit) === null || _eventInit2 === void 0 ? void 0 : _eventInit2.cancelable);
+ return event;
+}
+
+
+
+
+/***/ }),
+/* 123 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = __webpack_require__(178);
+
+/***/ }),
+/* 124 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "c", function() { return /* binding */ context_useSlot; });
+__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ Consumer; });
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
+var slicedToArray = __webpack_require__(14);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
+var toConsumableArray = __webpack_require__(18);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(20);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(12);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(23);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(16);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(22);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":"lodash"}
+var external_this_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
+var esm_typeof = __webpack_require__(40);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(15);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(5);
+
+// EXTERNAL MODULE: external {"this":["wp","isShallowEqual"]}
+var external_this_wp_isShallowEqual_ = __webpack_require__(64);
+var external_this_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_isShallowEqual_);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-context.js
+var slot_fill_context = __webpack_require__(133);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js
+
+
+
+
+
+
+
+function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return Object(esm_typeof["a" /* default */])(key) === "symbol" ? key : String(key); }
+
+function _toPrimitive(input, hint) { if (Object(esm_typeof["a" /* default */])(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (Object(esm_typeof["a" /* default */])(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function useSlotRegistry() {
+ var _useState = Object(external_this_wp_element_["useState"])({}),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ slots = _useState2[0],
+ setSlots = _useState2[1];
+
+ var _useState3 = Object(external_this_wp_element_["useState"])({}),
+ _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
+ fills = _useState4[0],
+ setFills = _useState4[1];
+
+ var registerSlot = Object(external_this_wp_element_["useCallback"])(function (name, ref, fillProps) {
+ setSlots(function (prevSlots) {
+ var slot = prevSlots[name] || {};
+ return _objectSpread({}, prevSlots, Object(defineProperty["a" /* default */])({}, name, _objectSpread({}, slot, {
+ ref: ref || slot.ref,
+ fillProps: fillProps || slot.fillProps || {}
+ })));
+ });
+ }, []);
+ var unregisterSlot = Object(external_this_wp_element_["useCallback"])(function (name, ref) {
+ setSlots(function (prevSlots) {
+ var slot = prevSlots[name],
+ nextSlots = Object(objectWithoutProperties["a" /* default */])(prevSlots, [name].map(_toPropertyKey)); // Make sure we're not unregistering a slot registered by another element
+ // See https://github.com/WordPress/gutenberg/pull/19242#issuecomment-590295412
+
+
+ if ((slot === null || slot === void 0 ? void 0 : slot.ref) === ref) {
+ return nextSlots;
+ }
+
+ return prevSlots;
+ });
+ }, []);
+ var updateSlot = Object(external_this_wp_element_["useCallback"])(function (name, fillProps) {
+ var slot = slots[name];
+
+ if (!slot) {
+ return;
+ }
+
+ if (!external_this_wp_isShallowEqual_default()(slot.fillProps, fillProps)) {
+ slot.fillProps = fillProps;
+ var slotFills = fills[name];
+
+ if (slotFills) {
+ // Force update fills
+ slotFills.map(function (fill) {
+ return fill.current.rerender();
+ });
+ }
+ }
+ }, [slots, fills]);
+ var registerFill = Object(external_this_wp_element_["useCallback"])(function (name, ref) {
+ setFills(function (prevFills) {
+ return _objectSpread({}, prevFills, Object(defineProperty["a" /* default */])({}, name, [].concat(Object(toConsumableArray["a" /* default */])(prevFills[name] || []), [ref])));
+ });
+ }, []);
+ var unregisterFill = Object(external_this_wp_element_["useCallback"])(function (name, ref) {
+ setFills(function (prevFills) {
+ if (prevFills[name]) {
+ return _objectSpread({}, prevFills, Object(defineProperty["a" /* default */])({}, name, prevFills[name].filter(function (fillRef) {
+ return fillRef !== ref;
+ })));
+ }
+
+ return prevFills;
+ });
+ }, []); // Memoizing the return value so it can be directly passed to Provider value
+
+ var registry = Object(external_this_wp_element_["useMemo"])(function () {
+ return {
+ slots: slots,
+ fills: fills,
+ registerSlot: registerSlot,
+ updateSlot: updateSlot,
+ unregisterSlot: unregisterSlot,
+ registerFill: registerFill,
+ unregisterFill: unregisterFill
+ };
+ }, [slots, fills, registerSlot, updateSlot, unregisterSlot, registerFill, unregisterFill]);
+ return registry;
+}
+
+function slot_fill_provider_SlotFillProvider(_ref) {
+ var children = _ref.children;
+ var registry = useSlotRegistry();
+ return Object(external_this_wp_element_["createElement"])(slot_fill_context["a" /* default */].Provider, {
+ value: registry
+ }, children);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/context.js
+
+
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var SlotFillContext = Object(external_this_wp_element_["createContext"])({
+ registerSlot: function registerSlot() {},
+ unregisterSlot: function unregisterSlot() {},
+ registerFill: function registerFill() {},
+ unregisterFill: function unregisterFill() {},
+ getSlot: function getSlot() {},
+ getFills: function getFills() {},
+ subscribe: function subscribe() {}
+});
+var Provider = SlotFillContext.Provider,
+ Consumer = SlotFillContext.Consumer;
+
+var context_SlotFillProvider = /*#__PURE__*/function (_Component) {
+ Object(inherits["a" /* default */])(SlotFillProvider, _Component);
+
+ var _super = _createSuper(SlotFillProvider);
+
+ function SlotFillProvider() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, SlotFillProvider);
+
+ _this = _super.apply(this, arguments);
+ _this.registerSlot = _this.registerSlot.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.registerFill = _this.registerFill.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.unregisterSlot = _this.unregisterSlot.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.unregisterFill = _this.unregisterFill.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getSlot = _this.getSlot.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.getFills = _this.getFills.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.hasFills = _this.hasFills.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.subscribe = _this.subscribe.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.slots = {};
+ _this.fills = {};
+ _this.listeners = [];
+ _this.contextValue = {
+ registerSlot: _this.registerSlot,
+ unregisterSlot: _this.unregisterSlot,
+ registerFill: _this.registerFill,
+ unregisterFill: _this.unregisterFill,
+ getSlot: _this.getSlot,
+ getFills: _this.getFills,
+ hasFills: _this.hasFills,
+ subscribe: _this.subscribe
+ };
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(SlotFillProvider, [{
+ key: "registerSlot",
+ value: function registerSlot(name, slot) {
+ var previousSlot = this.slots[name];
+ this.slots[name] = slot;
+ this.triggerListeners(); // Sometimes the fills are registered after the initial render of slot
+ // But before the registerSlot call, we need to rerender the slot
+
+ this.forceUpdateSlot(name); // If a new instance of a slot is being mounted while another with the
+ // same name exists, force its update _after_ the new slot has been
+ // assigned into the instance, such that its own rendering of children
+ // will be empty (the new Slot will subsume all fills for this name).
+
+ if (previousSlot) {
+ previousSlot.forceUpdate();
+ }
+ }
+ }, {
+ key: "registerFill",
+ value: function registerFill(name, instance) {
+ this.fills[name] = [].concat(Object(toConsumableArray["a" /* default */])(this.fills[name] || []), [instance]);
+ this.forceUpdateSlot(name);
+ }
+ }, {
+ key: "unregisterSlot",
+ value: function unregisterSlot(name, instance) {
+ // If a previous instance of a Slot by this name unmounts, do nothing,
+ // as the slot and its fills should only be removed for the current
+ // known instance.
+ if (this.slots[name] !== instance) {
+ return;
+ }
+
+ delete this.slots[name];
+ this.triggerListeners();
+ }
+ }, {
+ key: "unregisterFill",
+ value: function unregisterFill(name, instance) {
+ this.fills[name] = Object(external_this_lodash_["without"])(this.fills[name], instance);
+ this.resetFillOccurrence(name);
+ this.forceUpdateSlot(name);
+ }
+ }, {
+ key: "getSlot",
+ value: function getSlot(name) {
+ return this.slots[name];
+ }
+ }, {
+ key: "getFills",
+ value: function getFills(name, slotInstance) {
+ // Fills should only be returned for the current instance of the slot
+ // in which they occupy.
+ if (this.slots[name] !== slotInstance) {
+ return [];
+ }
+
+ return Object(external_this_lodash_["sortBy"])(this.fills[name], 'occurrence');
+ }
+ }, {
+ key: "hasFills",
+ value: function hasFills(name) {
+ return this.fills[name] && !!this.fills[name].length;
+ }
+ }, {
+ key: "resetFillOccurrence",
+ value: function resetFillOccurrence(name) {
+ Object(external_this_lodash_["forEach"])(this.fills[name], function (instance) {
+ instance.occurrence = undefined;
+ });
+ }
+ }, {
+ key: "forceUpdateSlot",
+ value: function forceUpdateSlot(name) {
+ var slot = this.getSlot(name);
+
+ if (slot) {
+ slot.forceUpdate();
+ }
+ }
+ }, {
+ key: "triggerListeners",
+ value: function triggerListeners() {
+ this.listeners.forEach(function (listener) {
+ return listener();
+ });
+ }
+ }, {
+ key: "subscribe",
+ value: function subscribe(listener) {
+ var _this2 = this;
+
+ this.listeners.push(listener);
+ return function () {
+ _this2.listeners = Object(external_this_lodash_["without"])(_this2.listeners, listener);
+ };
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(Provider, {
+ value: this.contextValue
+ }, Object(external_this_wp_element_["createElement"])(slot_fill_provider_SlotFillProvider, null, this.props.children));
+ }
+ }]);
+
+ return SlotFillProvider;
+}(external_this_wp_element_["Component"]);
+/**
+ * React hook returning the active slot given a name.
+ *
+ * @param {string} name Slot name.
+ * @return {Object} Slot object.
+ */
+
+
+var context_useSlot = function useSlot(name) {
+ var _useContext = Object(external_this_wp_element_["useContext"])(SlotFillContext),
+ getSlot = _useContext.getSlot,
+ subscribe = _useContext.subscribe;
+
+ var _useState = Object(external_this_wp_element_["useState"])(getSlot(name)),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ slot = _useState2[0],
+ setSlot = _useState2[1];
+
+ Object(external_this_wp_element_["useEffect"])(function () {
+ setSlot(getSlot(name));
+ var unsubscribe = subscribe(function () {
+ setSlot(getSlot(name));
+ });
+ return unsubscribe;
+ }, [name]);
+ return slot;
+};
+/* harmony default export */ var context = __webpack_exports__["b"] = (context_SlotFillProvider);
+
+
+
+/***/ }),
+/* 125 */,
+/* 126 */,
+/* 127 */
/***/ (function(module, exports) {
var g;
@@ -2428,484 +11842,492 @@
/***/ }),
-/* 60 */,
-/* 61 */,
-/* 62 */,
-/* 63 */,
-/* 64 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var moment = __webpack_require__(29);
-var momentValidationWrapper = __webpack_require__(288);
-var core = __webpack_require__(289);
-
-module.exports = {
-
- momentObj : core.createMomentChecker(
- 'object',
- function(obj) {
- return typeof obj === 'object';
- },
- function isValid(value) {
- return momentValidationWrapper.isValidMoment(value);
- },
- 'Moment'
- ),
-
- momentString : core.createMomentChecker(
- 'string',
- function(str) {
- return typeof str === 'string';
- },
- function isValid(value) {
- return momentValidationWrapper.isValidMoment(moment(value));
- },
- 'Moment'
- ),
-
- momentDurationObj : core.createMomentChecker(
- 'object',
- function(obj) {
- return typeof obj === 'object';
- },
- function isValid(value) {
- return moment.isDuration(value);
- },
- 'Duration'
- ),
-
-};
-
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var rng = __webpack_require__(87);
-var bytesToUuid = __webpack_require__(88);
-
-function v4(options, buf, offset) {
- var i = buf && offset || 0;
-
- if (typeof(options) == 'string') {
- buf = options === 'binary' ? new Array(16) : null;
- options = null;
- }
- options = options || {};
-
- var rnds = options.random || (options.rng || rng)();
-
- // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
- rnds[6] = (rnds[6] & 0x0f) | 0x40;
- rnds[8] = (rnds[8] & 0x3f) | 0x80;
-
- // Copy bytes to buffer, if provided
- if (buf) {
- for (var ii = 0; ii < 16; ++ii) {
- buf[i + ii] = rnds[ii];
- }
- }
-
- return buf || bytesToUuid(rnds);
-}
-
-module.exports = v4;
-
-
-/***/ }),
-/* 66 */,
-/* 67 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = __webpack_require__(115);
-
-/***/ }),
-/* 68 */,
-/* 69 */,
-/* 70 */,
-/* 71 */,
-/* 72 */,
-/* 73 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var keys = __webpack_require__(141);
-var foreach = __webpack_require__(267);
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol() === 'symbol';
-
-var toStr = Object.prototype.toString;
-
-var isFunction = function (fn) {
- return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
-};
-
-var arePropertyDescriptorsSupported = function () {
- var obj = {};
- try {
- Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
- /* eslint-disable no-unused-vars, no-restricted-syntax */
- for (var _ in obj) { return false; }
- /* eslint-enable no-unused-vars, no-restricted-syntax */
- return obj.x === obj;
- } catch (e) { /* this is IE 8. */
- return false;
- }
-};
-var supportsDescriptors = Object.defineProperty && arePropertyDescriptorsSupported();
-
-var defineProperty = function (object, name, value, predicate) {
- if (name in object && (!isFunction(predicate) || !predicate())) {
- return;
- }
- if (supportsDescriptors) {
- Object.defineProperty(object, name, {
- configurable: true,
- enumerable: false,
- value: value,
- writable: true
- });
- } else {
- object[name] = value;
- }
-};
-
-var defineProperties = function (object, map) {
- var predicates = arguments.length > 2 ? arguments[2] : {};
- var props = keys(map);
- if (hasSymbols) {
- props = props.concat(Object.getOwnPropertySymbols(map));
- }
- foreach(props, function (name) {
- defineProperty(object, name, map[name], predicates[name]);
- });
-};
-
-defineProperties.supportsDescriptors = !!supportsDescriptors;
-
-module.exports = defineProperties;
-
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var implementation = __webpack_require__(268);
-
-module.exports = Function.prototype.bind || implementation;
-
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf(_constants.WEEKDAYS);
-
-/***/ }),
-/* 76 */,
-/* 77 */,
-/* 78 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @providesModule shallowCompare
- */
-
-
-
-var shallowEqual = __webpack_require__(287);
-
-/**
- * Does a shallow comparison for props and state.
- * See ReactComponentWithPureRenderMixin
- * See also https://facebook.github.io/react/docs/shallow-compare.html
- */
-function shallowCompare(instance, nextProps, nextState) {
- return (
- !shallowEqual(instance.props, nextProps) ||
- !shallowEqual(instance.state, nextState)
- );
-}
-
-module.exports = shallowCompare;
-
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isSameDay;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isSameDay(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- // Compare least significant, most likely to change units first
- // Moment's isSame clones moment inputs and is a tad slow
- return a.date() === b.date() && a.month() === b.month() && a.year() === b.year();
-}
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = toMomentObject;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function toMomentObject(dateString, customFormat) {
- var dateFormats = customFormat ? [customFormat, _constants.DISPLAY_FORMAT, _constants.ISO_FORMAT] : [_constants.DISPLAY_FORMAT, _constants.ISO_FORMAT];
-
- var date = (0, _moment2['default'])(dateString, dateFormats, true);
- return date.isValid() ? date.hour(12) : null;
-}
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION, _constants.VERTICAL_SCROLLABLE]);
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isTouchDevice;
-function isTouchDevice() {
- return !!(typeof window !== 'undefined' && ('ontouchstart' in window || window.DocumentTouch && typeof document !== 'undefined' && document instanceof window.DocumentTouch)) || !!(typeof navigator !== 'undefined' && (navigator.maxTouchPoints || navigator.msMaxTouchPoints));
-}
-module.exports = exports['default'];
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.OPEN_DOWN, _constants.OPEN_UP]);
-
-/***/ }),
-/* 84 */,
-/* 85 */,
-/* 86 */,
-/* 87 */
-/***/ (function(module, exports) {
-
-// Unique ID creation requires a high quality random # generator. In the
-// browser this is a little complicated due to unknown quality of Math.random()
-// and inconsistent support for the `crypto` API. We do the best we can via
-// feature-detection
-
-// getRandomValues needs to be invoked in a context where "this" is a Crypto
-// implementation. Also, find the complete implementation of crypto on IE11.
-var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||
- (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));
-
-if (getRandomValues) {
- // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
- var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
-
- module.exports = function whatwgRNG() {
- getRandomValues(rnds8);
- return rnds8;
- };
-} else {
- // Math.random()-based (RNG)
- //
- // If all else fails, use Math.random(). It's fast, but is of unspecified
- // quality.
- var rnds = new Array(16);
-
- module.exports = function mathRNG() {
- for (var i = 0, r; i < 16; i++) {
- if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
- rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
- }
-
- return rnds;
- };
-}
-
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports) {
-
-/**
- * Convert array of 16 byte values to UUID string format of the form:
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
- */
-var byteToHex = [];
-for (var i = 0; i < 256; ++i) {
- byteToHex[i] = (i + 0x100).toString(16).substr(1);
-}
-
-function bytesToUuid(buf, offset) {
- var i = offset || 0;
- var bth = byteToHex;
- // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
- return ([bth[buf[i++]], bth[buf[i++]],
- bth[buf[i++]], bth[buf[i++]], '-',
- bth[buf[i++]], bth[buf[i++]], '-',
- bth[buf[i++]], bth[buf[i++]], '-',
- bth[buf[i++]], bth[buf[i++]], '-',
- bth[buf[i++]], bth[buf[i++]],
- bth[buf[i++]], bth[buf[i++]],
- bth[buf[i++]], bth[buf[i++]]]).join('');
-}
-
-module.exports = bytesToUuid;
-
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var ReactPropTypesSecret = __webpack_require__(90);
-
-function emptyFunction() {}
-
-module.exports = function() {
- function shim(props, propName, componentName, location, propFullName, secret) {
- if (secret === ReactPropTypesSecret) {
- // It is still safe when called from React.
- return;
- }
- var err = new Error(
- 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
- 'Use PropTypes.checkPropTypes() to call them. ' +
- 'Read more at http://fb.me/use-check-prop-types'
- );
- err.name = 'Invariant Violation';
- throw err;
- };
- shim.isRequired = shim;
- function getShim() {
- return shim;
- };
- // Important!
- // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
- var ReactPropTypes = {
- array: shim,
- bool: shim,
- func: shim,
- number: shim,
- object: shim,
- string: shim,
- symbol: shim,
-
- any: shim,
- arrayOf: getShim,
- element: shim,
- instanceOf: getShim,
- node: shim,
- objectOf: getShim,
- oneOf: getShim,
- oneOfType: getShim,
- shape: getShim,
- exact: getShim
- };
-
- ReactPropTypes.checkPropTypes = emptyFunction;
- ReactPropTypes.PropTypes = ReactPropTypes;
-
- return ReactPropTypes;
-};
-
-
-/***/ }),
-/* 90 */
+/* 128 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+// https://www.ecma-international.org/ecma-262/6.0/#sec-ispropertykey
+
+module.exports = function IsPropertyKey(argument) {
+ return typeof argument === 'string' || typeof argument === 'symbol';
+};
+
+
+/***/ }),
+/* 129 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(21);
+/* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keycodes__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(30);
+/* harmony import */ var _wordpress_dom__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom__WEBPACK_IMPORTED_MODULE_9__);
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+var withConstrainedTabbing = Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__["createHigherOrderComponent"])(function (WrappedComponent) {
+ return /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(_class, _Component);
+
+ var _super = _createSuper(_class);
+
+ function _class() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(this, _class);
+
+ _this = _super.apply(this, arguments);
+ _this.focusContainRef = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createRef"])();
+ _this.handleTabBehaviour = _this.handleTabBehaviour.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_this));
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_class, [{
+ key: "handleTabBehaviour",
+ value: function handleTabBehaviour(event) {
+ if (event.keyCode !== _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_8__["TAB"]) {
+ return;
+ }
+
+ var tabbables = _wordpress_dom__WEBPACK_IMPORTED_MODULE_9__["focus"].tabbable.find(this.focusContainRef.current);
+
+ if (!tabbables.length) {
+ return;
+ }
+
+ var firstTabbable = tabbables[0];
+ var lastTabbable = tabbables[tabbables.length - 1];
+
+ if (event.shiftKey && event.target === firstTabbable) {
+ event.preventDefault();
+ lastTabbable.focus();
+ } else if (!event.shiftKey && event.target === lastTabbable) {
+ event.preventDefault();
+ firstTabbable.focus();
+ /*
+ * When pressing Tab and none of the tabbables has focus, the keydown
+ * event happens on the wrapper div: move focus on the first tabbable.
+ */
+ } else if (!tabbables.includes(event.target)) {
+ event.preventDefault();
+ firstTabbable.focus();
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ // Disable reason: this component is non-interactive, but must capture
+ // events from the wrapped component to determine when the Tab key is used.
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("div", {
+ onKeyDown: this.handleTabBehaviour,
+ ref: this.focusContainRef,
+ tabIndex: "-1"
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(WrappedComponent, this.props));
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+ }
+ }]);
+
+ return _class;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]);
+}, 'withConstrainedTabbing');
+/* harmony default export */ __webpack_exports__["a"] = (withConstrainedTabbing);
+
+
+/***/ }),
+/* 130 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(9);
+/* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__);
+/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(193);
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Returns true if the given object is component-like. An object is component-
+ * like if it is an instance of wp.element.Component, or is a function.
+ *
+ * @param {*} object Object to test.
+ *
+ * @return {boolean} Whether object is component-like.
+ */
+
+function isComponentLike(object) {
+ return object instanceof _wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"] || typeof object === 'function';
+}
+/**
+ * Higher Order Component used to be used to wrap disposable elements like
+ * sidebars, modals, dropdowns. When mounting the wrapped component, we track a
+ * reference to the current active element so we know where to restore focus
+ * when the component is unmounted.
+ *
+ * @param {(WPComponent|Object)} options The component to be enhanced with
+ * focus return behavior, or an object
+ * describing the component and the
+ * focus return characteristics.
+ *
+ * @return {WPComponent} Component with the focus restauration behaviour.
+ */
+
+
+function withFocusReturn(options) {
+ // Normalize as overloaded form `withFocusReturn( options )( Component )`
+ // or as `withFocusReturn( Component )`.
+ if (isComponentLike(options)) {
+ var WrappedComponent = options;
+ return withFocusReturn({})(WrappedComponent);
+ }
+
+ var _options$onFocusRetur = options.onFocusReturn,
+ onFocusReturn = _options$onFocusRetur === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_7__["stubTrue"] : _options$onFocusRetur;
+ return function (WrappedComponent) {
+ var FocusReturn = /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(FocusReturn, _Component);
+
+ var _super = _createSuper(FocusReturn);
+
+ function FocusReturn() {
+ var _this;
+
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, FocusReturn);
+
+ _this = _super.apply(this, arguments);
+ _this.ownFocusedElements = new Set();
+ _this.activeElementOnMount = document.activeElement;
+
+ _this.setIsFocusedFalse = function () {
+ return _this.isFocused = false;
+ };
+
+ _this.setIsFocusedTrue = function (event) {
+ _this.ownFocusedElements.add(event.target);
+
+ _this.isFocused = true;
+ };
+
+ return _this;
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(FocusReturn, [{
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ var activeElementOnMount = this.activeElementOnMount,
+ isFocused = this.isFocused,
+ ownFocusedElements = this.ownFocusedElements;
+
+ if (!isFocused) {
+ return;
+ } // Defer to the component's own explicit focus return behavior,
+ // if specified. The function should return `false` to prevent
+ // the default behavior otherwise occurring here. This allows
+ // for support that the `onFocusReturn` decides to allow the
+ // default behavior to occur under some conditions.
+
+
+ if (onFocusReturn() === false) {
+ return;
+ }
+
+ var stack = [].concat(Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(lodash__WEBPACK_IMPORTED_MODULE_7__["without"].apply(void 0, [this.props.focus.focusHistory].concat(Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(ownFocusedElements)))), [activeElementOnMount]);
+ var candidate;
+
+ while (candidate = stack.pop()) {
+ if (document.body.contains(candidate)) {
+ candidate.focus();
+ return;
+ }
+ }
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])("div", {
+ onFocus: this.setIsFocusedTrue,
+ onBlur: this.setIsFocusedFalse
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(WrappedComponent, this.props.childProps));
+ }
+ }]);
+
+ return FocusReturn;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["Component"]);
+
+ return function (props) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(_context__WEBPACK_IMPORTED_MODULE_9__[/* Consumer */ "a"], null, function (context) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_6__["createElement"])(FocusReturn, {
+ childProps: props,
+ focus: context
+ });
+ });
+ };
+ };
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_compose__WEBPACK_IMPORTED_MODULE_8__["createHigherOrderComponent"])(withFocusReturn, 'withFocusReturn'));
+
+
+
+/***/ }),
+/* 131 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+function stopPropagation(event) {
+ event.stopPropagation();
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["forwardRef"])(function (_ref, ref) {
+ var children = _ref.children,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["children"]);
+
+ // Disable reason: this stops certain events from propagating outside of the component.
+ // - onMouseDown is disabled as this can cause interactions with other DOM elements
+
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["createElement"])("div", Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, props, {
+ ref: ref,
+ onMouseDown: stopPropagation
+ }), children);
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+}));
+
+
+/***/ }),
+/* 132 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(15);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var reakit_Toolbar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(469);
+/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(104);
+/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var _toolbar_context__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(87);
+
+
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function ToolbarItem(_ref, ref) {
+ var children = _ref.children,
+ Component = _ref.as,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_ref, ["children", "as"]);
+
+ var accessibleToolbarState = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["useContext"])(_toolbar_context__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"]);
+
+ if (typeof children !== 'function' && !Component) {
+ typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_5___default()('`ToolbarItem` is a generic headless component. You must pass either a `children` prop as a function or an `as` prop as a component.') : void 0;
+ return null;
+ }
+
+ var allProps = _objectSpread({}, props, {
+ ref: ref,
+ 'data-experimental-toolbar-item': true
+ });
+
+ if (!accessibleToolbarState) {
+ if (Component) {
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(Component, allProps, children);
+ }
+
+ return children(allProps);
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["createElement"])(reakit_Toolbar__WEBPACK_IMPORTED_MODULE_4__[/* ToolbarItem */ "a"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({}, accessibleToolbarState, allProps, {
+ as: Component
+ }), children);
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__["forwardRef"])(ToolbarItem));
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(117)))
+
+/***/ }),
+/* 133 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104);
+/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_1__);
+/**
+ * WordPress dependencies
+ */
+
+
+var SlotFillContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createContext"])({
+ slots: {},
+ fills: {},
+ registerSlot: function registerSlot() {
+ typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_1___default()('Components must be wrapped within `SlotFillProvider`. ' + 'See https://developer.wordpress.org/block-editor/components/slot-fill/') : void 0;
+ },
+ updateSlot: function updateSlot() {},
+ unregisterSlot: function unregisterSlot() {},
+ registerFill: function registerFill() {},
+ unregisterFill: function unregisterFill() {}
+});
+/* harmony default export */ __webpack_exports__["a"] = (SlotFillContext);
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(117)))
+
+/***/ }),
+/* 134 */,
+/* 135 */,
+/* 136 */,
+/* 137 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * WordPress dependencies
+ */
+ // Disable reason: JSDoc linter doesn't seem to parse the union (`&`) correctly.
+
+/* eslint-disable jsdoc/valid-types */
+
+/** @typedef {{icon: JSX.Element, size?: number} & import('react').ComponentPropsWithoutRef<'SVG'>} IconProps */
+
+/* eslint-enable jsdoc/valid-types */
+
+/**
+ * Return an SVG icon.
+ *
+ * @param {IconProps} props icon is the SVG component to render
+ * size is a number specifiying the icon size in pixels
+ * Other props will be passed to wrapped SVG component
+ *
+ * @return {JSX.Element} Icon component
+ */
+
+function Icon(_ref) {
+ var icon = _ref.icon,
+ _ref$size = _ref.size,
+ size = _ref$size === void 0 ? 24 : _ref$size,
+ props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]);
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({
+ width: size,
+ height: size
+ }, props));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Icon);
+
+
+/***/ }),
+/* 138 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2918,17930 +12340,7 @@
-var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
-
-module.exports = ReactPropTypesSecret;
-
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var bind = __webpack_require__(74);
-
-module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);
-
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.ICON_BEFORE_POSITION, _constants.ICON_AFTER_POSITION]);
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.INFO_POSITION_TOP, _constants.INFO_POSITION_BOTTOM, _constants.INFO_POSITION_BEFORE, _constants.INFO_POSITION_AFTER]);
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isInclusivelyAfterDay;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _isBeforeDay = __webpack_require__(95);
-
-var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isInclusivelyAfterDay(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- return !(0, _isBeforeDay2['default'])(a, b);
-}
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isBeforeDay;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isBeforeDay(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
-
- var aYear = a.year();
- var aMonth = a.month();
-
- var bYear = b.year();
- var bMonth = b.month();
-
- var isSameYear = aYear === bYear;
- var isSameMonth = aMonth === bMonth;
-
- if (isSameYear && isSameMonth) return a.date() < b.date();
- if (isSameYear) return aMonth < bMonth;
- return aYear < bYear;
-}
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var CloseButton = function () {
- function CloseButton(props) {
- return _react2['default'].createElement(
- 'svg',
- props,
- _react2['default'].createElement('path', {
- fillRule: 'evenodd',
- d: 'M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z'
- })
- );
- }
-
- return CloseButton;
-}();
-
-CloseButton.defaultProps = {
- viewBox: '0 0 12 12'
-};
-exports['default'] = CloseButton;
-
-/***/ }),
-/* 97 */,
-/* 98 */,
-/* 99 */,
-/* 100 */,
-/* 101 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-
-function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
-
-exports['default'] = (0, _airbnbPropTypes.and)([_propTypes2['default'].instanceOf(Set), function () {
- function modifiers(props, propName) {
- for (var _len = arguments.length, rest = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
- rest[_key - 2] = arguments[_key];
- }
-
- var propValue = props[propName];
-
- var firstError = void 0;
- [].concat(_toConsumableArray(propValue)).some(function (v, i) {
- var _PropTypes$string;
-
- var fakePropName = String(propName) + ': index ' + String(i);
- firstError = (_PropTypes$string = _propTypes2['default'].string).isRequired.apply(_PropTypes$string, [_defineProperty({}, fakePropName, v), fakePropName].concat(rest));
- return firstError != null;
- });
- return firstError == null ? null : firstError;
- }
-
- return modifiers;
-}()], 'Modifiers (Set of Strings)');
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = toISODateString;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _toMomentObject = __webpack_require__(80);
-
-var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function toISODateString(date, currentFormat) {
- var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
- if (!dateObj) return null;
-
- return dateObj.format(_constants.ISO_FORMAT);
-}
-
-/***/ }),
-/* 103 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addEventListener", function() { return addEventListener; });
-var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
-
-// Adapted from Modernizr
-// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37
-function testPassiveEventListeners() {
- if (!CAN_USE_DOM) {
- return false;
- }
-
- if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {
- return false;
- }
-
- var supportsPassiveOption = false;
- try {
- var opts = Object.defineProperty({}, 'passive', {
- // eslint-disable-next-line getter-return
- get: function () {
- function get() {
- supportsPassiveOption = true;
- }
-
- return get;
- }()
- });
- var noop = function noop() {};
- window.addEventListener('testPassiveEventSupport', noop, opts);
- window.removeEventListener('testPassiveEventSupport', noop, opts);
- } catch (e) {
- // do nothing
- }
-
- return supportsPassiveOption;
-}
-
-var memoized = void 0;
-
-function canUsePassiveEventListeners() {
- if (memoized === undefined) {
- memoized = testPassiveEventListeners();
- }
- return memoized;
-}
-
-function normalizeEventOptions(eventOptions) {
- if (!eventOptions) {
- return undefined;
- }
-
- if (!canUsePassiveEventListeners()) {
- // If the browser does not support the passive option, then it is expecting
- // a boolean for the options argument to specify whether it should use
- // capture or not. In more modern browsers, this is passed via the `capture`
- // option, so let's just hoist that value up.
- return !!eventOptions.capture;
- }
-
- return eventOptions;
-}
-
-/* eslint-disable no-bitwise */
-
-/**
- * Generate a unique key for any set of event options
- */
-function eventOptionsKey(normalizedEventOptions) {
- if (!normalizedEventOptions) {
- return 0;
- }
-
- // If the browser does not support passive event listeners, the normalized
- // event options will be a boolean.
- if (normalizedEventOptions === true) {
- return 100;
- }
-
- // At this point, the browser supports passive event listeners, so we expect
- // the event options to be an object with possible properties of capture,
- // passive, and once.
- //
- // We want to consistently return the same value, regardless of the order of
- // these properties, so let's use binary maths to assign each property to a
- // bit, and then add those together (with an offset to account for the
- // booleans at the beginning of this function).
- var capture = normalizedEventOptions.capture << 0;
- var passive = normalizedEventOptions.passive << 1;
- var once = normalizedEventOptions.once << 2;
- return capture + passive + once;
-}
-
-function ensureCanMutateNextEventHandlers(eventHandlers) {
- if (eventHandlers.handlers === eventHandlers.nextHandlers) {
- // eslint-disable-next-line no-param-reassign
- eventHandlers.nextHandlers = eventHandlers.handlers.slice();
- }
-}
-
-function TargetEventHandlers(target) {
- this.target = target;
- this.events = {};
-}
-
-TargetEventHandlers.prototype.getEventHandlers = function () {
- function getEventHandlers(eventName, options) {
- var key = String(eventName) + ' ' + String(eventOptionsKey(options));
-
- if (!this.events[key]) {
- this.events[key] = {
- handlers: [],
- handleEvent: undefined
- };
- this.events[key].nextHandlers = this.events[key].handlers;
- }
-
- return this.events[key];
- }
-
- return getEventHandlers;
-}();
-
-TargetEventHandlers.prototype.handleEvent = function () {
- function handleEvent(eventName, options, event) {
- var eventHandlers = this.getEventHandlers(eventName, options);
- eventHandlers.handlers = eventHandlers.nextHandlers;
- eventHandlers.handlers.forEach(function (handler) {
- if (handler) {
- // We need to check for presence here because a handler function may
- // cause later handlers to get removed. This can happen if you for
- // instance have a waypoint that unmounts another waypoint as part of an
- // onEnter/onLeave handler.
- handler(event);
- }
- });
- }
-
- return handleEvent;
-}();
-
-TargetEventHandlers.prototype.add = function () {
- function add(eventName, listener, options) {
- var _this = this;
-
- // options has already been normalized at this point.
- var eventHandlers = this.getEventHandlers(eventName, options);
-
- ensureCanMutateNextEventHandlers(eventHandlers);
-
- if (eventHandlers.nextHandlers.length === 0) {
- eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);
-
- this.target.addEventListener(eventName, eventHandlers.handleEvent, options);
- }
-
- eventHandlers.nextHandlers.push(listener);
-
- var isSubscribed = true;
- var unsubscribe = function () {
- function unsubscribe() {
- if (!isSubscribed) {
- return;
- }
-
- isSubscribed = false;
-
- ensureCanMutateNextEventHandlers(eventHandlers);
- var index = eventHandlers.nextHandlers.indexOf(listener);
- eventHandlers.nextHandlers.splice(index, 1);
-
- if (eventHandlers.nextHandlers.length === 0) {
- // All event handlers have been removed, so we want to remove the event
- // listener from the target node.
-
- if (_this.target) {
- // There can be a race condition where the target may no longer exist
- // when this function is called, e.g. when a React component is
- // unmounting. Guarding against this prevents the following error:
- //
- // Cannot read property 'removeEventListener' of undefined
- _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);
- }
-
- eventHandlers.handleEvent = undefined;
- }
- }
-
- return unsubscribe;
- }();
- return unsubscribe;
- }
-
- return add;
-}();
-
-var EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';
-
-// eslint-disable-next-line import/prefer-default-export
-function addEventListener(target, eventName, listener, options) {
- if (!target[EVENT_HANDLERS_KEY]) {
- // eslint-disable-next-line no-param-reassign
- target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);
- }
- var normalizedEventOptions = normalizeEventOptions(options);
- return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);
-}
-
-
-
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = toISOMonthString;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _toMomentObject = __webpack_require__(80);
-
-var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function toISOMonthString(date, currentFormat) {
- var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
- if (!dateObj) return null;
-
- return dateObj.format(_constants.ISO_MONTH_FORMAT);
-}
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].oneOf([_constants.START_DATE, _constants.END_DATE])]);
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isAfterDay;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _isBeforeDay = __webpack_require__(95);
-
-var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
-
-var _isSameDay = __webpack_require__(79);
-
-var _isSameDay2 = _interopRequireDefault(_isSameDay);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isAfterDay(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- return !(0, _isBeforeDay2['default'])(a, b) && !(0, _isSameDay2['default'])(a, b);
-}
-
-/***/ }),
-/* 107 */,
-/* 108 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-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; };
-
-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; }; }();
-
-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; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var hoistNonReactStatic = __webpack_require__(140);
-var React = __webpack_require__(27);
-var ReactDOM = __webpack_require__(52);
-
-module.exports = function enhanceWithClickOutside(WrappedComponent) {
- var componentName = WrappedComponent.displayName || WrappedComponent.name;
-
- var EnhancedComponent = function (_React$Component) {
- _inherits(EnhancedComponent, _React$Component);
-
- function EnhancedComponent(props) {
- _classCallCheck(this, EnhancedComponent);
-
- var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));
-
- _this.handleClickOutside = _this.handleClickOutside.bind(_this);
- return _this;
- }
-
- _createClass(EnhancedComponent, [{
- key: 'componentDidMount',
- value: function componentDidMount() {
- document.addEventListener('click', this.handleClickOutside, true);
- }
- }, {
- key: 'componentWillUnmount',
- value: function componentWillUnmount() {
- document.removeEventListener('click', this.handleClickOutside, true);
- }
- }, {
- key: 'handleClickOutside',
- value: function handleClickOutside(e) {
- var domNode = this.__domNode;
- if ((!domNode || !domNode.contains(e.target)) && this.__wrappedInstance && typeof this.__wrappedInstance.handleClickOutside === 'function') {
- this.__wrappedInstance.handleClickOutside(e);
- }
- }
- }, {
- key: 'render',
- value: function render() {
- var _this2 = this;
-
- var _props = this.props,
- wrappedRef = _props.wrappedRef,
- rest = _objectWithoutProperties(_props, ['wrappedRef']);
-
- return React.createElement(WrappedComponent, _extends({}, rest, {
- ref: function ref(c) {
- _this2.__wrappedInstance = c;
- _this2.__domNode = ReactDOM.findDOMNode(c);
- wrappedRef && wrappedRef(c);
- }
- }));
- }
- }]);
-
- return EnhancedComponent;
- }(React.Component);
-
- EnhancedComponent.displayName = 'clickOutside(' + componentName + ')';
-
- return hoistNonReactStatic(EnhancedComponent, WrappedComponent);
-};
-
-/***/ }),
-/* 109 */,
-/* 110 */,
-/* 111 */,
-/* 112 */,
-/* 113 */,
-/* 114 */,
-/* 115 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var util = __webpack_require__(116);
-
-function scrollIntoView(elem, container, config) {
- config = config || {};
- // document 归一化到 window
- if (container.nodeType === 9) {
- container = util.getWindow(container);
- }
-
- var allowHorizontalScroll = config.allowHorizontalScroll;
- var onlyScrollIfNeeded = config.onlyScrollIfNeeded;
- var alignWithTop = config.alignWithTop;
- var alignWithLeft = config.alignWithLeft;
- var offsetTop = config.offsetTop || 0;
- var offsetLeft = config.offsetLeft || 0;
- var offsetBottom = config.offsetBottom || 0;
- var offsetRight = config.offsetRight || 0;
-
- allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;
-
- var isWin = util.isWindow(container);
- var elemOffset = util.offset(elem);
- var eh = util.outerHeight(elem);
- var ew = util.outerWidth(elem);
- var containerOffset = undefined;
- var ch = undefined;
- var cw = undefined;
- var containerScroll = undefined;
- var diffTop = undefined;
- var diffBottom = undefined;
- var win = undefined;
- var winScroll = undefined;
- var ww = undefined;
- var wh = undefined;
-
- if (isWin) {
- win = container;
- wh = util.height(win);
- ww = util.width(win);
- winScroll = {
- left: util.scrollLeft(win),
- top: util.scrollTop(win)
- };
- // elem 相对 container 可视视窗的距离
- diffTop = {
- left: elemOffset.left - winScroll.left - offsetLeft,
- top: elemOffset.top - winScroll.top - offsetTop
- };
- diffBottom = {
- left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,
- top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom
- };
- containerScroll = winScroll;
- } else {
- containerOffset = util.offset(container);
- ch = container.clientHeight;
- cw = container.clientWidth;
- containerScroll = {
- left: container.scrollLeft,
- top: container.scrollTop
- };
- // elem 相对 container 可视视窗的距离
- // 注意边框, offset 是边框到根节点
- diffTop = {
- left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,
- top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop
- };
- diffBottom = {
- left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,
- top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom
- };
- }
-
- if (diffTop.top < 0 || diffBottom.top > 0) {
- // 强制向上
- if (alignWithTop === true) {
- util.scrollTop(container, containerScroll.top + diffTop.top);
- } else if (alignWithTop === false) {
- util.scrollTop(container, containerScroll.top + diffBottom.top);
- } else {
- // 自动调整
- if (diffTop.top < 0) {
- util.scrollTop(container, containerScroll.top + diffTop.top);
- } else {
- util.scrollTop(container, containerScroll.top + diffBottom.top);
- }
- }
- } else {
- if (!onlyScrollIfNeeded) {
- alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;
- if (alignWithTop) {
- util.scrollTop(container, containerScroll.top + diffTop.top);
- } else {
- util.scrollTop(container, containerScroll.top + diffBottom.top);
- }
- }
- }
-
- if (allowHorizontalScroll) {
- if (diffTop.left < 0 || diffBottom.left > 0) {
- // 强制向上
- if (alignWithLeft === true) {
- util.scrollLeft(container, containerScroll.left + diffTop.left);
- } else if (alignWithLeft === false) {
- util.scrollLeft(container, containerScroll.left + diffBottom.left);
- } else {
- // 自动调整
- if (diffTop.left < 0) {
- util.scrollLeft(container, containerScroll.left + diffTop.left);
- } else {
- util.scrollLeft(container, containerScroll.left + diffBottom.left);
- }
- }
- } else {
- if (!onlyScrollIfNeeded) {
- alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;
- if (alignWithLeft) {
- util.scrollLeft(container, containerScroll.left + diffTop.left);
- } else {
- util.scrollLeft(container, containerScroll.left + diffBottom.left);
- }
- }
- }
- }
-}
-
-module.exports = scrollIntoView;
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-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; };
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
-var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
-
-function getClientPosition(elem) {
- var box = undefined;
- var x = undefined;
- var y = undefined;
- var doc = elem.ownerDocument;
- var body = doc.body;
- var docElem = doc && doc.documentElement;
- // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
- box = elem.getBoundingClientRect();
-
- // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
- // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
- // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
-
- x = box.left;
- y = box.top;
-
- // In IE, most of the time, 2 extra pixels are added to the top and left
- // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
- // IE6 standards mode, this border can be overridden by setting the
- // document element's border to zero -- thus, we cannot rely on the
- // offset always being 2 pixels.
-
- // In quirks mode, the offset can be determined by querying the body's
- // clientLeft/clientTop, but in standards mode, it is found by querying
- // the document element's clientLeft/clientTop. Since we already called
- // getClientBoundingRect we have already forced a reflow, so it is not
- // too expensive just to query them all.
-
- // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
- // 窗口边框标准是设 documentElement ,quirks 时设置 body
- // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
- // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
- // 标准 ie 下 docElem.clientTop 就是 border-top
- // ie7 html 即窗口边框改变不了。永远为 2
- // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
-
- x -= docElem.clientLeft || body.clientLeft || 0;
- y -= docElem.clientTop || body.clientTop || 0;
-
- return {
- left: x,
- top: y
- };
-}
-
-function getScroll(w, top) {
- var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
- var method = 'scroll' + (top ? 'Top' : 'Left');
- if (typeof ret !== 'number') {
- var d = w.document;
- // ie6,7,8 standard mode
- ret = d.documentElement[method];
- if (typeof ret !== 'number') {
- // quirks mode
- ret = d.body[method];
- }
- }
- return ret;
-}
-
-function getScrollLeft(w) {
- return getScroll(w);
-}
-
-function getScrollTop(w) {
- return getScroll(w, true);
-}
-
-function getOffset(el) {
- var pos = getClientPosition(el);
- var doc = el.ownerDocument;
- var w = doc.defaultView || doc.parentWindow;
- pos.left += getScrollLeft(w);
- pos.top += getScrollTop(w);
- return pos;
-}
-function _getComputedStyle(elem, name, computedStyle_) {
- var val = '';
- var d = elem.ownerDocument;
- var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);
-
- // https://github.com/kissyteam/kissy/issues/61
- if (computedStyle) {
- val = computedStyle.getPropertyValue(name) || computedStyle[name];
- }
-
- return val;
-}
-
-var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
-var RE_POS = /^(top|right|bottom|left)$/;
-var CURRENT_STYLE = 'currentStyle';
-var RUNTIME_STYLE = 'runtimeStyle';
-var LEFT = 'left';
-var PX = 'px';
-
-function _getComputedStyleIE(elem, name) {
- // currentStyle maybe null
- // http://msdn.microsoft.com/en-us/library/ms535231.aspx
- var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
-
- // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
- // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
- // 在 ie 下不对,需要直接用 offset 方式
- // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- // exclude left right for relativity
- if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
- // Remember the original values
- var style = elem.style;
- var left = style[LEFT];
- var rsLeft = elem[RUNTIME_STYLE][LEFT];
-
- // prevent flashing of content
- elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
-
- // Put in the new values to get a computed value out
- style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
- ret = style.pixelLeft + PX;
-
- // Revert the changed values
- style[LEFT] = left;
-
- elem[RUNTIME_STYLE][LEFT] = rsLeft;
- }
- return ret === '' ? 'auto' : ret;
-}
-
-var getComputedStyleX = undefined;
-if (typeof window !== 'undefined') {
- getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
-}
-
-function each(arr, fn) {
- for (var i = 0; i < arr.length; i++) {
- fn(arr[i]);
- }
-}
-
-function isBorderBoxFn(elem) {
- return getComputedStyleX(elem, 'boxSizing') === 'border-box';
-}
-
-var BOX_MODELS = ['margin', 'border', 'padding'];
-var CONTENT_INDEX = -1;
-var PADDING_INDEX = 2;
-var BORDER_INDEX = 1;
-var MARGIN_INDEX = 0;
-
-function swap(elem, options, callback) {
- var old = {};
- var style = elem.style;
- var name = undefined;
-
- // Remember the old values, and insert the new ones
- for (name in options) {
- if (options.hasOwnProperty(name)) {
- old[name] = style[name];
- style[name] = options[name];
- }
- }
-
- callback.call(elem);
-
- // Revert the old values
- for (name in options) {
- if (options.hasOwnProperty(name)) {
- style[name] = old[name];
- }
- }
-}
-
-function getPBMWidth(elem, props, which) {
- var value = 0;
- var prop = undefined;
- var j = undefined;
- var i = undefined;
- for (j = 0; j < props.length; j++) {
- prop = props[j];
- if (prop) {
- for (i = 0; i < which.length; i++) {
- var cssProp = undefined;
- if (prop === 'border') {
- cssProp = prop + which[i] + 'Width';
- } else {
- cssProp = prop + which[i];
- }
- value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
- }
- }
- }
- return value;
-}
-
-/**
- * A crude way of determining if an object is a window
- * @member util
- */
-function isWindow(obj) {
- // must use == for ie8
- /* eslint eqeqeq:0 */
- return obj != null && obj == obj.window;
-}
-
-var domUtils = {};
-
-each(['Width', 'Height'], function (name) {
- domUtils['doc' + name] = function (refWin) {
- var d = refWin.document;
- return Math.max(
- // firefox chrome documentElement.scrollHeight< body.scrollHeight
- // ie standard mode : documentElement.scrollHeight> body.scrollHeight
- d.documentElement['scroll' + name],
- // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
- d.body['scroll' + name], domUtils['viewport' + name](d));
- };
-
- domUtils['viewport' + name] = function (win) {
- // pc browser includes scrollbar in window.innerWidth
- var prop = 'client' + name;
- var doc = win.document;
- var body = doc.body;
- var documentElement = doc.documentElement;
- var documentElementProp = documentElement[prop];
- // 标准模式取 documentElement
- // backcompat 取 body
- return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
- };
-});
-
-/*
- 得到元素的大小信息
- @param elem
- @param name
- @param {String} [extra] 'padding' : (css width) + padding
- 'border' : (css width) + padding + border
- 'margin' : (css width) + padding + border + margin
- */
-function getWH(elem, name, extra) {
- if (isWindow(elem)) {
- return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
- } else if (elem.nodeType === 9) {
- return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
- }
- var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
- var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;
- var computedStyle = getComputedStyleX(elem);
- var isBorderBox = isBorderBoxFn(elem, computedStyle);
- var cssBoxValue = 0;
- if (borderBoxValue == null || borderBoxValue <= 0) {
- borderBoxValue = undefined;
- // Fall back to computed then un computed css if necessary
- cssBoxValue = getComputedStyleX(elem, name);
- if (cssBoxValue == null || Number(cssBoxValue) < 0) {
- cssBoxValue = elem.style[name] || 0;
- }
- // Normalize '', auto, and prepare for extra
- cssBoxValue = parseFloat(cssBoxValue) || 0;
- }
- if (extra === undefined) {
- extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
- }
- var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
- var val = borderBoxValue || cssBoxValue;
- if (extra === CONTENT_INDEX) {
- if (borderBoxValueOrIsBorderBox) {
- return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
- }
- return cssBoxValue;
- }
- if (borderBoxValueOrIsBorderBox) {
- var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);
- return val + (extra === BORDER_INDEX ? 0 : padding);
- }
- return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
-}
-
-var cssShow = {
- position: 'absolute',
- visibility: 'hidden',
- display: 'block'
-};
-
-// fix #119 : https://github.com/kissyteam/kissy/issues/119
-function getWHIgnoreDisplay(elem) {
- var val = undefined;
- var args = arguments;
- // in case elem is window
- // elem.offsetWidth === undefined
- if (elem.offsetWidth !== 0) {
- val = getWH.apply(undefined, args);
- } else {
- swap(elem, cssShow, function () {
- val = getWH.apply(undefined, args);
- });
- }
- return val;
-}
-
-function css(el, name, v) {
- var value = v;
- if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
- for (var i in name) {
- if (name.hasOwnProperty(i)) {
- css(el, i, name[i]);
- }
- }
- return undefined;
- }
- if (typeof value !== 'undefined') {
- if (typeof value === 'number') {
- value += 'px';
- }
- el.style[name] = value;
- return undefined;
- }
- return getComputedStyleX(el, name);
-}
-
-each(['width', 'height'], function (name) {
- var first = name.charAt(0).toUpperCase() + name.slice(1);
- domUtils['outer' + first] = function (el, includeMargin) {
- return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
- };
- var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
-
- domUtils[name] = function (elem, val) {
- if (val !== undefined) {
- if (elem) {
- var computedStyle = getComputedStyleX(elem);
- var isBorderBox = isBorderBoxFn(elem);
- if (isBorderBox) {
- val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
- }
- return css(elem, name, val);
- }
- return undefined;
- }
- return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
- };
-});
-
-// 设置 elem 相对 elem.ownerDocument 的坐标
-function setOffset(elem, offset) {
- // set position first, in-case top/left are set even on static elem
- if (css(elem, 'position') === 'static') {
- elem.style.position = 'relative';
- }
-
- var old = getOffset(elem);
- var ret = {};
- var current = undefined;
- var key = undefined;
-
- for (key in offset) {
- if (offset.hasOwnProperty(key)) {
- current = parseFloat(css(elem, key)) || 0;
- ret[key] = current + offset[key] - old[key];
- }
- }
- css(elem, ret);
-}
-
-module.exports = _extends({
- getWindow: function getWindow(node) {
- var doc = node.ownerDocument || node;
- return doc.defaultView || doc.parentWindow;
- },
- offset: function offset(el, value) {
- if (typeof value !== 'undefined') {
- setOffset(el, value);
- } else {
- return getOffset(el);
- }
- },
-
- isWindow: isWindow,
- each: each,
- css: css,
- clone: function clone(obj) {
- var ret = {};
- for (var i in obj) {
- if (obj.hasOwnProperty(i)) {
- ret[i] = obj[i];
- }
- }
- var overflow = obj.overflow;
- if (overflow) {
- for (var i in obj) {
- if (obj.hasOwnProperty(i)) {
- ret.overflow[i] = obj.overflow[i];
- }
- }
- }
- return ret;
- },
- scrollLeft: function scrollLeft(w, v) {
- if (isWindow(w)) {
- if (v === undefined) {
- return getScrollLeft(w);
- }
- window.scrollTo(v, getScrollTop(w));
- } else {
- if (v === undefined) {
- return w.scrollLeft;
- }
- w.scrollLeft = v;
- }
- },
- scrollTop: function scrollTop(w, v) {
- if (isWindow(w)) {
- if (v === undefined) {
- return getScrollTop(w);
- }
- window.scrollTo(getScrollLeft(w), v);
- } else {
- if (v === undefined) {
- return w.scrollTop;
- }
- w.scrollTop = v;
- }
- },
-
- viewportWidth: 0,
- viewportHeight: 0
-}, domUtils);
-
-/***/ }),
-/* 117 */,
-/* 118 */,
-/* 119 */,
-/* 120 */,
-/* 121 */,
-/* 122 */,
-/* 123 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var fnToStr = Function.prototype.toString;
-
-var constructorRegex = /^\s*class\b/;
-var isES6ClassFn = function isES6ClassFunction(value) {
- try {
- var fnStr = fnToStr.call(value);
- return constructorRegex.test(fnStr);
- } catch (e) {
- return false; // not a function
- }
-};
-
-var tryFunctionObject = function tryFunctionToStr(value) {
- try {
- if (isES6ClassFn(value)) { return false; }
- fnToStr.call(value);
- return true;
- } catch (e) {
- return false;
- }
-};
-var toStr = Object.prototype.toString;
-var fnClass = '[object Function]';
-var genClass = '[object GeneratorFunction]';
-var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
-module.exports = function isCallable(value) {
- if (!value) { return false; }
- if (typeof value !== 'function' && typeof value !== 'object') { return false; }
- if (typeof value === 'function' && !value.prototype) { return true; }
- if (hasToStringTag) { return tryFunctionObject(value); }
- if (isES6ClassFn(value)) { return false; }
- var strClass = toStr.call(value);
- return strClass === fnClass || strClass === genClass;
-};
-
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var bind = __webpack_require__(74);
-var has = bind.call(Function.call, Object.prototype.hasOwnProperty);
-
-var $assign = Object.assign;
-
-module.exports = function assign(target, source) {
- if ($assign) {
- return $assign(target, source);
- }
-
- for (var key in source) {
- if (has(source, key)) {
- target[key] = source[key];
- }
- }
- return target;
-};
-
-
-/***/ }),
-/* 125 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.PureCalendarDay = undefined;
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactAddonsShallowCompare = __webpack_require__(78);
-
-var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _getCalendarDaySettings = __webpack_require__(157);
-
-var _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings);
-
-var _ModifiersShape = __webpack_require__(101);
-
-var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- day: _reactMomentProptypes2['default'].momentObj,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- isOutsideDay: _propTypes2['default'].bool,
- modifiers: _ModifiersShape2['default'],
- isFocused: _propTypes2['default'].bool,
- tabIndex: _propTypes2['default'].oneOf([0, -1]),
- onDayClick: _propTypes2['default'].func,
- onDayMouseEnter: _propTypes2['default'].func,
- onDayMouseLeave: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- ariaLabelFormat: _propTypes2['default'].string,
-
- // internationalization
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases))
-}));
-
-var defaultProps = {
- day: (0, _moment2['default'])(),
- daySize: _constants.DAY_SIZE,
- isOutsideDay: false,
- modifiers: new Set(),
- isFocused: false,
- tabIndex: -1,
- onDayClick: function () {
- function onDayClick() {}
-
- return onDayClick;
- }(),
- onDayMouseEnter: function () {
- function onDayMouseEnter() {}
-
- return onDayMouseEnter;
- }(),
- onDayMouseLeave: function () {
- function onDayMouseLeave() {}
-
- return onDayMouseLeave;
- }(),
-
- renderDayContents: null,
- ariaLabelFormat: 'dddd, LL',
-
- // internationalization
- phrases: _defaultPhrases.CalendarDayPhrases
-};
-
-var CalendarDay = function (_React$Component) {
- _inherits(CalendarDay, _React$Component);
-
- function CalendarDay() {
- var _ref;
-
- _classCallCheck(this, CalendarDay);
-
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- var _this = _possibleConstructorReturn(this, (_ref = CalendarDay.__proto__ || Object.getPrototypeOf(CalendarDay)).call.apply(_ref, [this].concat(args)));
-
- _this.setButtonRef = _this.setButtonRef.bind(_this);
- return _this;
- }
-
- _createClass(CalendarDay, [{
- key: 'shouldComponentUpdate',
- value: function () {
- function shouldComponentUpdate(nextProps, nextState) {
- return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
- }
-
- return shouldComponentUpdate;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate(prevProps) {
- var _props = this.props,
- isFocused = _props.isFocused,
- tabIndex = _props.tabIndex;
-
- if (tabIndex === 0) {
- if (isFocused || tabIndex !== prevProps.tabIndex) {
- this.buttonRef.focus();
- }
- }
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'onDayClick',
- value: function () {
- function onDayClick(day, e) {
- var onDayClick = this.props.onDayClick;
-
- onDayClick(day, e);
- }
-
- return onDayClick;
- }()
- }, {
- key: 'onDayMouseEnter',
- value: function () {
- function onDayMouseEnter(day, e) {
- var onDayMouseEnter = this.props.onDayMouseEnter;
-
- onDayMouseEnter(day, e);
- }
-
- return onDayMouseEnter;
- }()
- }, {
- key: 'onDayMouseLeave',
- value: function () {
- function onDayMouseLeave(day, e) {
- var onDayMouseLeave = this.props.onDayMouseLeave;
-
- onDayMouseLeave(day, e);
- }
-
- return onDayMouseLeave;
- }()
- }, {
- key: 'onKeyDown',
- value: function () {
- function onKeyDown(day, e) {
- var onDayClick = this.props.onDayClick;
- var key = e.key;
-
- if (key === 'Enter' || key === ' ') {
- onDayClick(day, e);
- }
- }
-
- return onKeyDown;
- }()
- }, {
- key: 'setButtonRef',
- value: function () {
- function setButtonRef(ref) {
- this.buttonRef = ref;
- }
-
- return setButtonRef;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _this2 = this;
-
- var _props2 = this.props,
- day = _props2.day,
- ariaLabelFormat = _props2.ariaLabelFormat,
- daySize = _props2.daySize,
- isOutsideDay = _props2.isOutsideDay,
- modifiers = _props2.modifiers,
- renderDayContents = _props2.renderDayContents,
- tabIndex = _props2.tabIndex,
- styles = _props2.styles,
- phrases = _props2.phrases;
-
-
- if (!day) return _react2['default'].createElement('td', null);
-
- var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases),
- daySizeStyles = _getCalendarDaySettin.daySizeStyles,
- useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,
- selected = _getCalendarDaySettin.selected,
- hoveredSpan = _getCalendarDaySettin.hoveredSpan,
- isOutsideRange = _getCalendarDaySettin.isOutsideRange,
- ariaLabel = _getCalendarDaySettin.ariaLabel;
-
- return _react2['default'].createElement(
- 'td',
- _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, styles.CalendarDay__default, isOutsideDay && styles.CalendarDay__outside, modifiers.has('today') && styles.CalendarDay__today, modifiers.has('first-day-of-week') && styles.CalendarDay__firstDayOfWeek, modifiers.has('last-day-of-week') && styles.CalendarDay__lastDayOfWeek, modifiers.has('hovered-offset') && styles.CalendarDay__hovered_offset, modifiers.has('highlighted-calendar') && styles.CalendarDay__highlighted_calendar, modifiers.has('blocked-minimum-nights') && styles.CalendarDay__blocked_minimum_nights, modifiers.has('blocked-calendar') && styles.CalendarDay__blocked_calendar, hoveredSpan && styles.CalendarDay__hovered_span, modifiers.has('selected-span') && styles.CalendarDay__selected_span, modifiers.has('last-in-range') && styles.CalendarDay__last_in_range, modifiers.has('selected-start') && styles.CalendarDay__selected_start, modifiers.has('selected-end') && styles.CalendarDay__selected_end, selected && styles.CalendarDay__selected, isOutsideRange && styles.CalendarDay__blocked_out_of_range, daySizeStyles), {
- role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role
- , ref: this.setButtonRef,
- 'aria-label': ariaLabel,
- onMouseEnter: function () {
- function onMouseEnter(e) {
- _this2.onDayMouseEnter(day, e);
- }
-
- return onMouseEnter;
- }(),
- onMouseLeave: function () {
- function onMouseLeave(e) {
- _this2.onDayMouseLeave(day, e);
- }
-
- return onMouseLeave;
- }(),
- onMouseUp: function () {
- function onMouseUp(e) {
- e.currentTarget.blur();
- }
-
- return onMouseUp;
- }(),
- onClick: function () {
- function onClick(e) {
- _this2.onDayClick(day, e);
- }
-
- return onClick;
- }(),
- onKeyDown: function () {
- function onKeyDown(e) {
- _this2.onKeyDown(day, e);
- }
-
- return onKeyDown;
- }(),
- tabIndex: tabIndex
- }),
- renderDayContents ? renderDayContents(day, modifiers) : day.format('D')
- );
- }
-
- return render;
- }()
- }]);
-
- return CalendarDay;
-}(_react2['default'].Component);
-
-CalendarDay.propTypes = propTypes;
-CalendarDay.defaultProps = defaultProps;
-
-exports.PureCalendarDay = CalendarDay;
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var _ref2$reactDates = _ref2.reactDates,
- color = _ref2$reactDates.color,
- font = _ref2$reactDates.font;
- return {
- CalendarDay: {
- boxSizing: 'border-box',
- cursor: 'pointer',
- fontSize: font.size,
- textAlign: 'center',
-
- ':active': {
- outline: 0
- }
- },
-
- CalendarDay__defaultCursor: {
- cursor: 'default'
- },
-
- CalendarDay__default: {
- border: '1px solid ' + String(color.core.borderLight),
- color: color.text,
- background: color.background,
-
- ':hover': {
- background: color.core.borderLight,
- border: '1px double ' + String(color.core.borderLight),
- color: 'inherit'
- }
- },
-
- CalendarDay__hovered_offset: {
- background: color.core.borderBright,
- border: '1px double ' + String(color.core.borderLight),
- color: 'inherit'
- },
-
- CalendarDay__outside: {
- border: 0,
- background: color.outside.backgroundColor,
- color: color.outside.color,
-
- ':hover': {
- border: 0
- }
- },
-
- CalendarDay__blocked_minimum_nights: {
- background: color.minimumNights.backgroundColor,
- border: '1px solid ' + String(color.minimumNights.borderColor),
- color: color.minimumNights.color,
-
- ':hover': {
- background: color.minimumNights.backgroundColor_hover,
- color: color.minimumNights.color_active
- },
-
- ':active': {
- background: color.minimumNights.backgroundColor_active,
- color: color.minimumNights.color_active
- }
- },
-
- CalendarDay__highlighted_calendar: {
- background: color.highlighted.backgroundColor,
- color: color.highlighted.color,
-
- ':hover': {
- background: color.highlighted.backgroundColor_hover,
- color: color.highlighted.color_active
- },
-
- ':active': {
- background: color.highlighted.backgroundColor_active,
- color: color.highlighted.color_active
- }
- },
-
- CalendarDay__selected_span: {
- background: color.selectedSpan.backgroundColor,
- border: '1px solid ' + String(color.selectedSpan.borderColor),
- color: color.selectedSpan.color,
-
- ':hover': {
- background: color.selectedSpan.backgroundColor_hover,
- border: '1px solid ' + String(color.selectedSpan.borderColor),
- color: color.selectedSpan.color_active
- },
-
- ':active': {
- background: color.selectedSpan.backgroundColor_active,
- border: '1px solid ' + String(color.selectedSpan.borderColor),
- color: color.selectedSpan.color_active
- }
- },
-
- CalendarDay__last_in_range: {
- borderRight: color.core.primary
- },
-
- CalendarDay__selected: {
- background: color.selected.backgroundColor,
- border: '1px solid ' + String(color.selected.borderColor),
- color: color.selected.color,
-
- ':hover': {
- background: color.selected.backgroundColor_hover,
- border: '1px solid ' + String(color.selected.borderColor),
- color: color.selected.color_active
- },
-
- ':active': {
- background: color.selected.backgroundColor_active,
- border: '1px solid ' + String(color.selected.borderColor),
- color: color.selected.color_active
- }
- },
-
- CalendarDay__hovered_span: {
- background: color.hoveredSpan.backgroundColor,
- border: '1px solid ' + String(color.hoveredSpan.borderColor),
- color: color.hoveredSpan.color,
-
- ':hover': {
- background: color.hoveredSpan.backgroundColor_hover,
- border: '1px solid ' + String(color.hoveredSpan.borderColor),
- color: color.hoveredSpan.color_active
- },
-
- ':active': {
- background: color.hoveredSpan.backgroundColor_active,
- border: '1px solid ' + String(color.hoveredSpan.borderColor),
- color: color.hoveredSpan.color_active
- }
- },
-
- CalendarDay__blocked_calendar: {
- background: color.blocked_calendar.backgroundColor,
- border: '1px solid ' + String(color.blocked_calendar.borderColor),
- color: color.blocked_calendar.color,
-
- ':hover': {
- background: color.blocked_calendar.backgroundColor_hover,
- border: '1px solid ' + String(color.blocked_calendar.borderColor),
- color: color.blocked_calendar.color_active
- },
-
- ':active': {
- background: color.blocked_calendar.backgroundColor_active,
- border: '1px solid ' + String(color.blocked_calendar.borderColor),
- color: color.blocked_calendar.color_active
- }
- },
-
- CalendarDay__blocked_out_of_range: {
- background: color.blocked_out_of_range.backgroundColor,
- border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
- color: color.blocked_out_of_range.color,
-
- ':hover': {
- background: color.blocked_out_of_range.backgroundColor_hover,
- border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
- color: color.blocked_out_of_range.color_active
- },
-
- ':active': {
- background: color.blocked_out_of_range.backgroundColor_active,
- border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
- color: color.blocked_out_of_range.color_active
- }
- },
-
- CalendarDay__selected_start: {},
- CalendarDay__selected_end: {},
- CalendarDay__today: {},
- CalendarDay__firstDayOfWeek: {},
- CalendarDay__lastDayOfWeek: {}
- };
-})(CalendarDay);
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// eslint-disable-next-line import/no-unresolved
-module.exports = __webpack_require__(303);
-
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getInputHeight;
-/* eslint-disable camelcase */
-
-function getPadding(vertical, top, bottom) {
- var isTopDefined = typeof top === 'number';
- var isBottomDefined = typeof bottom === 'number';
- var isVerticalDefined = typeof vertical === 'number';
-
- if (isTopDefined && isBottomDefined) {
- return top + bottom;
- }
-
- if (isTopDefined && isVerticalDefined) {
- return top + vertical;
- }
-
- if (isTopDefined) {
- return top;
- }
-
- if (isBottomDefined && isVerticalDefined) {
- return bottom + vertical;
- }
-
- if (isBottomDefined) {
- return bottom;
- }
-
- if (isVerticalDefined) {
- return 2 * vertical;
- }
-
- return 0;
-}
-
-function getInputHeight(_ref, small) {
- var _ref$font$input = _ref.font.input,
- lineHeight = _ref$font$input.lineHeight,
- lineHeight_small = _ref$font$input.lineHeight_small,
- _ref$spacing = _ref.spacing,
- inputPadding = _ref$spacing.inputPadding,
- displayTextPaddingVertical = _ref$spacing.displayTextPaddingVertical,
- displayTextPaddingTop = _ref$spacing.displayTextPaddingTop,
- displayTextPaddingBottom = _ref$spacing.displayTextPaddingBottom,
- displayTextPaddingVertical_small = _ref$spacing.displayTextPaddingVertical_small,
- displayTextPaddingTop_small = _ref$spacing.displayTextPaddingTop_small,
- displayTextPaddingBottom_small = _ref$spacing.displayTextPaddingBottom_small;
-
- var calcLineHeight = small ? lineHeight_small : lineHeight;
-
- var padding = small ? getPadding(displayTextPaddingVertical_small, displayTextPaddingTop_small, displayTextPaddingBottom_small) : getPadding(displayTextPaddingVertical, displayTextPaddingTop, displayTextPaddingBottom);
-
- return parseInt(calcLineHeight, 10) + 2 * inputPadding + padding;
-}
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports) {
-
-/**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
-function isObject(value) {
- var type = typeof value;
- return value != null && (type == 'object' || type == 'function');
-}
-
-module.exports = isObject;
-
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = toLocalizedDateString;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _toMomentObject = __webpack_require__(80);
-
-var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function toLocalizedDateString(date, currentFormat) {
- var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
- if (!dateObj) return null;
-
- return dateObj.format(_constants.DISPLAY_FORMAT);
-}
-
-/***/ }),
-/* 130 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isDayVisible;
-
-var _isBeforeDay = __webpack_require__(95);
-
-var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
-
-var _isAfterDay = __webpack_require__(106);
-
-var _isAfterDay2 = _interopRequireDefault(_isAfterDay);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isDayVisible(day, month, numberOfMonths, enableOutsideDays) {
- var firstDayOfFirstMonth = month.clone().startOf('month');
- if (enableOutsideDays) firstDayOfFirstMonth = firstDayOfFirstMonth.startOf('week');
- if ((0, _isBeforeDay2['default'])(day, firstDayOfFirstMonth)) return false;
-
- var lastDayOfLastMonth = month.clone().add(numberOfMonths - 1, 'months').endOf('month');
- if (enableOutsideDays) lastDayOfLastMonth = lastDayOfLastMonth.endOf('week');
- return !(0, _isAfterDay2['default'])(day, lastDayOfLastMonth);
-}
-
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.PureDayPicker = exports.defaultProps = undefined;
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactAddonsShallowCompare = __webpack_require__(78);
-
-var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _throttle = __webpack_require__(182);
-
-var _throttle2 = _interopRequireDefault(_throttle);
-
-var _isTouchDevice = __webpack_require__(82);
-
-var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
-
-var _reactOutsideClickHandler = __webpack_require__(126);
-
-var _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _CalendarMonthGrid = __webpack_require__(160);
-
-var _CalendarMonthGrid2 = _interopRequireDefault(_CalendarMonthGrid);
-
-var _DayPickerNavigation = __webpack_require__(326);
-
-var _DayPickerNavigation2 = _interopRequireDefault(_DayPickerNavigation);
-
-var _DayPickerKeyboardShortcuts = __webpack_require__(329);
-
-var _DayPickerKeyboardShortcuts2 = _interopRequireDefault(_DayPickerKeyboardShortcuts);
-
-var _getNumberOfCalendarMonthWeeks = __webpack_require__(331);
-
-var _getNumberOfCalendarMonthWeeks2 = _interopRequireDefault(_getNumberOfCalendarMonthWeeks);
-
-var _getCalendarMonthWidth = __webpack_require__(161);
-
-var _getCalendarMonthWidth2 = _interopRequireDefault(_getCalendarMonthWidth);
-
-var _calculateDimension = __webpack_require__(159);
-
-var _calculateDimension2 = _interopRequireDefault(_calculateDimension);
-
-var _getActiveElement = __webpack_require__(332);
-
-var _getActiveElement2 = _interopRequireDefault(_getActiveElement);
-
-var _isDayVisible = __webpack_require__(130);
-
-var _isDayVisible2 = _interopRequireDefault(_isDayVisible);
-
-var _ModifiersShape = __webpack_require__(101);
-
-var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);
-
-var _ScrollableOrientationShape = __webpack_require__(81);
-
-var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _CalendarInfoPositionShape = __webpack_require__(93);
-
-var _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var MONTH_PADDING = 23;
-var PREV_TRANSITION = 'prev';
-var NEXT_TRANSITION = 'next';
-var MONTH_SELECTION_TRANSITION = 'month_selection';
-var YEAR_SELECTION_TRANSITION = 'year_selection';
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
-
- // calendar presentation props
- enableOutsideDays: _propTypes2['default'].bool,
- numberOfMonths: _propTypes2['default'].number,
- orientation: _ScrollableOrientationShape2['default'],
- withPortal: _propTypes2['default'].bool,
- onOutsideClick: _propTypes2['default'].func,
- hidden: _propTypes2['default'].bool,
- initialVisibleMonth: _propTypes2['default'].func,
- firstDayOfWeek: _DayOfWeekShape2['default'],
- renderCalendarInfo: _propTypes2['default'].func,
- calendarInfoPosition: _CalendarInfoPositionShape2['default'],
- hideKeyboardShortcutsPanel: _propTypes2['default'].bool,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- isRTL: _propTypes2['default'].bool,
- verticalHeight: _airbnbPropTypes.nonNegativeInteger,
- noBorder: _propTypes2['default'].bool,
- transitionDuration: _airbnbPropTypes.nonNegativeInteger,
- verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,
- horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,
-
- // navigation props
- navPrev: _propTypes2['default'].node,
- navNext: _propTypes2['default'].node,
- noNavButtons: _propTypes2['default'].bool,
- onPrevMonthClick: _propTypes2['default'].func,
- onNextMonthClick: _propTypes2['default'].func,
- onMonthChange: _propTypes2['default'].func,
- onYearChange: _propTypes2['default'].func,
- onMultiplyScrollableMonths: _propTypes2['default'].func, // VERTICAL_SCROLLABLE daypickers only
-
- // month props
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
-
- // day props
- modifiers: _propTypes2['default'].objectOf(_propTypes2['default'].objectOf(_ModifiersShape2['default'])),
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- onDayClick: _propTypes2['default'].func,
- onDayMouseEnter: _propTypes2['default'].func,
- onDayMouseLeave: _propTypes2['default'].func,
-
- // accessibility props
- isFocused: _propTypes2['default'].bool,
- getFirstFocusableDay: _propTypes2['default'].func,
- onBlur: _propTypes2['default'].func,
- showKeyboardShortcuts: _propTypes2['default'].bool,
-
- // internationalization
- monthFormat: _propTypes2['default'].string,
- weekDayFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string
-}));
-
-var defaultProps = exports.defaultProps = {
- // calendar presentation props
- enableOutsideDays: false,
- numberOfMonths: 2,
- orientation: _constants.HORIZONTAL_ORIENTATION,
- withPortal: false,
- onOutsideClick: function () {
- function onOutsideClick() {}
-
- return onOutsideClick;
- }(),
-
- hidden: false,
- initialVisibleMonth: function () {
- function initialVisibleMonth() {
- return (0, _moment2['default'])();
- }
-
- return initialVisibleMonth;
- }(),
- firstDayOfWeek: null,
- renderCalendarInfo: null,
- calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,
- hideKeyboardShortcutsPanel: false,
- daySize: _constants.DAY_SIZE,
- isRTL: false,
- verticalHeight: null,
- noBorder: false,
- transitionDuration: undefined,
- verticalBorderSpacing: undefined,
- horizontalMonthPadding: 13,
-
- // navigation props
- navPrev: null,
- navNext: null,
- noNavButtons: false,
- onPrevMonthClick: function () {
- function onPrevMonthClick() {}
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: function () {
- function onNextMonthClick() {}
-
- return onNextMonthClick;
- }(),
- onMonthChange: function () {
- function onMonthChange() {}
-
- return onMonthChange;
- }(),
- onYearChange: function () {
- function onYearChange() {}
-
- return onYearChange;
- }(),
- onMultiplyScrollableMonths: function () {
- function onMultiplyScrollableMonths() {}
-
- return onMultiplyScrollableMonths;
- }(),
-
-
- // month props
- renderMonthText: null,
- renderMonthElement: null,
-
- // day props
- modifiers: {},
- renderCalendarDay: undefined,
- renderDayContents: null,
- onDayClick: function () {
- function onDayClick() {}
-
- return onDayClick;
- }(),
- onDayMouseEnter: function () {
- function onDayMouseEnter() {}
-
- return onDayMouseEnter;
- }(),
- onDayMouseLeave: function () {
- function onDayMouseLeave() {}
-
- return onDayMouseLeave;
- }(),
-
-
- // accessibility props
- isFocused: false,
- getFirstFocusableDay: null,
- onBlur: function () {
- function onBlur() {}
-
- return onBlur;
- }(),
-
- showKeyboardShortcuts: false,
-
- // internationalization
- monthFormat: 'MMMM YYYY',
- weekDayFormat: 'dd',
- phrases: _defaultPhrases.DayPickerPhrases,
- dayAriaLabelFormat: undefined
-};
-
-var DayPicker = function (_React$Component) {
- _inherits(DayPicker, _React$Component);
-
- function DayPicker(props) {
- _classCallCheck(this, DayPicker);
-
- var _this = _possibleConstructorReturn(this, (DayPicker.__proto__ || Object.getPrototypeOf(DayPicker)).call(this, props));
-
- var currentMonth = props.hidden ? (0, _moment2['default'])() : props.initialVisibleMonth();
-
- var focusedDate = currentMonth.clone().startOf('month');
- if (props.getFirstFocusableDay) {
- focusedDate = props.getFirstFocusableDay(currentMonth);
- }
-
- var horizontalMonthPadding = props.horizontalMonthPadding;
-
-
- var translationValue = props.isRTL && _this.isHorizontal() ? -(0, _getCalendarMonthWidth2['default'])(props.daySize, horizontalMonthPadding) : 0;
-
- _this.hasSetInitialVisibleMonth = !props.hidden;
- _this.state = {
- currentMonth: currentMonth,
- monthTransition: null,
- translationValue: translationValue,
- scrollableMonthMultiple: 1,
- calendarMonthWidth: (0, _getCalendarMonthWidth2['default'])(props.daySize, horizontalMonthPadding),
- focusedDate: !props.hidden || props.isFocused ? focusedDate : null,
- nextFocusedDate: null,
- showKeyboardShortcuts: props.showKeyboardShortcuts,
- onKeyboardShortcutsPanelClose: function () {
- function onKeyboardShortcutsPanelClose() {}
-
- return onKeyboardShortcutsPanelClose;
- }(),
-
- isTouchDevice: (0, _isTouchDevice2['default'])(),
- withMouseInteractions: true,
- calendarInfoWidth: 0,
- monthTitleHeight: null,
- hasSetHeight: false
- };
-
- _this.setCalendarMonthWeeks(currentMonth);
-
- _this.calendarMonthGridHeight = 0;
- _this.setCalendarInfoWidthTimeout = null;
-
- _this.onKeyDown = _this.onKeyDown.bind(_this);
- _this.throttledKeyDown = (0, _throttle2['default'])(_this.onFinalKeyDown, 200, { trailing: false });
- _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);
- _this.onNextMonthClick = _this.onNextMonthClick.bind(_this);
- _this.onMonthChange = _this.onMonthChange.bind(_this);
- _this.onYearChange = _this.onYearChange.bind(_this);
-
- _this.multiplyScrollableMonths = _this.multiplyScrollableMonths.bind(_this);
- _this.updateStateAfterMonthTransition = _this.updateStateAfterMonthTransition.bind(_this);
-
- _this.openKeyboardShortcutsPanel = _this.openKeyboardShortcutsPanel.bind(_this);
- _this.closeKeyboardShortcutsPanel = _this.closeKeyboardShortcutsPanel.bind(_this);
-
- _this.setCalendarInfoRef = _this.setCalendarInfoRef.bind(_this);
- _this.setContainerRef = _this.setContainerRef.bind(_this);
- _this.setTransitionContainerRef = _this.setTransitionContainerRef.bind(_this);
- _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_this);
- return _this;
- }
-
- _createClass(DayPicker, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- var currentMonth = this.state.currentMonth;
-
- if (this.calendarInfo) {
- this.setState({
- isTouchDevice: (0, _isTouchDevice2['default'])(),
- calendarInfoWidth: (0, _calculateDimension2['default'])(this.calendarInfo, 'width', true, true)
- });
- } else {
- this.setState({ isTouchDevice: (0, _isTouchDevice2['default'])() });
- }
-
- this.setCalendarMonthWeeks(currentMonth);
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var hidden = nextProps.hidden,
- isFocused = nextProps.isFocused,
- showKeyboardShortcuts = nextProps.showKeyboardShortcuts,
- onBlur = nextProps.onBlur,
- renderMonthText = nextProps.renderMonthText,
- horizontalMonthPadding = nextProps.horizontalMonthPadding;
- var currentMonth = this.state.currentMonth;
-
-
- if (!hidden) {
- if (!this.hasSetInitialVisibleMonth) {
- this.hasSetInitialVisibleMonth = true;
- this.setState({
- currentMonth: nextProps.initialVisibleMonth()
- });
- }
- }
-
- var _props = this.props,
- daySize = _props.daySize,
- prevIsFocused = _props.isFocused,
- prevRenderMonthText = _props.renderMonthText;
-
-
- if (nextProps.daySize !== daySize) {
- this.setState({
- calendarMonthWidth: (0, _getCalendarMonthWidth2['default'])(nextProps.daySize, horizontalMonthPadding)
- });
- }
-
- if (isFocused !== prevIsFocused) {
- if (isFocused) {
- var focusedDate = this.getFocusedDay(currentMonth);
-
- var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose;
-
- if (nextProps.showKeyboardShortcuts) {
- // the ? shortcut came from the input and we should return input there once it is close
- onKeyboardShortcutsPanelClose = onBlur;
- }
-
- this.setState({
- showKeyboardShortcuts: showKeyboardShortcuts,
- onKeyboardShortcutsPanelClose: onKeyboardShortcutsPanelClose,
- focusedDate: focusedDate,
- withMouseInteractions: false
- });
- } else {
- this.setState({ focusedDate: null });
- }
- }
-
- if (renderMonthText !== prevRenderMonthText) {
- this.setState({
- monthTitleHeight: null
- });
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'shouldComponentUpdate',
- value: function () {
- function shouldComponentUpdate(nextProps, nextState) {
- return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
- }
-
- return shouldComponentUpdate;
- }()
- }, {
- key: 'componentWillUpdate',
- value: function () {
- function componentWillUpdate() {
- var _this2 = this;
-
- var transitionDuration = this.props.transitionDuration;
-
- // Calculating the dimensions trigger a DOM repaint which
- // breaks the CSS transition.
- // The setTimeout will wait until the transition ends.
-
- if (this.calendarInfo) {
- this.setCalendarInfoWidthTimeout = setTimeout(function () {
- var calendarInfoWidth = _this2.state.calendarInfoWidth;
-
- var calendarInfoPanelWidth = (0, _calculateDimension2['default'])(_this2.calendarInfo, 'width', true, true);
- if (calendarInfoWidth !== calendarInfoPanelWidth) {
- _this2.setState({
- calendarInfoWidth: calendarInfoPanelWidth
- });
- }
- }, transitionDuration);
- }
- }
-
- return componentWillUpdate;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate(prevProps) {
- var _props2 = this.props,
- orientation = _props2.orientation,
- daySize = _props2.daySize,
- isFocused = _props2.isFocused,
- numberOfMonths = _props2.numberOfMonths;
- var _state = this.state,
- focusedDate = _state.focusedDate,
- monthTitleHeight = _state.monthTitleHeight;
-
-
- if (this.isHorizontal() && (orientation !== prevProps.orientation || daySize !== prevProps.daySize)) {
- var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1);
- var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);
- var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1;
- this.adjustDayPickerHeight(newMonthHeight);
- }
-
- if (!prevProps.isFocused && isFocused && !focusedDate) {
- this.container.focus();
- }
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'componentWillUnmount',
- value: function () {
- function componentWillUnmount() {
- clearTimeout(this.setCalendarInfoWidthTimeout);
- }
-
- return componentWillUnmount;
- }()
- }, {
- key: 'onKeyDown',
- value: function () {
- function onKeyDown(e) {
- e.stopPropagation();
- if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) {
- this.throttledKeyDown(e);
- }
- }
-
- return onKeyDown;
- }()
- }, {
- key: 'onFinalKeyDown',
- value: function () {
- function onFinalKeyDown(e) {
- this.setState({ withMouseInteractions: false });
-
- var _props3 = this.props,
- onBlur = _props3.onBlur,
- isRTL = _props3.isRTL;
- var _state2 = this.state,
- focusedDate = _state2.focusedDate,
- showKeyboardShortcuts = _state2.showKeyboardShortcuts;
-
- if (!focusedDate) return;
-
- var newFocusedDate = focusedDate.clone();
-
- var didTransitionMonth = false;
-
- // focus might be anywhere when the keyboard shortcuts panel is opened so we want to
- // return it to wherever it was before when the panel was opened
- var activeElement = (0, _getActiveElement2['default'])();
- var onKeyboardShortcutsPanelClose = function () {
- function onKeyboardShortcutsPanelClose() {
- if (activeElement) activeElement.focus();
- }
-
- return onKeyboardShortcutsPanelClose;
- }();
-
- switch (e.key) {
- case 'ArrowUp':
- e.preventDefault();
- newFocusedDate.subtract(1, 'week');
- didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);
- break;
- case 'ArrowLeft':
- e.preventDefault();
- if (isRTL) {
- newFocusedDate.add(1, 'day');
- } else {
- newFocusedDate.subtract(1, 'day');
- }
- didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);
- break;
- case 'Home':
- e.preventDefault();
- newFocusedDate.startOf('week');
- didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);
- break;
- case 'PageUp':
- e.preventDefault();
- newFocusedDate.subtract(1, 'month');
- didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);
- break;
-
- case 'ArrowDown':
- e.preventDefault();
- newFocusedDate.add(1, 'week');
- didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);
- break;
- case 'ArrowRight':
- e.preventDefault();
- if (isRTL) {
- newFocusedDate.subtract(1, 'day');
- } else {
- newFocusedDate.add(1, 'day');
- }
- didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);
- break;
- case 'End':
- e.preventDefault();
- newFocusedDate.endOf('week');
- didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);
- break;
- case 'PageDown':
- e.preventDefault();
- newFocusedDate.add(1, 'month');
- didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);
- break;
-
- case '?':
- this.openKeyboardShortcutsPanel(onKeyboardShortcutsPanelClose);
- break;
-
- case 'Escape':
- if (showKeyboardShortcuts) {
- this.closeKeyboardShortcutsPanel();
- } else {
- onBlur();
- }
- break;
-
- default:
- break;
- }
-
- // If there was a month transition, do not update the focused date until the transition has
- // completed. Otherwise, attempting to focus on a DOM node may interrupt the CSS animation. If
- // didTransitionMonth is true, the focusedDate gets updated in #updateStateAfterMonthTransition
- if (!didTransitionMonth) {
- this.setState({
- focusedDate: newFocusedDate
- });
- }
- }
-
- return onFinalKeyDown;
- }()
- }, {
- key: 'onPrevMonthClick',
- value: function () {
- function onPrevMonthClick(nextFocusedDate, e) {
- var _props4 = this.props,
- daySize = _props4.daySize,
- isRTL = _props4.isRTL,
- numberOfMonths = _props4.numberOfMonths;
- var _state3 = this.state,
- calendarMonthWidth = _state3.calendarMonthWidth,
- monthTitleHeight = _state3.monthTitleHeight;
-
-
- if (e) e.preventDefault();
-
- var translationValue = void 0;
- if (this.isVertical()) {
- var calendarMonthWeeksHeight = this.calendarMonthWeeks[0] * (daySize - 1);
- translationValue = monthTitleHeight + calendarMonthWeeksHeight + 1;
- } else if (this.isHorizontal()) {
- translationValue = calendarMonthWidth;
- if (isRTL) {
- translationValue = -2 * calendarMonthWidth;
- }
-
- var visibleCalendarWeeks = this.calendarMonthWeeks.slice(0, numberOfMonths);
- var _calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);
- var newMonthHeight = monthTitleHeight + _calendarMonthWeeksHeight + 1;
- this.adjustDayPickerHeight(newMonthHeight);
- }
-
- this.setState({
- monthTransition: PREV_TRANSITION,
- translationValue: translationValue,
- focusedDate: null,
- nextFocusedDate: nextFocusedDate
- });
- }
-
- return onPrevMonthClick;
- }()
- }, {
- key: 'onMonthChange',
- value: function () {
- function onMonthChange(currentMonth) {
- this.setCalendarMonthWeeks(currentMonth);
- this.calculateAndSetDayPickerHeight();
-
- // Translation value is a hack to force an invisible transition that
- // properly rerenders the CalendarMonthGrid
- this.setState({
- monthTransition: MONTH_SELECTION_TRANSITION,
- translationValue: 0.00001,
- focusedDate: null,
- nextFocusedDate: currentMonth,
- currentMonth: currentMonth
- });
- }
-
- return onMonthChange;
- }()
- }, {
- key: 'onYearChange',
- value: function () {
- function onYearChange(currentMonth) {
- this.setCalendarMonthWeeks(currentMonth);
- this.calculateAndSetDayPickerHeight();
-
- // Translation value is a hack to force an invisible transition that
- // properly rerenders the CalendarMonthGrid
- this.setState({
- monthTransition: YEAR_SELECTION_TRANSITION,
- translationValue: 0.0001,
- focusedDate: null,
- nextFocusedDate: currentMonth,
- currentMonth: currentMonth
- });
- }
-
- return onYearChange;
- }()
- }, {
- key: 'onNextMonthClick',
- value: function () {
- function onNextMonthClick(nextFocusedDate, e) {
- var _props5 = this.props,
- isRTL = _props5.isRTL,
- numberOfMonths = _props5.numberOfMonths,
- daySize = _props5.daySize;
- var _state4 = this.state,
- calendarMonthWidth = _state4.calendarMonthWidth,
- monthTitleHeight = _state4.monthTitleHeight;
-
-
- if (e) e.preventDefault();
-
- var translationValue = void 0;
-
- if (this.isVertical()) {
- var firstVisibleMonthWeeks = this.calendarMonthWeeks[1];
- var calendarMonthWeeksHeight = firstVisibleMonthWeeks * (daySize - 1);
- translationValue = -(monthTitleHeight + calendarMonthWeeksHeight + 1);
- }
-
- if (this.isHorizontal()) {
- translationValue = -calendarMonthWidth;
- if (isRTL) {
- translationValue = 0;
- }
-
- var visibleCalendarWeeks = this.calendarMonthWeeks.slice(2, numberOfMonths + 2);
- var _calendarMonthWeeksHeight2 = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);
- var newMonthHeight = monthTitleHeight + _calendarMonthWeeksHeight2 + 1;
- this.adjustDayPickerHeight(newMonthHeight);
- }
-
- this.setState({
- monthTransition: NEXT_TRANSITION,
- translationValue: translationValue,
- focusedDate: null,
- nextFocusedDate: nextFocusedDate
- });
- }
-
- return onNextMonthClick;
- }()
- }, {
- key: 'getFirstDayOfWeek',
- value: function () {
- function getFirstDayOfWeek() {
- var firstDayOfWeek = this.props.firstDayOfWeek;
-
- if (firstDayOfWeek == null) {
- return _moment2['default'].localeData().firstDayOfWeek();
- }
-
- return firstDayOfWeek;
- }
-
- return getFirstDayOfWeek;
- }()
- }, {
- key: 'getFirstVisibleIndex',
- value: function () {
- function getFirstVisibleIndex() {
- var orientation = this.props.orientation;
- var monthTransition = this.state.monthTransition;
-
-
- if (orientation === _constants.VERTICAL_SCROLLABLE) return 0;
-
- var firstVisibleMonthIndex = 1;
- if (monthTransition === PREV_TRANSITION) {
- firstVisibleMonthIndex -= 1;
- } else if (monthTransition === NEXT_TRANSITION) {
- firstVisibleMonthIndex += 1;
- }
-
- return firstVisibleMonthIndex;
- }
-
- return getFirstVisibleIndex;
- }()
- }, {
- key: 'getFocusedDay',
- value: function () {
- function getFocusedDay(newMonth) {
- var _props6 = this.props,
- getFirstFocusableDay = _props6.getFirstFocusableDay,
- numberOfMonths = _props6.numberOfMonths;
-
-
- var focusedDate = void 0;
- if (getFirstFocusableDay) {
- focusedDate = getFirstFocusableDay(newMonth);
- }
-
- if (newMonth && (!focusedDate || !(0, _isDayVisible2['default'])(focusedDate, newMonth, numberOfMonths))) {
- focusedDate = newMonth.clone().startOf('month');
- }
-
- return focusedDate;
- }
-
- return getFocusedDay;
- }()
- }, {
- key: 'setMonthTitleHeight',
- value: function () {
- function setMonthTitleHeight(monthTitleHeight) {
- var _this3 = this;
-
- this.setState({
- monthTitleHeight: monthTitleHeight
- }, function () {
- _this3.calculateAndSetDayPickerHeight();
- });
- }
-
- return setMonthTitleHeight;
- }()
- }, {
- key: 'setCalendarMonthWeeks',
- value: function () {
- function setCalendarMonthWeeks(currentMonth) {
- var numberOfMonths = this.props.numberOfMonths;
-
-
- this.calendarMonthWeeks = [];
- var month = currentMonth.clone().subtract(1, 'months');
- var firstDayOfWeek = this.getFirstDayOfWeek();
- for (var i = 0; i < numberOfMonths + 2; i += 1) {
- var numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks2['default'])(month, firstDayOfWeek);
- this.calendarMonthWeeks.push(numberOfWeeks);
- month = month.add(1, 'months');
- }
- }
-
- return setCalendarMonthWeeks;
- }()
- }, {
- key: 'setContainerRef',
- value: function () {
- function setContainerRef(ref) {
- this.container = ref;
- }
-
- return setContainerRef;
- }()
- }, {
- key: 'setCalendarInfoRef',
- value: function () {
- function setCalendarInfoRef(ref) {
- this.calendarInfo = ref;
- }
-
- return setCalendarInfoRef;
- }()
- }, {
- key: 'setTransitionContainerRef',
- value: function () {
- function setTransitionContainerRef(ref) {
- this.transitionContainer = ref;
- }
-
- return setTransitionContainerRef;
- }()
- }, {
- key: 'maybeTransitionNextMonth',
- value: function () {
- function maybeTransitionNextMonth(newFocusedDate) {
- var numberOfMonths = this.props.numberOfMonths;
- var _state5 = this.state,
- currentMonth = _state5.currentMonth,
- focusedDate = _state5.focusedDate;
-
-
- var newFocusedDateMonth = newFocusedDate.month();
- var focusedDateMonth = focusedDate.month();
- var isNewFocusedDateVisible = (0, _isDayVisible2['default'])(newFocusedDate, currentMonth, numberOfMonths);
- if (newFocusedDateMonth !== focusedDateMonth && !isNewFocusedDateVisible) {
- this.onNextMonthClick(newFocusedDate);
- return true;
- }
-
- return false;
- }
-
- return maybeTransitionNextMonth;
- }()
- }, {
- key: 'maybeTransitionPrevMonth',
- value: function () {
- function maybeTransitionPrevMonth(newFocusedDate) {
- var numberOfMonths = this.props.numberOfMonths;
- var _state6 = this.state,
- currentMonth = _state6.currentMonth,
- focusedDate = _state6.focusedDate;
-
-
- var newFocusedDateMonth = newFocusedDate.month();
- var focusedDateMonth = focusedDate.month();
- var isNewFocusedDateVisible = (0, _isDayVisible2['default'])(newFocusedDate, currentMonth, numberOfMonths);
- if (newFocusedDateMonth !== focusedDateMonth && !isNewFocusedDateVisible) {
- this.onPrevMonthClick(newFocusedDate);
- return true;
- }
-
- return false;
- }
-
- return maybeTransitionPrevMonth;
- }()
- }, {
- key: 'multiplyScrollableMonths',
- value: function () {
- function multiplyScrollableMonths(e) {
- var onMultiplyScrollableMonths = this.props.onMultiplyScrollableMonths;
-
- if (e) e.preventDefault();
-
- if (onMultiplyScrollableMonths) onMultiplyScrollableMonths(e);
-
- this.setState(function (_ref) {
- var scrollableMonthMultiple = _ref.scrollableMonthMultiple;
- return {
- scrollableMonthMultiple: scrollableMonthMultiple + 1
- };
- });
- }
-
- return multiplyScrollableMonths;
- }()
- }, {
- key: 'isHorizontal',
- value: function () {
- function isHorizontal() {
- var orientation = this.props.orientation;
-
- return orientation === _constants.HORIZONTAL_ORIENTATION;
- }
-
- return isHorizontal;
- }()
- }, {
- key: 'isVertical',
- value: function () {
- function isVertical() {
- var orientation = this.props.orientation;
-
- return orientation === _constants.VERTICAL_ORIENTATION || orientation === _constants.VERTICAL_SCROLLABLE;
- }
-
- return isVertical;
- }()
- }, {
- key: 'updateStateAfterMonthTransition',
- value: function () {
- function updateStateAfterMonthTransition() {
- var _this4 = this;
-
- var _props7 = this.props,
- onPrevMonthClick = _props7.onPrevMonthClick,
- onNextMonthClick = _props7.onNextMonthClick,
- numberOfMonths = _props7.numberOfMonths,
- onMonthChange = _props7.onMonthChange,
- onYearChange = _props7.onYearChange,
- isRTL = _props7.isRTL;
- var _state7 = this.state,
- currentMonth = _state7.currentMonth,
- monthTransition = _state7.monthTransition,
- focusedDate = _state7.focusedDate,
- nextFocusedDate = _state7.nextFocusedDate,
- withMouseInteractions = _state7.withMouseInteractions,
- calendarMonthWidth = _state7.calendarMonthWidth;
-
-
- if (!monthTransition) return;
-
- var newMonth = currentMonth.clone();
- var firstDayOfWeek = this.getFirstDayOfWeek();
- if (monthTransition === PREV_TRANSITION) {
- newMonth.subtract(1, 'month');
- if (onPrevMonthClick) onPrevMonthClick(newMonth);
- var newInvisibleMonth = newMonth.clone().subtract(1, 'month');
- var numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks2['default'])(newInvisibleMonth, firstDayOfWeek);
- this.calendarMonthWeeks = [numberOfWeeks].concat(_toConsumableArray(this.calendarMonthWeeks.slice(0, -1)));
- } else if (monthTransition === NEXT_TRANSITION) {
- newMonth.add(1, 'month');
- if (onNextMonthClick) onNextMonthClick(newMonth);
- var _newInvisibleMonth = newMonth.clone().add(numberOfMonths, 'month');
- var _numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks2['default'])(_newInvisibleMonth, firstDayOfWeek);
- this.calendarMonthWeeks = [].concat(_toConsumableArray(this.calendarMonthWeeks.slice(1)), [_numberOfWeeks]);
- } else if (monthTransition === MONTH_SELECTION_TRANSITION) {
- if (onMonthChange) onMonthChange(newMonth);
- } else if (monthTransition === YEAR_SELECTION_TRANSITION) {
- if (onYearChange) onYearChange(newMonth);
- }
-
- var newFocusedDate = null;
- if (nextFocusedDate) {
- newFocusedDate = nextFocusedDate;
- } else if (!focusedDate && !withMouseInteractions) {
- newFocusedDate = this.getFocusedDay(newMonth);
- }
-
- this.setState({
- currentMonth: newMonth,
- monthTransition: null,
- translationValue: isRTL && this.isHorizontal() ? -calendarMonthWidth : 0,
- nextFocusedDate: null,
- focusedDate: newFocusedDate
- }, function () {
- // we don't want to focus on the relevant calendar day after a month transition
- // if the user is navigating around using a mouse
- if (withMouseInteractions) {
- var activeElement = (0, _getActiveElement2['default'])();
- if (activeElement && activeElement !== document.body && _this4.container.contains(activeElement)) {
- activeElement.blur();
- }
- }
- });
- }
-
- return updateStateAfterMonthTransition;
- }()
- }, {
- key: 'adjustDayPickerHeight',
- value: function () {
- function adjustDayPickerHeight(newMonthHeight) {
- var _this5 = this;
-
- var monthHeight = newMonthHeight + MONTH_PADDING;
- if (monthHeight !== this.calendarMonthGridHeight) {
- this.transitionContainer.style.height = String(monthHeight) + 'px';
- if (!this.calendarMonthGridHeight) {
- setTimeout(function () {
- _this5.setState({ hasSetHeight: true });
- }, 0);
- }
- this.calendarMonthGridHeight = monthHeight;
- }
- }
-
- return adjustDayPickerHeight;
- }()
- }, {
- key: 'calculateAndSetDayPickerHeight',
- value: function () {
- function calculateAndSetDayPickerHeight() {
- var _props8 = this.props,
- daySize = _props8.daySize,
- numberOfMonths = _props8.numberOfMonths;
- var monthTitleHeight = this.state.monthTitleHeight;
-
-
- var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1);
- var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);
- var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1;
-
- if (this.isHorizontal()) {
- this.adjustDayPickerHeight(newMonthHeight);
- }
- }
-
- return calculateAndSetDayPickerHeight;
- }()
- }, {
- key: 'openKeyboardShortcutsPanel',
- value: function () {
- function openKeyboardShortcutsPanel(onCloseCallBack) {
- this.setState({
- showKeyboardShortcuts: true,
- onKeyboardShortcutsPanelClose: onCloseCallBack
- });
- }
-
- return openKeyboardShortcutsPanel;
- }()
- }, {
- key: 'closeKeyboardShortcutsPanel',
- value: function () {
- function closeKeyboardShortcutsPanel() {
- var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose;
-
-
- if (onKeyboardShortcutsPanelClose) {
- onKeyboardShortcutsPanelClose();
- }
-
- this.setState({
- onKeyboardShortcutsPanelClose: null,
- showKeyboardShortcuts: false
- });
- }
-
- return closeKeyboardShortcutsPanel;
- }()
- }, {
- key: 'renderNavigation',
- value: function () {
- function renderNavigation() {
- var _this6 = this;
-
- var _props9 = this.props,
- navPrev = _props9.navPrev,
- navNext = _props9.navNext,
- noNavButtons = _props9.noNavButtons,
- orientation = _props9.orientation,
- phrases = _props9.phrases,
- isRTL = _props9.isRTL;
-
-
- if (noNavButtons) {
- return null;
- }
-
- var onNextMonthClick = void 0;
- if (orientation === _constants.VERTICAL_SCROLLABLE) {
- onNextMonthClick = this.multiplyScrollableMonths;
- } else {
- onNextMonthClick = function () {
- function onNextMonthClick(e) {
- _this6.onNextMonthClick(null, e);
- }
-
- return onNextMonthClick;
- }();
- }
-
- return _react2['default'].createElement(_DayPickerNavigation2['default'], {
- onPrevMonthClick: function () {
- function onPrevMonthClick(e) {
- _this6.onPrevMonthClick(null, e);
- }
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: onNextMonthClick,
- navPrev: navPrev,
- navNext: navNext,
- orientation: orientation,
- phrases: phrases,
- isRTL: isRTL
- });
- }
-
- return renderNavigation;
- }()
- }, {
- key: 'renderWeekHeader',
- value: function () {
- function renderWeekHeader(index) {
- var _props10 = this.props,
- daySize = _props10.daySize,
- horizontalMonthPadding = _props10.horizontalMonthPadding,
- orientation = _props10.orientation,
- weekDayFormat = _props10.weekDayFormat,
- styles = _props10.styles;
- var calendarMonthWidth = this.state.calendarMonthWidth;
-
- var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;
- var horizontalStyle = {
- left: index * calendarMonthWidth
- };
- var verticalStyle = {
- marginLeft: -calendarMonthWidth / 2
- };
-
- var weekHeaderStyle = {}; // no styles applied to the vertical-scrollable orientation
- if (this.isHorizontal()) {
- weekHeaderStyle = horizontalStyle;
- } else if (this.isVertical() && !verticalScrollable) {
- weekHeaderStyle = verticalStyle;
- }
-
- var firstDayOfWeek = this.getFirstDayOfWeek();
-
- var header = [];
- for (var i = 0; i < 7; i += 1) {
- header.push(_react2['default'].createElement(
- 'li',
- _extends({ key: i }, (0, _reactWithStyles.css)(styles.DayPicker_weekHeader_li, { width: daySize })),
- _react2['default'].createElement(
- 'small',
- null,
- (0, _moment2['default'])().day((i + firstDayOfWeek) % 7).format(weekDayFormat)
- )
- ));
- }
-
- return _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_weekHeader, this.isVertical() && styles.DayPicker_weekHeader__vertical, verticalScrollable && styles.DayPicker_weekHeader__verticalScrollable, weekHeaderStyle, { padding: '0 ' + String(horizontalMonthPadding) + 'px' }), {
- key: 'week-' + String(index)
- }),
- _react2['default'].createElement(
- 'ul',
- (0, _reactWithStyles.css)(styles.DayPicker_weekHeader_ul),
- header
- )
- );
- }
-
- return renderWeekHeader;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _this7 = this;
-
- var _state8 = this.state,
- calendarMonthWidth = _state8.calendarMonthWidth,
- currentMonth = _state8.currentMonth,
- monthTransition = _state8.monthTransition,
- translationValue = _state8.translationValue,
- scrollableMonthMultiple = _state8.scrollableMonthMultiple,
- focusedDate = _state8.focusedDate,
- showKeyboardShortcuts = _state8.showKeyboardShortcuts,
- isTouch = _state8.isTouchDevice,
- hasSetHeight = _state8.hasSetHeight,
- calendarInfoWidth = _state8.calendarInfoWidth,
- monthTitleHeight = _state8.monthTitleHeight;
- var _props11 = this.props,
- enableOutsideDays = _props11.enableOutsideDays,
- numberOfMonths = _props11.numberOfMonths,
- orientation = _props11.orientation,
- modifiers = _props11.modifiers,
- withPortal = _props11.withPortal,
- onDayClick = _props11.onDayClick,
- onDayMouseEnter = _props11.onDayMouseEnter,
- onDayMouseLeave = _props11.onDayMouseLeave,
- firstDayOfWeek = _props11.firstDayOfWeek,
- renderMonthText = _props11.renderMonthText,
- renderCalendarDay = _props11.renderCalendarDay,
- renderDayContents = _props11.renderDayContents,
- renderCalendarInfo = _props11.renderCalendarInfo,
- renderMonthElement = _props11.renderMonthElement,
- calendarInfoPosition = _props11.calendarInfoPosition,
- hideKeyboardShortcutsPanel = _props11.hideKeyboardShortcutsPanel,
- onOutsideClick = _props11.onOutsideClick,
- monthFormat = _props11.monthFormat,
- daySize = _props11.daySize,
- isFocused = _props11.isFocused,
- isRTL = _props11.isRTL,
- styles = _props11.styles,
- theme = _props11.theme,
- phrases = _props11.phrases,
- verticalHeight = _props11.verticalHeight,
- dayAriaLabelFormat = _props11.dayAriaLabelFormat,
- noBorder = _props11.noBorder,
- transitionDuration = _props11.transitionDuration,
- verticalBorderSpacing = _props11.verticalBorderSpacing,
- horizontalMonthPadding = _props11.horizontalMonthPadding;
- var dayPickerHorizontalPadding = theme.reactDates.spacing.dayPickerHorizontalPadding;
-
-
- var isHorizontal = this.isHorizontal();
-
- var numOfWeekHeaders = this.isVertical() ? 1 : numberOfMonths;
- var weekHeaders = [];
- for (var i = 0; i < numOfWeekHeaders; i += 1) {
- weekHeaders.push(this.renderWeekHeader(i));
- }
-
- var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;
- var height = void 0;
- if (isHorizontal) {
- height = this.calendarMonthGridHeight;
- } else if (this.isVertical() && !verticalScrollable && !withPortal) {
- // If the user doesn't set a desired height,
- // we default back to this kind of made-up value that generally looks good
- height = verticalHeight || 1.75 * calendarMonthWidth;
- }
-
- var isCalendarMonthGridAnimating = monthTransition !== null;
-
- var shouldFocusDate = !isCalendarMonthGridAnimating && isFocused;
-
- var keyboardShortcutButtonLocation = _DayPickerKeyboardShortcuts.BOTTOM_RIGHT;
- if (this.isVertical()) {
- keyboardShortcutButtonLocation = withPortal ? _DayPickerKeyboardShortcuts.TOP_LEFT : _DayPickerKeyboardShortcuts.TOP_RIGHT;
- }
-
- var shouldAnimateHeight = isHorizontal && hasSetHeight;
-
- var calendarInfoPositionTop = calendarInfoPosition === _constants.INFO_POSITION_TOP;
- var calendarInfoPositionBottom = calendarInfoPosition === _constants.INFO_POSITION_BOTTOM;
- var calendarInfoPositionBefore = calendarInfoPosition === _constants.INFO_POSITION_BEFORE;
- var calendarInfoPositionAfter = calendarInfoPosition === _constants.INFO_POSITION_AFTER;
- var calendarInfoIsInline = calendarInfoPositionBefore || calendarInfoPositionAfter;
-
- var calendarInfo = renderCalendarInfo && _react2['default'].createElement(
- 'div',
- _extends({
- ref: this.setCalendarInfoRef
- }, (0, _reactWithStyles.css)(calendarInfoIsInline && styles.DayPicker_calendarInfo__horizontal)),
- renderCalendarInfo()
- );
-
- var calendarInfoPanelWidth = renderCalendarInfo && calendarInfoIsInline ? calendarInfoWidth : 0;
-
- var firstVisibleMonthIndex = this.getFirstVisibleIndex();
- var wrapperHorizontalWidth = calendarMonthWidth * numberOfMonths + 2 * dayPickerHorizontalPadding;
- // Adding `1px` because of whitespace between 2 inline-block
- var fullHorizontalWidth = wrapperHorizontalWidth + calendarInfoPanelWidth + 1;
-
- var transitionContainerStyle = {
- width: isHorizontal && wrapperHorizontalWidth,
- height: height
- };
-
- var dayPickerWrapperStyle = {
- width: isHorizontal && wrapperHorizontalWidth
- };
-
- var dayPickerStyle = {
- width: isHorizontal && fullHorizontalWidth,
-
- // These values are to center the datepicker (approximately) on the page
- marginLeft: isHorizontal && withPortal ? -fullHorizontalWidth / 2 : null,
- marginTop: isHorizontal && withPortal ? -calendarMonthWidth / 2 : null
- };
-
- return _react2['default'].createElement(
- 'div',
- _extends({
- role: 'application',
- 'aria-label': phrases.calendarLabel
- }, (0, _reactWithStyles.css)(styles.DayPicker, isHorizontal && styles.DayPicker__horizontal, verticalScrollable && styles.DayPicker__verticalScrollable, isHorizontal && withPortal && styles.DayPicker_portal__horizontal, this.isVertical() && withPortal && styles.DayPicker_portal__vertical, dayPickerStyle, !monthTitleHeight && styles.DayPicker__hidden, !noBorder && styles.DayPicker__withBorder)),
- _react2['default'].createElement(
- _reactOutsideClickHandler2['default'],
- { onOutsideClick: onOutsideClick },
- (calendarInfoPositionTop || calendarInfoPositionBefore) && calendarInfo,
- _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(dayPickerWrapperStyle, calendarInfoIsInline && isHorizontal && styles.DayPicker_wrapper__horizontal),
- _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_weekHeaders, isHorizontal && styles.DayPicker_weekHeaders__horizontal), {
- 'aria-hidden': 'true',
- role: 'presentation'
- }),
- weekHeaders
- ),
- _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_focusRegion), {
- ref: this.setContainerRef,
- onClick: function () {
- function onClick(e) {
- e.stopPropagation();
- }
-
- return onClick;
- }(),
- onKeyDown: this.onKeyDown,
- onMouseUp: function () {
- function onMouseUp() {
- _this7.setState({ withMouseInteractions: true });
- }
-
- return onMouseUp;
- }(),
- role: 'region',
- tabIndex: -1
- }),
- !verticalScrollable && this.renderNavigation(),
- _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_transitionContainer, shouldAnimateHeight && styles.DayPicker_transitionContainer__horizontal, this.isVertical() && styles.DayPicker_transitionContainer__vertical, verticalScrollable && styles.DayPicker_transitionContainer__verticalScrollable, transitionContainerStyle), {
- ref: this.setTransitionContainerRef
- }),
- _react2['default'].createElement(_CalendarMonthGrid2['default'], {
- setMonthTitleHeight: !monthTitleHeight ? this.setMonthTitleHeight : undefined,
- translationValue: translationValue,
- enableOutsideDays: enableOutsideDays,
- firstVisibleMonthIndex: firstVisibleMonthIndex,
- initialMonth: currentMonth,
- isAnimating: isCalendarMonthGridAnimating,
- modifiers: modifiers,
- orientation: orientation,
- numberOfMonths: numberOfMonths * scrollableMonthMultiple,
- onDayClick: onDayClick,
- onDayMouseEnter: onDayMouseEnter,
- onDayMouseLeave: onDayMouseLeave,
- onMonthChange: this.onMonthChange,
- onYearChange: this.onYearChange,
- renderMonthText: renderMonthText,
- renderCalendarDay: renderCalendarDay,
- renderDayContents: renderDayContents,
- renderMonthElement: renderMonthElement,
- onMonthTransitionEnd: this.updateStateAfterMonthTransition,
- monthFormat: monthFormat,
- daySize: daySize,
- firstDayOfWeek: firstDayOfWeek,
- isFocused: shouldFocusDate,
- focusedDate: focusedDate,
- phrases: phrases,
- isRTL: isRTL,
- dayAriaLabelFormat: dayAriaLabelFormat,
- transitionDuration: transitionDuration,
- verticalBorderSpacing: verticalBorderSpacing,
- horizontalMonthPadding: horizontalMonthPadding
- }),
- verticalScrollable && this.renderNavigation()
- ),
- !isTouch && !hideKeyboardShortcutsPanel && _react2['default'].createElement(_DayPickerKeyboardShortcuts2['default'], {
- block: this.isVertical() && !withPortal,
- buttonLocation: keyboardShortcutButtonLocation,
- showKeyboardShortcutsPanel: showKeyboardShortcuts,
- openKeyboardShortcutsPanel: this.openKeyboardShortcutsPanel,
- closeKeyboardShortcutsPanel: this.closeKeyboardShortcutsPanel,
- phrases: phrases
- })
- )
- ),
- (calendarInfoPositionBottom || calendarInfoPositionAfter) && calendarInfo
- )
- );
- }
-
- return render;
- }()
- }]);
-
- return DayPicker;
-}(_react2['default'].Component);
-
-DayPicker.propTypes = propTypes;
-DayPicker.defaultProps = defaultProps;
-
-exports.PureDayPicker = DayPicker;
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var _ref2$reactDates = _ref2.reactDates,
- color = _ref2$reactDates.color,
- font = _ref2$reactDates.font,
- noScrollBarOnVerticalScrollable = _ref2$reactDates.noScrollBarOnVerticalScrollable,
- spacing = _ref2$reactDates.spacing,
- zIndex = _ref2$reactDates.zIndex;
- return {
- DayPicker: {
- background: color.background,
- position: 'relative',
- textAlign: 'left'
- },
-
- DayPicker__horizontal: {
- background: color.background
- },
-
- DayPicker__verticalScrollable: {
- height: '100%'
- },
-
- DayPicker__hidden: {
- visibility: 'hidden'
- },
-
- DayPicker__withBorder: {
- boxShadow: '0 2px 6px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.07)',
- borderRadius: 3
- },
-
- DayPicker_portal__horizontal: {
- boxShadow: 'none',
- position: 'absolute',
- left: '50%',
- top: '50%'
- },
-
- DayPicker_portal__vertical: {
- position: 'initial'
- },
-
- DayPicker_focusRegion: {
- outline: 'none'
- },
-
- DayPicker_calendarInfo__horizontal: {
- display: 'inline-block',
- verticalAlign: 'top'
- },
-
- DayPicker_wrapper__horizontal: {
- display: 'inline-block',
- verticalAlign: 'top'
- },
-
- DayPicker_weekHeaders: {
- position: 'relative'
- },
-
- DayPicker_weekHeaders__horizontal: {
- marginLeft: spacing.dayPickerHorizontalPadding
- },
-
- DayPicker_weekHeader: {
- color: color.placeholderText,
- position: 'absolute',
- top: 62,
- zIndex: zIndex + 2,
- textAlign: 'left'
- },
-
- DayPicker_weekHeader__vertical: {
- left: '50%'
- },
-
- DayPicker_weekHeader__verticalScrollable: {
- top: 0,
- display: 'table-row',
- borderBottom: '1px solid ' + String(color.core.border),
- background: color.background,
- marginLeft: 0,
- left: 0,
- width: '100%',
- textAlign: 'center'
- },
-
- DayPicker_weekHeader_ul: {
- listStyle: 'none',
- margin: '1px 0',
- paddingLeft: 0,
- paddingRight: 0,
- fontSize: font.size
- },
-
- DayPicker_weekHeader_li: {
- display: 'inline-block',
- textAlign: 'center'
- },
-
- DayPicker_transitionContainer: {
- position: 'relative',
- overflow: 'hidden',
- borderRadius: 3
- },
-
- DayPicker_transitionContainer__horizontal: {
- transition: 'height 0.2s ease-in-out'
- },
-
- DayPicker_transitionContainer__vertical: {
- width: '100%'
- },
-
- DayPicker_transitionContainer__verticalScrollable: (0, _object2['default'])({
- paddingTop: 20,
- height: '100%',
- position: 'absolute',
- top: 0,
- bottom: 0,
- right: 0,
- left: 0,
- overflowY: 'scroll'
- }, noScrollBarOnVerticalScrollable && {
- '-webkitOverflowScrolling': 'touch',
- '::-webkit-scrollbar': {
- '-webkit-appearance': 'none',
- display: 'none'
- }
- })
- };
-})(DayPicker);
-
-/***/ }),
-/* 132 */,
-/* 133 */,
-/* 134 */,
-/* 135 */,
-/* 136 */,
-/* 137 */,
-/* 138 */,
-/* 139 */,
-/* 140 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**
- * Copyright 2015, Yahoo! Inc.
- * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.
- */
-var REACT_STATICS = {
- childContextTypes: true,
- contextTypes: true,
- defaultProps: true,
- displayName: true,
- getDefaultProps: true,
- getDerivedStateFromProps: true,
- mixins: true,
- propTypes: true,
- type: true
-};
-
-var KNOWN_STATICS = {
- name: true,
- length: true,
- prototype: true,
- caller: true,
- callee: true,
- arguments: true,
- arity: true
-};
-
-var defineProperty = Object.defineProperty;
-var getOwnPropertyNames = Object.getOwnPropertyNames;
-var getOwnPropertySymbols = Object.getOwnPropertySymbols;
-var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
-var getPrototypeOf = Object.getPrototypeOf;
-var objectPrototype = getPrototypeOf && getPrototypeOf(Object);
-
-function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
- if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components
-
- if (objectPrototype) {
- var inheritedComponent = getPrototypeOf(sourceComponent);
- if (inheritedComponent && inheritedComponent !== objectPrototype) {
- hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);
- }
- }
-
- var keys = getOwnPropertyNames(sourceComponent);
-
- if (getOwnPropertySymbols) {
- keys = keys.concat(getOwnPropertySymbols(sourceComponent));
- }
-
- for (var i = 0; i < keys.length; ++i) {
- var key = keys[i];
- if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {
- var descriptor = getOwnPropertyDescriptor(sourceComponent, key);
- try { // Avoid failures from read-only properties
- defineProperty(targetComponent, key, descriptor);
- } catch (e) {}
- }
- }
-
- return targetComponent;
- }
-
- return targetComponent;
-}
-
-module.exports = hoistNonReactStatics;
-
-
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// modified from https://github.com/es-shims/es5-shim
-var has = Object.prototype.hasOwnProperty;
-var toStr = Object.prototype.toString;
-var slice = Array.prototype.slice;
-var isArgs = __webpack_require__(266);
-var isEnumerable = Object.prototype.propertyIsEnumerable;
-var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
-var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
-var dontEnums = [
- 'toString',
- 'toLocaleString',
- 'valueOf',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'constructor'
-];
-var equalsConstructorPrototype = function (o) {
- var ctor = o.constructor;
- return ctor && ctor.prototype === o;
-};
-var excludedKeys = {
- $console: true,
- $external: true,
- $frame: true,
- $frameElement: true,
- $frames: true,
- $innerHeight: true,
- $innerWidth: true,
- $outerHeight: true,
- $outerWidth: true,
- $pageXOffset: true,
- $pageYOffset: true,
- $parent: true,
- $scrollLeft: true,
- $scrollTop: true,
- $scrollX: true,
- $scrollY: true,
- $self: true,
- $webkitIndexedDB: true,
- $webkitStorageInfo: true,
- $window: true
-};
-var hasAutomationEqualityBug = (function () {
- /* global window */
- if (typeof window === 'undefined') { return false; }
- for (var k in window) {
- try {
- if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
- try {
- equalsConstructorPrototype(window[k]);
- } catch (e) {
- return true;
- }
- }
- } catch (e) {
- return true;
- }
- }
- return false;
-}());
-var equalsConstructorPrototypeIfNotBuggy = function (o) {
- /* global window */
- if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
- return equalsConstructorPrototype(o);
- }
- try {
- return equalsConstructorPrototype(o);
- } catch (e) {
- return false;
- }
-};
-
-var keysShim = function keys(object) {
- var isObject = object !== null && typeof object === 'object';
- var isFunction = toStr.call(object) === '[object Function]';
- var isArguments = isArgs(object);
- var isString = isObject && toStr.call(object) === '[object String]';
- var theKeys = [];
-
- if (!isObject && !isFunction && !isArguments) {
- throw new TypeError('Object.keys called on a non-object');
- }
-
- var skipProto = hasProtoEnumBug && isFunction;
- if (isString && object.length > 0 && !has.call(object, 0)) {
- for (var i = 0; i < object.length; ++i) {
- theKeys.push(String(i));
- }
- }
-
- if (isArguments && object.length > 0) {
- for (var j = 0; j < object.length; ++j) {
- theKeys.push(String(j));
- }
- } else {
- for (var name in object) {
- if (!(skipProto && name === 'prototype') && has.call(object, name)) {
- theKeys.push(String(name));
- }
- }
- }
-
- if (hasDontEnumBug) {
- var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
-
- for (var k = 0; k < dontEnums.length; ++k) {
- if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
- theKeys.push(dontEnums[k]);
- }
- }
- }
- return theKeys;
-};
-
-keysShim.shim = function shimObjectKeys() {
- if (Object.keys) {
- var keysWorksWithArguments = (function () {
- // Safari 5.0 bug
- return (Object.keys(arguments) || '').length === 2;
- }(1, 2));
- if (!keysWorksWithArguments) {
- var originalKeys = Object.keys;
- Object.keys = function keys(object) {
- if (isArgs(object)) {
- return originalKeys(slice.call(object));
- } else {
- return originalKeys(object);
- }
- };
- }
- } else {
- Object.keys = keysShim;
- }
- return Object.keys || keysShim;
-};
-
-module.exports = keysShim;
-
-
-/***/ }),
-/* 142 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var ES = __webpack_require__(269);
-
-var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || (Math.pow(2, 53) - 1);
-
-// eslint-disable-next-line max-params, max-statements
-var FlattenIntoArray = function FlattenIntoArray(target, source, sourceLen, start, depth) {
- var targetIndex = start;
- var sourceIndex = 0;
-
- /*
- var mapperFunction;
- if (arguments.length > 5) {
- mapperFunction = arguments[5];
- }
- */
-
- while (sourceIndex < sourceLen) {
- var P = ES.ToString(sourceIndex);
- var exists = ES.HasProperty(source, P);
- if (exists) {
- var element = ES.Get(source, P);
- /*
- if (typeof mapperFunction !== 'undefined') {
- if (arguments.length <= 6) {
- throw new TypeError('Assertion failed: thisArg is required when mapperFunction is provided');
- }
- element = ES.Call(mapperFunction, arguments[6], [element, sourceIndex, source]);
- }
- */
- var shouldFlatten = false;
- if (depth > 0) {
- shouldFlatten = ES.IsArray(element);
- }
- if (shouldFlatten) {
- var elementLen = ES.ToLength(ES.Get(element, 'length'));
- targetIndex = FlattenIntoArray(target, element, elementLen, targetIndex, depth - 1);
- } else {
- if (targetIndex >= MAX_SAFE_INTEGER) {
- throw new TypeError('index too large');
- }
- ES.CreateDataPropertyOrThrow(target, ES.ToString(targetIndex), element);
- targetIndex += 1;
- }
- }
- sourceIndex += 1;
- }
-
- return targetIndex;
-};
-
-module.exports = function flat() {
- var O = ES.ToObject(this);
- var sourceLen = ES.ToLength(ES.Get(O, 'length'));
-
- var depthNum = 1;
- if (arguments.length > 0 && typeof arguments[0] !== 'undefined') {
- depthNum = ES.ToInteger(arguments[0]);
- }
-
- var A = ES.ArraySpeciesCreate(O, 0);
- FlattenIntoArray(A, O, sourceLen, 0, depthNum);
- return A;
-};
-
-
-/***/ }),
-/* 143 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var ES2015 = __webpack_require__(270);
-var assign = __webpack_require__(124);
-
-var ES2016 = assign(assign({}, ES2015), {
- // https://github.com/tc39/ecma262/pull/60
- SameValueNonNumber: function SameValueNonNumber(x, y) {
- if (typeof x === 'number' || typeof x !== typeof y) {
- throw new TypeError('SameValueNonNumber requires two non-number values of the same type.');
- }
- return this.SameValue(x, y);
- }
-});
-
-module.exports = ES2016;
-
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports) {
-
-module.exports = function isPrimitive(value) {
- return value === null || (typeof value !== 'function' && typeof value !== 'object');
-};
-
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var toStr = Object.prototype.toString;
-var hasSymbols = __webpack_require__(274)();
-
-if (hasSymbols) {
- var symToStr = Symbol.prototype.toString;
- var symStringRegex = /^Symbol\(.*\)$/;
- var isSymbolObject = function isRealSymbolObject(value) {
- if (typeof value.valueOf() !== 'symbol') {
- return false;
- }
- return symStringRegex.test(symToStr.call(value));
- };
-
- module.exports = function isSymbol(value) {
- if (typeof value === 'symbol') {
- return true;
- }
- if (toStr.call(value) !== '[object Symbol]') {
- return false;
- }
- try {
- return isSymbolObject(value);
- } catch (e) {
- return false;
- }
- };
-} else {
-
- module.exports = function isSymbol(value) {
- // this environment does not support Symbols.
- return false && false;
- };
-}
-
-
-/***/ }),
-/* 146 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/* eslint complexity: [2, 17], max-statements: [2, 33] */
-module.exports = function hasSymbols() {
- if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
- if (typeof Symbol.iterator === 'symbol') { return true; }
-
- var obj = {};
- var sym = Symbol('test');
- var symObj = Object(sym);
- if (typeof sym === 'string') { return false; }
-
- if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
- if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
-
- // temp disabled per https://github.com/ljharb/object.assign/issues/17
- // if (sym instanceof Symbol) { return false; }
- // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
- // if (!(symObj instanceof Symbol)) { return false; }
-
- // if (typeof Symbol.prototype.toString !== 'function') { return false; }
- // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
-
- var symVal = 42;
- obj[sym] = symVal;
- for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax
- if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
-
- if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
-
- var syms = Object.getOwnPropertySymbols(obj);
- if (syms.length !== 1 || syms[0] !== sym) { return false; }
-
- if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
-
- if (typeof Object.getOwnPropertyDescriptor === 'function') {
- var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
- if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
- }
-
- return true;
-};
-
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/* globals
- Set,
- Map,
- WeakSet,
- WeakMap,
-
- Promise,
-
- Symbol,
- Proxy,
-
- Atomics,
- SharedArrayBuffer,
-
- ArrayBuffer,
- DataView,
- Uint8Array,
- Float32Array,
- Float64Array,
- Int8Array,
- Int16Array,
- Int32Array,
- Uint8ClampedArray,
- Uint16Array,
- Uint32Array,
-*/
-
-var undefined; // eslint-disable-line no-shadow-restricted-names
-
-var ThrowTypeError = Object.getOwnPropertyDescriptor
- ? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())
- : function () { throw new TypeError(); };
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-
-var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
-
-var generator; // = function * () {};
-var generatorFunction = generator ? getProto(generator) : undefined;
-var asyncFn; // async function() {};
-var asyncFunction = asyncFn ? asyncFn.constructor : undefined;
-var asyncGen; // async function * () {};
-var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;
-var asyncGenIterator = asyncGen ? asyncGen() : undefined;
-
-var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
-
-var INTRINSICS = {
- '$ %Array%': Array,
- '$ %ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
- '$ %ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,
- '$ %ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
- '$ %ArrayPrototype%': Array.prototype,
- '$ %ArrayProto_entries%': Array.prototype.entries,
- '$ %ArrayProto_forEach%': Array.prototype.forEach,
- '$ %ArrayProto_keys%': Array.prototype.keys,
- '$ %ArrayProto_values%': Array.prototype.values,
- '$ %AsyncFromSyncIteratorPrototype%': undefined,
- '$ %AsyncFunction%': asyncFunction,
- '$ %AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,
- '$ %AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,
- '$ %AsyncGeneratorFunction%': asyncGenFunction,
- '$ %AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,
- '$ %AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,
- '$ %Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
- '$ %Boolean%': Boolean,
- '$ %BooleanPrototype%': Boolean.prototype,
- '$ %DataView%': typeof DataView === 'undefined' ? undefined : DataView,
- '$ %DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,
- '$ %Date%': Date,
- '$ %DatePrototype%': Date.prototype,
- '$ %decodeURI%': decodeURI,
- '$ %decodeURIComponent%': decodeURIComponent,
- '$ %encodeURI%': encodeURI,
- '$ %encodeURIComponent%': encodeURIComponent,
- '$ %Error%': Error,
- '$ %ErrorPrototype%': Error.prototype,
- '$ %eval%': eval, // eslint-disable-line no-eval
- '$ %EvalError%': EvalError,
- '$ %EvalErrorPrototype%': EvalError.prototype,
- '$ %Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
- '$ %Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,
- '$ %Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
- '$ %Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,
- '$ %Function%': Function,
- '$ %FunctionPrototype%': Function.prototype,
- '$ %Generator%': generator ? getProto(generator()) : undefined,
- '$ %GeneratorFunction%': generatorFunction,
- '$ %GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,
- '$ %Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
- '$ %Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,
- '$ %Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
- '$ %Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,
- '$ %Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
- '$ %Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,
- '$ %isFinite%': isFinite,
- '$ %isNaN%': isNaN,
- '$ %IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
- '$ %JSON%': JSON,
- '$ %JSONParse%': JSON.parse,
- '$ %Map%': typeof Map === 'undefined' ? undefined : Map,
- '$ %MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
- '$ %MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,
- '$ %Math%': Math,
- '$ %Number%': Number,
- '$ %NumberPrototype%': Number.prototype,
- '$ %Object%': Object,
- '$ %ObjectPrototype%': Object.prototype,
- '$ %ObjProto_toString%': Object.prototype.toString,
- '$ %ObjProto_valueOf%': Object.prototype.valueOf,
- '$ %parseFloat%': parseFloat,
- '$ %parseInt%': parseInt,
- '$ %Promise%': typeof Promise === 'undefined' ? undefined : Promise,
- '$ %PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,
- '$ %PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,
- '$ %Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,
- '$ %Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,
- '$ %Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,
- '$ %Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
- '$ %RangeError%': RangeError,
- '$ %RangeErrorPrototype%': RangeError.prototype,
- '$ %ReferenceError%': ReferenceError,
- '$ %ReferenceErrorPrototype%': ReferenceError.prototype,
- '$ %Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
- '$ %RegExp%': RegExp,
- '$ %RegExpPrototype%': RegExp.prototype,
- '$ %Set%': typeof Set === 'undefined' ? undefined : Set,
- '$ %SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
- '$ %SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,
- '$ %SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
- '$ %SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,
- '$ %String%': String,
- '$ %StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
- '$ %StringPrototype%': String.prototype,
- '$ %Symbol%': hasSymbols ? Symbol : undefined,
- '$ %SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,
- '$ %SyntaxError%': SyntaxError,
- '$ %SyntaxErrorPrototype%': SyntaxError.prototype,
- '$ %ThrowTypeError%': ThrowTypeError,
- '$ %TypedArray%': TypedArray,
- '$ %TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,
- '$ %TypeError%': TypeError,
- '$ %TypeErrorPrototype%': TypeError.prototype,
- '$ %Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
- '$ %Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,
- '$ %Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
- '$ %Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,
- '$ %Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
- '$ %Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,
- '$ %Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
- '$ %Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,
- '$ %URIError%': URIError,
- '$ %URIErrorPrototype%': URIError.prototype,
- '$ %WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
- '$ %WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,
- '$ %WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,
- '$ %WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype
-};
-
-module.exports = function GetIntrinsic(name, allowMissing) {
- if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
- throw new TypeError('"allowMissing" argument must be a boolean');
- }
-
- var key = '$ ' + name;
- if (!(key in INTRINSICS)) {
- throw new SyntaxError('intrinsic ' + name + ' does not exist!');
- }
-
- // istanbul ignore if // hopefully this is impossible to test :-)
- if (typeof INTRINSICS[key] === 'undefined' && !allowMissing) {
- throw new TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
- }
- return INTRINSICS[key];
-};
-
-
-/***/ }),
-/* 148 */
-/***/ (function(module, exports) {
-
-module.exports = Number.isNaN || function isNaN(a) {
- return a !== a;
-};
-
-
-/***/ }),
-/* 149 */
-/***/ (function(module, exports) {
-
-var $isNaN = Number.isNaN || function (a) { return a !== a; };
-
-module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
-
-
-/***/ }),
-/* 150 */
-/***/ (function(module, exports) {
-
-module.exports = function sign(number) {
- return number >= 0 ? 1 : -1;
-};
-
-
-/***/ }),
-/* 151 */
-/***/ (function(module, exports) {
-
-module.exports = function mod(number, modulo) {
- var remain = number % modulo;
- return Math.floor(remain >= 0 ? remain : remain + modulo);
-};
-
-
-/***/ }),
-/* 152 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var implementation = __webpack_require__(142);
-
-module.exports = function getPolyfill() {
- return Array.prototype.flat || implementation;
-};
-
-
-/***/ }),
-/* 153 */
-/***/ (function(module, exports, __webpack_require__) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var styleInterface = void 0;
-var styleTheme = void 0;
-
-function registerTheme(theme) {
- styleTheme = theme;
-}
-
-function registerInterface(interfaceToRegister) {
- styleInterface = interfaceToRegister;
-}
-
-function create(makeFromTheme, createWithDirection) {
- var styles = createWithDirection(makeFromTheme(styleTheme));
- return function () {
- return styles;
- };
-}
-
-function createLTR(makeFromTheme) {
- return create(makeFromTheme, styleInterface.createLTR || styleInterface.create);
-}
-
-function createRTL(makeFromTheme) {
- return create(makeFromTheme, styleInterface.createRTL || styleInterface.create);
-}
-
-function get() {
- return styleTheme;
-}
-
-function resolve() {
- if (false) {}
-
- for (var _len = arguments.length, styles = Array(_len), _key = 0; _key < _len; _key++) {
- styles[_key] = arguments[_key];
- }
-
- var result = styleInterface.resolve(styles);
-
- if (false) {}
-
- return result;
-}
-
-function resolveLTR() {
- for (var _len2 = arguments.length, styles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
- styles[_key2] = arguments[_key2];
- }
-
- if (styleInterface.resolveLTR) {
- return styleInterface.resolveLTR(styles);
- }
-
- return resolve(styles);
-}
-
-function resolveRTL() {
- for (var _len3 = arguments.length, styles = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
- styles[_key3] = arguments[_key3];
- }
-
- if (styleInterface.resolveRTL) {
- return styleInterface.resolveRTL(styles);
- }
-
- return resolve(styles);
-}
-
-function flush() {
- if (styleInterface.flush) {
- styleInterface.flush();
- }
-}
-
-exports['default'] = {
- registerTheme: registerTheme,
- registerInterface: registerInterface,
- create: createLTR,
- createLTR: createLTR,
- createRTL: createRTL,
- get: get,
- resolve: resolveLTR,
- resolveLTR: resolveLTR,
- resolveRTL: resolveRTL,
- flush: flush
-};
-
-/***/ }),
-/* 154 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var core = {
- white: '#fff',
- gray: '#484848',
- grayLight: '#82888a',
- grayLighter: '#cacccd',
- grayLightest: '#f2f2f2',
-
- borderMedium: '#c4c4c4',
- border: '#dbdbdb',
- borderLight: '#e4e7e7',
- borderLighter: '#eceeee',
- borderBright: '#f4f5f5',
-
- primary: '#00a699',
- primaryShade_1: '#33dacd',
- primaryShade_2: '#66e2da',
- primaryShade_3: '#80e8e0',
- primaryShade_4: '#b2f1ec',
- primary_dark: '#008489',
-
- secondary: '#007a87',
-
- yellow: '#ffe8bc',
- yellow_dark: '#ffce71'
-};
-
-exports['default'] = {
- reactDates: {
- zIndex: 0,
- border: {
- input: {
- border: 0,
- borderTop: 0,
- borderRight: 0,
- borderBottom: '2px solid transparent',
- borderLeft: 0,
- outlineFocused: 0,
- borderFocused: 0,
- borderTopFocused: 0,
- borderLeftFocused: 0,
- borderBottomFocused: '2px solid ' + String(core.primary_dark),
- borderRightFocused: 0,
- borderRadius: 0
- },
- pickerInput: {
- borderWidth: 1,
- borderStyle: 'solid',
- borderRadius: 2
- }
- },
-
- color: {
- core: core,
-
- disabled: core.grayLightest,
-
- background: core.white,
- backgroundDark: '#f2f2f2',
- backgroundFocused: core.white,
- border: 'rgb(219, 219, 219)',
- text: core.gray,
- textDisabled: core.border,
- textFocused: '#007a87',
- placeholderText: '#757575',
-
- outside: {
- backgroundColor: core.white,
- backgroundColor_active: core.white,
- backgroundColor_hover: core.white,
- color: core.gray,
- color_active: core.gray,
- color_hover: core.gray
- },
-
- highlighted: {
- backgroundColor: core.yellow,
- backgroundColor_active: core.yellow_dark,
- backgroundColor_hover: core.yellow_dark,
- color: core.gray,
- color_active: core.gray,
- color_hover: core.gray
- },
-
- minimumNights: {
- backgroundColor: core.white,
- backgroundColor_active: core.white,
- backgroundColor_hover: core.white,
- borderColor: core.borderLighter,
- color: core.grayLighter,
- color_active: core.grayLighter,
- color_hover: core.grayLighter
- },
-
- hoveredSpan: {
- backgroundColor: core.primaryShade_4,
- backgroundColor_active: core.primaryShade_3,
- backgroundColor_hover: core.primaryShade_4,
- borderColor: core.primaryShade_3,
- borderColor_active: core.primaryShade_3,
- borderColor_hover: core.primaryShade_3,
- color: core.secondary,
- color_active: core.secondary,
- color_hover: core.secondary
- },
-
- selectedSpan: {
- backgroundColor: core.primaryShade_2,
- backgroundColor_active: core.primaryShade_1,
- backgroundColor_hover: core.primaryShade_1,
- borderColor: core.primaryShade_1,
- borderColor_active: core.primary,
- borderColor_hover: core.primary,
- color: core.white,
- color_active: core.white,
- color_hover: core.white
- },
-
- selected: {
- backgroundColor: core.primary,
- backgroundColor_active: core.primary,
- backgroundColor_hover: core.primary,
- borderColor: core.primary,
- borderColor_active: core.primary,
- borderColor_hover: core.primary,
- color: core.white,
- color_active: core.white,
- color_hover: core.white
- },
-
- blocked_calendar: {
- backgroundColor: core.grayLighter,
- backgroundColor_active: core.grayLighter,
- backgroundColor_hover: core.grayLighter,
- borderColor: core.grayLighter,
- borderColor_active: core.grayLighter,
- borderColor_hover: core.grayLighter,
- color: core.grayLight,
- color_active: core.grayLight,
- color_hover: core.grayLight
- },
-
- blocked_out_of_range: {
- backgroundColor: core.white,
- backgroundColor_active: core.white,
- backgroundColor_hover: core.white,
- borderColor: core.borderLight,
- borderColor_active: core.borderLight,
- borderColor_hover: core.borderLight,
- color: core.grayLighter,
- color_active: core.grayLighter,
- color_hover: core.grayLighter
- }
- },
-
- spacing: {
- dayPickerHorizontalPadding: 9,
- captionPaddingTop: 22,
- captionPaddingBottom: 37,
- inputPadding: 0,
- displayTextPaddingVertical: undefined,
- displayTextPaddingTop: 11,
- displayTextPaddingBottom: 9,
- displayTextPaddingHorizontal: undefined,
- displayTextPaddingLeft: 11,
- displayTextPaddingRight: 11,
- displayTextPaddingVertical_small: undefined,
- displayTextPaddingTop_small: 7,
- displayTextPaddingBottom_small: 5,
- displayTextPaddingHorizontal_small: undefined,
- displayTextPaddingLeft_small: 7,
- displayTextPaddingRight_small: 7
- },
-
- sizing: {
- inputWidth: 130,
- inputWidth_small: 97,
- arrowWidth: 24
- },
-
- noScrollBarOnVerticalScrollable: false,
-
- font: {
- size: 14,
- captionSize: 18,
- input: {
- size: 19,
- lineHeight: '24px',
- size_small: 15,
- lineHeight_small: '18px',
- letterSpacing_small: '0.2px',
- styleDisabled: 'italic'
- }
- }
- }
-};
-
-/***/ }),
-/* 155 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// modified from https://github.com/es-shims/es6-shim
-var keys = __webpack_require__(141);
-var bind = __webpack_require__(74);
-var canBeObject = function (obj) {
- return typeof obj !== 'undefined' && obj !== null;
-};
-var hasSymbols = __webpack_require__(146)();
-var toObject = Object;
-var push = bind.call(Function.call, Array.prototype.push);
-var propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
-var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;
-
-module.exports = function assign(target, source1) {
- if (!canBeObject(target)) { throw new TypeError('target must be an object'); }
- var objTarget = toObject(target);
- var s, source, i, props, syms, value, key;
- for (s = 1; s < arguments.length; ++s) {
- source = toObject(arguments[s]);
- props = keys(source);
- var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);
- if (getSymbols) {
- syms = getSymbols(source);
- for (i = 0; i < syms.length; ++i) {
- key = syms[i];
- if (propIsEnumerable(source, key)) {
- push(props, key);
- }
- }
- }
- for (i = 0; i < props.length; ++i) {
- key = props[i];
- value = source[key];
- if (propIsEnumerable(source, key)) {
- objTarget[key] = value;
- }
- }
- }
- return objTarget;
-};
-
-
-/***/ }),
-/* 156 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var implementation = __webpack_require__(155);
-
-var lacksProperEnumerationOrder = function () {
- if (!Object.assign) {
- return false;
- }
- // v8, specifically in node 4.x, has a bug with incorrect property enumeration order
- // note: this does not detect the bug unless there's 20 characters
- var str = 'abcdefghijklmnopqrst';
- var letters = str.split('');
- var map = {};
- for (var i = 0; i < letters.length; ++i) {
- map[letters[i]] = letters[i];
- }
- var obj = Object.assign({}, map);
- var actual = '';
- for (var k in obj) {
- actual += k;
- }
- return str !== actual;
-};
-
-var assignHasPendingExceptions = function () {
- if (!Object.assign || !Object.preventExtensions) {
- return false;
- }
- // Firefox 37 still has "pending exception" logic in its Object.assign implementation,
- // which is 72% slower than our shim, and Firefox 40's native implementation.
- var thrower = Object.preventExtensions({ 1: 2 });
- try {
- Object.assign(thrower, 'xy');
- } catch (e) {
- return thrower[1] === 'y';
- }
- return false;
-};
-
-module.exports = function getPolyfill() {
- if (!Object.assign) {
- return implementation;
- }
- if (lacksProperEnumerationOrder()) {
- return implementation;
- }
- if (assignHasPendingExceptions()) {
- return implementation;
- }
- return Object.assign;
-};
-
-
-/***/ }),
-/* 157 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getCalendarDaySettings;
-
-var _getPhrase = __webpack_require__(294);
-
-var _getPhrase2 = _interopRequireDefault(_getPhrase);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function getCalendarDaySettings(day, ariaLabelFormat, daySize, modifiers, phrases) {
- var chooseAvailableDate = phrases.chooseAvailableDate,
- dateIsUnavailable = phrases.dateIsUnavailable,
- dateIsSelected = phrases.dateIsSelected;
-
-
- var daySizeStyles = {
- width: daySize,
- height: daySize - 1
- };
-
- var useDefaultCursor = modifiers.has('blocked-minimum-nights') || modifiers.has('blocked-calendar') || modifiers.has('blocked-out-of-range');
-
- var selected = modifiers.has('selected') || modifiers.has('selected-start') || modifiers.has('selected-end');
-
- var hoveredSpan = !selected && (modifiers.has('hovered-span') || modifiers.has('after-hovered-start'));
-
- var isOutsideRange = modifiers.has('blocked-out-of-range');
-
- var formattedDate = { date: day.format(ariaLabelFormat) };
-
- var ariaLabel = (0, _getPhrase2['default'])(chooseAvailableDate, formattedDate);
- if (modifiers.has(_constants.BLOCKED_MODIFIER)) {
- ariaLabel = (0, _getPhrase2['default'])(dateIsUnavailable, formattedDate);
- } else if (selected) {
- ariaLabel = (0, _getPhrase2['default'])(dateIsSelected, formattedDate);
- }
-
- return {
- daySizeStyles: daySizeStyles,
- useDefaultCursor: useDefaultCursor,
- selected: selected,
- hoveredSpan: hoveredSpan,
- isOutsideRange: isOutsideRange,
- ariaLabel: ariaLabel
- };
-}
-
-/***/ }),
-/* 158 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactAddonsShallowCompare = __webpack_require__(78);
-
-var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _CalendarWeek = __webpack_require__(295);
-
-var _CalendarWeek2 = _interopRequireDefault(_CalendarWeek);
-
-var _CalendarDay = __webpack_require__(125);
-
-var _CalendarDay2 = _interopRequireDefault(_CalendarDay);
-
-var _calculateDimension = __webpack_require__(159);
-
-var _calculateDimension2 = _interopRequireDefault(_calculateDimension);
-
-var _getCalendarMonthWeeks = __webpack_require__(297);
-
-var _getCalendarMonthWeeks2 = _interopRequireDefault(_getCalendarMonthWeeks);
-
-var _isSameDay = __webpack_require__(79);
-
-var _isSameDay2 = _interopRequireDefault(_isSameDay);
-
-var _toISODateString = __webpack_require__(102);
-
-var _toISODateString2 = _interopRequireDefault(_toISODateString);
-
-var _ModifiersShape = __webpack_require__(101);
-
-var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);
-
-var _ScrollableOrientationShape = __webpack_require__(81);
-
-var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; } /* eslint react/no-array-index-key: 0 */
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- month: _reactMomentProptypes2['default'].momentObj,
- horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,
- isVisible: _propTypes2['default'].bool,
- enableOutsideDays: _propTypes2['default'].bool,
- modifiers: _propTypes2['default'].objectOf(_ModifiersShape2['default']),
- orientation: _ScrollableOrientationShape2['default'],
- daySize: _airbnbPropTypes.nonNegativeInteger,
- onDayClick: _propTypes2['default'].func,
- onDayMouseEnter: _propTypes2['default'].func,
- onDayMouseLeave: _propTypes2['default'].func,
- onMonthSelect: _propTypes2['default'].func,
- onYearSelect: _propTypes2['default'].func,
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- firstDayOfWeek: _DayOfWeekShape2['default'],
- setMonthTitleHeight: _propTypes2['default'].func,
- verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,
-
- focusedDate: _reactMomentProptypes2['default'].momentObj, // indicates focusable day
- isFocused: _propTypes2['default'].bool, // indicates whether or not to move focus to focusable day
-
- // i18n
- monthFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string
-}));
-
-var defaultProps = {
- month: (0, _moment2['default'])(),
- horizontalMonthPadding: 13,
- isVisible: true,
- enableOutsideDays: false,
- modifiers: {},
- orientation: _constants.HORIZONTAL_ORIENTATION,
- daySize: _constants.DAY_SIZE,
- onDayClick: function () {
- function onDayClick() {}
-
- return onDayClick;
- }(),
- onDayMouseEnter: function () {
- function onDayMouseEnter() {}
-
- return onDayMouseEnter;
- }(),
- onDayMouseLeave: function () {
- function onDayMouseLeave() {}
-
- return onDayMouseLeave;
- }(),
- onMonthSelect: function () {
- function onMonthSelect() {}
-
- return onMonthSelect;
- }(),
- onYearSelect: function () {
- function onYearSelect() {}
-
- return onYearSelect;
- }(),
-
- renderMonthText: null,
- renderCalendarDay: function () {
- function renderCalendarDay(props) {
- return _react2['default'].createElement(_CalendarDay2['default'], props);
- }
-
- return renderCalendarDay;
- }(),
- renderDayContents: null,
- renderMonthElement: null,
- firstDayOfWeek: null,
- setMonthTitleHeight: null,
-
- focusedDate: null,
- isFocused: false,
-
- // i18n
- monthFormat: 'MMMM YYYY', // english locale
- phrases: _defaultPhrases.CalendarDayPhrases,
- dayAriaLabelFormat: undefined,
- verticalBorderSpacing: undefined
-};
-
-var CalendarMonth = function (_React$Component) {
- _inherits(CalendarMonth, _React$Component);
-
- function CalendarMonth(props) {
- _classCallCheck(this, CalendarMonth);
-
- var _this = _possibleConstructorReturn(this, (CalendarMonth.__proto__ || Object.getPrototypeOf(CalendarMonth)).call(this, props));
-
- _this.state = {
- weeks: (0, _getCalendarMonthWeeks2['default'])(props.month, props.enableOutsideDays, props.firstDayOfWeek == null ? _moment2['default'].localeData().firstDayOfWeek() : props.firstDayOfWeek)
- };
-
- _this.setCaptionRef = _this.setCaptionRef.bind(_this);
- _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_this);
- return _this;
- }
-
- _createClass(CalendarMonth, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- this.setMonthTitleHeightTimeout = setTimeout(this.setMonthTitleHeight, 0);
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var month = nextProps.month,
- enableOutsideDays = nextProps.enableOutsideDays,
- firstDayOfWeek = nextProps.firstDayOfWeek;
- var _props = this.props,
- prevMonth = _props.month,
- prevEnableOutsideDays = _props.enableOutsideDays,
- prevFirstDayOfWeek = _props.firstDayOfWeek;
-
- if (!month.isSame(prevMonth) || enableOutsideDays !== prevEnableOutsideDays || firstDayOfWeek !== prevFirstDayOfWeek) {
- this.setState({
- weeks: (0, _getCalendarMonthWeeks2['default'])(month, enableOutsideDays, firstDayOfWeek == null ? _moment2['default'].localeData().firstDayOfWeek() : firstDayOfWeek)
- });
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'shouldComponentUpdate',
- value: function () {
- function shouldComponentUpdate(nextProps, nextState) {
- return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
- }
-
- return shouldComponentUpdate;
- }()
- }, {
- key: 'componentWillUnmount',
- value: function () {
- function componentWillUnmount() {
- if (this.setMonthTitleHeightTimeout) {
- clearTimeout(this.setMonthTitleHeightTimeout);
- }
- }
-
- return componentWillUnmount;
- }()
- }, {
- key: 'setMonthTitleHeight',
- value: function () {
- function setMonthTitleHeight() {
- var setMonthTitleHeight = this.props.setMonthTitleHeight;
-
- if (setMonthTitleHeight) {
- var captionHeight = (0, _calculateDimension2['default'])(this.captionRef, 'height', true, true);
- setMonthTitleHeight(captionHeight);
- }
- }
-
- return setMonthTitleHeight;
- }()
- }, {
- key: 'setCaptionRef',
- value: function () {
- function setCaptionRef(ref) {
- this.captionRef = ref;
- }
-
- return setCaptionRef;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props2 = this.props,
- dayAriaLabelFormat = _props2.dayAriaLabelFormat,
- daySize = _props2.daySize,
- focusedDate = _props2.focusedDate,
- horizontalMonthPadding = _props2.horizontalMonthPadding,
- isFocused = _props2.isFocused,
- isVisible = _props2.isVisible,
- modifiers = _props2.modifiers,
- month = _props2.month,
- monthFormat = _props2.monthFormat,
- onDayClick = _props2.onDayClick,
- onDayMouseEnter = _props2.onDayMouseEnter,
- onDayMouseLeave = _props2.onDayMouseLeave,
- onMonthSelect = _props2.onMonthSelect,
- onYearSelect = _props2.onYearSelect,
- orientation = _props2.orientation,
- phrases = _props2.phrases,
- renderCalendarDay = _props2.renderCalendarDay,
- renderDayContents = _props2.renderDayContents,
- renderMonthElement = _props2.renderMonthElement,
- renderMonthText = _props2.renderMonthText,
- styles = _props2.styles,
- verticalBorderSpacing = _props2.verticalBorderSpacing;
- var weeks = this.state.weeks;
-
- var monthTitle = renderMonthText ? renderMonthText(month) : month.format(monthFormat);
-
- var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;
-
- return _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonth, { padding: '0 ' + String(horizontalMonthPadding) + 'px' }), {
- 'data-visible': isVisible
- }),
- _react2['default'].createElement(
- 'div',
- _extends({
- ref: this.setCaptionRef
- }, (0, _reactWithStyles.css)(styles.CalendarMonth_caption, verticalScrollable && styles.CalendarMonth_caption__verticalScrollable)),
- renderMonthElement ? renderMonthElement({ month: month, onMonthSelect: onMonthSelect, onYearSelect: onYearSelect }) : _react2['default'].createElement(
- 'strong',
- null,
- monthTitle
- )
- ),
- _react2['default'].createElement(
- 'table',
- _extends({}, (0, _reactWithStyles.css)(!verticalBorderSpacing && styles.CalendarMonth_table, verticalBorderSpacing && styles.CalendarMonth_verticalSpacing, verticalBorderSpacing && { borderSpacing: '0px ' + String(verticalBorderSpacing) + 'px' }), {
- role: 'presentation'
- }),
- _react2['default'].createElement(
- 'tbody',
- null,
- weeks.map(function (week, i) {
- return _react2['default'].createElement(
- _CalendarWeek2['default'],
- { key: i },
- week.map(function (day, dayOfWeek) {
- return renderCalendarDay({
- key: dayOfWeek,
- day: day,
- daySize: daySize,
- isOutsideDay: !day || day.month() !== month.month(),
- tabIndex: isVisible && (0, _isSameDay2['default'])(day, focusedDate) ? 0 : -1,
- isFocused: isFocused,
- onDayMouseEnter: onDayMouseEnter,
- onDayMouseLeave: onDayMouseLeave,
- onDayClick: onDayClick,
- renderDayContents: renderDayContents,
- phrases: phrases,
- modifiers: modifiers[(0, _toISODateString2['default'])(day)],
- ariaLabelFormat: dayAriaLabelFormat
- });
- })
- );
- })
- )
- )
- );
- }
-
- return render;
- }()
- }]);
-
- return CalendarMonth;
-}(_react2['default'].Component);
-
-CalendarMonth.propTypes = propTypes;
-CalendarMonth.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {
- var _ref$reactDates = _ref.reactDates,
- color = _ref$reactDates.color,
- font = _ref$reactDates.font,
- spacing = _ref$reactDates.spacing;
- return {
- CalendarMonth: {
- background: color.background,
- textAlign: 'center',
- verticalAlign: 'top',
- userSelect: 'none'
- },
-
- CalendarMonth_table: {
- borderCollapse: 'collapse',
- borderSpacing: 0
- },
-
- CalendarMonth_verticalSpacing: {
- borderCollapse: 'separate'
- },
-
- CalendarMonth_caption: {
- color: color.text,
- fontSize: font.captionSize,
- textAlign: 'center',
- paddingTop: spacing.captionPaddingTop,
- paddingBottom: spacing.captionPaddingBottom,
- captionSide: 'initial'
- },
-
- CalendarMonth_caption__verticalScrollable: {
- paddingTop: 12,
- paddingBottom: 7
- }
- };
-})(CalendarMonth);
-
-/***/ }),
-/* 159 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = calculateDimension;
-function calculateDimension(el, axis) {
- var borderBox = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
- var withMargin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-
- if (!el) {
- return 0;
- }
-
- var axisStart = axis === 'width' ? 'Left' : 'Top';
- var axisEnd = axis === 'width' ? 'Right' : 'Bottom';
-
- // Only read styles if we need to
- var style = !borderBox || withMargin ? window.getComputedStyle(el) : null;
-
- // Offset includes border and padding
- var offsetWidth = el.offsetWidth,
- offsetHeight = el.offsetHeight;
-
- var size = axis === 'width' ? offsetWidth : offsetHeight;
-
- // Get the inner size
- if (!borderBox) {
- size -= parseFloat(style['padding' + axisStart]) + parseFloat(style['padding' + axisEnd]) + parseFloat(style['border' + axisStart + 'Width']) + parseFloat(style['border' + axisEnd + 'Width']);
- }
-
- // Apply margin
- if (withMargin) {
- size += parseFloat(style['margin' + axisStart]) + parseFloat(style['margin' + axisEnd]);
- }
-
- return size;
-}
-
-/***/ }),
-/* 160 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactAddonsShallowCompare = __webpack_require__(78);
-
-var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _consolidatedEvents = __webpack_require__(103);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _CalendarMonth = __webpack_require__(158);
-
-var _CalendarMonth2 = _interopRequireDefault(_CalendarMonth);
-
-var _isTransitionEndSupported = __webpack_require__(298);
-
-var _isTransitionEndSupported2 = _interopRequireDefault(_isTransitionEndSupported);
-
-var _getTransformStyles = __webpack_require__(299);
-
-var _getTransformStyles2 = _interopRequireDefault(_getTransformStyles);
-
-var _getCalendarMonthWidth = __webpack_require__(161);
-
-var _getCalendarMonthWidth2 = _interopRequireDefault(_getCalendarMonthWidth);
-
-var _toISOMonthString = __webpack_require__(104);
-
-var _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);
-
-var _isPrevMonth = __webpack_require__(300);
-
-var _isPrevMonth2 = _interopRequireDefault(_isPrevMonth);
-
-var _isNextMonth = __webpack_require__(301);
-
-var _isNextMonth2 = _interopRequireDefault(_isNextMonth);
-
-var _ModifiersShape = __webpack_require__(101);
-
-var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);
-
-var _ScrollableOrientationShape = __webpack_require__(81);
-
-var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- enableOutsideDays: _propTypes2['default'].bool,
- firstVisibleMonthIndex: _propTypes2['default'].number,
- horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,
- initialMonth: _reactMomentProptypes2['default'].momentObj,
- isAnimating: _propTypes2['default'].bool,
- numberOfMonths: _propTypes2['default'].number,
- modifiers: _propTypes2['default'].objectOf(_propTypes2['default'].objectOf(_ModifiersShape2['default'])),
- orientation: _ScrollableOrientationShape2['default'],
- onDayClick: _propTypes2['default'].func,
- onDayMouseEnter: _propTypes2['default'].func,
- onDayMouseLeave: _propTypes2['default'].func,
- onMonthTransitionEnd: _propTypes2['default'].func,
- onMonthChange: _propTypes2['default'].func,
- onYearChange: _propTypes2['default'].func,
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- translationValue: _propTypes2['default'].number,
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- daySize: _airbnbPropTypes.nonNegativeInteger,
- focusedDate: _reactMomentProptypes2['default'].momentObj, // indicates focusable day
- isFocused: _propTypes2['default'].bool, // indicates whether or not to move focus to focusable day
- firstDayOfWeek: _DayOfWeekShape2['default'],
- setMonthTitleHeight: _propTypes2['default'].func,
- isRTL: _propTypes2['default'].bool,
- transitionDuration: _airbnbPropTypes.nonNegativeInteger,
- verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,
-
- // i18n
- monthFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string
-}));
-
-var defaultProps = {
- enableOutsideDays: false,
- firstVisibleMonthIndex: 0,
- horizontalMonthPadding: 13,
- initialMonth: (0, _moment2['default'])(),
- isAnimating: false,
- numberOfMonths: 1,
- modifiers: {},
- orientation: _constants.HORIZONTAL_ORIENTATION,
- onDayClick: function () {
- function onDayClick() {}
-
- return onDayClick;
- }(),
- onDayMouseEnter: function () {
- function onDayMouseEnter() {}
-
- return onDayMouseEnter;
- }(),
- onDayMouseLeave: function () {
- function onDayMouseLeave() {}
-
- return onDayMouseLeave;
- }(),
- onMonthChange: function () {
- function onMonthChange() {}
-
- return onMonthChange;
- }(),
- onYearChange: function () {
- function onYearChange() {}
-
- return onYearChange;
- }(),
- onMonthTransitionEnd: function () {
- function onMonthTransitionEnd() {}
-
- return onMonthTransitionEnd;
- }(),
-
- renderMonthText: null,
- renderCalendarDay: undefined,
- renderDayContents: null,
- translationValue: null,
- renderMonthElement: null,
- daySize: _constants.DAY_SIZE,
- focusedDate: null,
- isFocused: false,
- firstDayOfWeek: null,
- setMonthTitleHeight: null,
- isRTL: false,
- transitionDuration: 200,
- verticalBorderSpacing: undefined,
-
- // i18n
- monthFormat: 'MMMM YYYY', // english locale
- phrases: _defaultPhrases.CalendarDayPhrases,
- dayAriaLabelFormat: undefined
-};
-
-function getMonths(initialMonth, numberOfMonths, withoutTransitionMonths) {
- var month = initialMonth.clone();
- if (!withoutTransitionMonths) month = month.subtract(1, 'month');
-
- var months = [];
- for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) {
- months.push(month);
- month = month.clone().add(1, 'month');
- }
-
- return months;
-}
-
-var CalendarMonthGrid = function (_React$Component) {
- _inherits(CalendarMonthGrid, _React$Component);
-
- function CalendarMonthGrid(props) {
- _classCallCheck(this, CalendarMonthGrid);
-
- var _this = _possibleConstructorReturn(this, (CalendarMonthGrid.__proto__ || Object.getPrototypeOf(CalendarMonthGrid)).call(this, props));
-
- var withoutTransitionMonths = props.orientation === _constants.VERTICAL_SCROLLABLE;
- _this.state = {
- months: getMonths(props.initialMonth, props.numberOfMonths, withoutTransitionMonths)
- };
-
- _this.isTransitionEndSupported = (0, _isTransitionEndSupported2['default'])();
- _this.onTransitionEnd = _this.onTransitionEnd.bind(_this);
- _this.setContainerRef = _this.setContainerRef.bind(_this);
-
- _this.locale = _moment2['default'].locale();
- _this.onMonthSelect = _this.onMonthSelect.bind(_this);
- _this.onYearSelect = _this.onYearSelect.bind(_this);
- return _this;
- }
-
- _createClass(CalendarMonthGrid, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- this.removeEventListener = (0, _consolidatedEvents.addEventListener)(this.container, 'transitionend', this.onTransitionEnd);
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var _this2 = this;
-
- var initialMonth = nextProps.initialMonth,
- numberOfMonths = nextProps.numberOfMonths,
- orientation = nextProps.orientation;
- var months = this.state.months;
- var _props = this.props,
- prevInitialMonth = _props.initialMonth,
- prevNumberOfMonths = _props.numberOfMonths;
-
- var hasMonthChanged = !prevInitialMonth.isSame(initialMonth, 'month');
- var hasNumberOfMonthsChanged = prevNumberOfMonths !== numberOfMonths;
- var newMonths = months;
-
- if (hasMonthChanged && !hasNumberOfMonthsChanged) {
- if ((0, _isNextMonth2['default'])(prevInitialMonth, initialMonth)) {
- newMonths = months.slice(1);
- newMonths.push(months[months.length - 1].clone().add(1, 'month'));
- } else if ((0, _isPrevMonth2['default'])(prevInitialMonth, initialMonth)) {
- newMonths = months.slice(0, months.length - 1);
- newMonths.unshift(months[0].clone().subtract(1, 'month'));
- } else {
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- newMonths = getMonths(initialMonth, numberOfMonths, withoutTransitionMonths);
- }
- }
-
- if (hasNumberOfMonthsChanged) {
- var _withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- newMonths = getMonths(initialMonth, numberOfMonths, _withoutTransitionMonths);
- }
-
- var momentLocale = _moment2['default'].locale();
- if (this.locale !== momentLocale) {
- this.locale = momentLocale;
- newMonths = newMonths.map(function (m) {
- return m.locale(_this2.locale);
- });
- }
-
- this.setState({
- months: newMonths
- });
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'shouldComponentUpdate',
- value: function () {
- function shouldComponentUpdate(nextProps, nextState) {
- return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
- }
-
- return shouldComponentUpdate;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate() {
- var _props2 = this.props,
- isAnimating = _props2.isAnimating,
- transitionDuration = _props2.transitionDuration,
- onMonthTransitionEnd = _props2.onMonthTransitionEnd;
-
- // For IE9, immediately call onMonthTransitionEnd instead of
- // waiting for the animation to complete. Similarly, if transitionDuration
- // is set to 0, also immediately invoke the onMonthTransitionEnd callback
-
- if ((!this.isTransitionEndSupported || !transitionDuration) && isAnimating) {
- onMonthTransitionEnd();
- }
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'componentWillUnmount',
- value: function () {
- function componentWillUnmount() {
- if (this.removeEventListener) this.removeEventListener();
- }
-
- return componentWillUnmount;
- }()
- }, {
- key: 'onTransitionEnd',
- value: function () {
- function onTransitionEnd() {
- var onMonthTransitionEnd = this.props.onMonthTransitionEnd;
-
- onMonthTransitionEnd();
- }
-
- return onTransitionEnd;
- }()
- }, {
- key: 'onMonthSelect',
- value: function () {
- function onMonthSelect(currentMonth, newMonthVal) {
- var newMonth = currentMonth.clone();
- var _props3 = this.props,
- onMonthChange = _props3.onMonthChange,
- orientation = _props3.orientation;
- var months = this.state.months;
-
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var initialMonthSubtraction = months.indexOf(currentMonth);
- if (!withoutTransitionMonths) {
- initialMonthSubtraction -= 1;
- }
- newMonth.set('month', newMonthVal).subtract(initialMonthSubtraction, 'months');
- onMonthChange(newMonth);
- }
-
- return onMonthSelect;
- }()
- }, {
- key: 'onYearSelect',
- value: function () {
- function onYearSelect(currentMonth, newYearVal) {
- var newMonth = currentMonth.clone();
- var _props4 = this.props,
- onYearChange = _props4.onYearChange,
- orientation = _props4.orientation;
- var months = this.state.months;
-
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var initialMonthSubtraction = months.indexOf(currentMonth);
- if (!withoutTransitionMonths) {
- initialMonthSubtraction -= 1;
- }
- newMonth.set('year', newYearVal).subtract(initialMonthSubtraction, 'months');
- onYearChange(newMonth);
- }
-
- return onYearSelect;
- }()
- }, {
- key: 'setContainerRef',
- value: function () {
- function setContainerRef(ref) {
- this.container = ref;
- }
-
- return setContainerRef;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _this3 = this;
-
- var _props5 = this.props,
- enableOutsideDays = _props5.enableOutsideDays,
- firstVisibleMonthIndex = _props5.firstVisibleMonthIndex,
- horizontalMonthPadding = _props5.horizontalMonthPadding,
- isAnimating = _props5.isAnimating,
- modifiers = _props5.modifiers,
- numberOfMonths = _props5.numberOfMonths,
- monthFormat = _props5.monthFormat,
- orientation = _props5.orientation,
- translationValue = _props5.translationValue,
- daySize = _props5.daySize,
- onDayMouseEnter = _props5.onDayMouseEnter,
- onDayMouseLeave = _props5.onDayMouseLeave,
- onDayClick = _props5.onDayClick,
- renderMonthText = _props5.renderMonthText,
- renderCalendarDay = _props5.renderCalendarDay,
- renderDayContents = _props5.renderDayContents,
- renderMonthElement = _props5.renderMonthElement,
- onMonthTransitionEnd = _props5.onMonthTransitionEnd,
- firstDayOfWeek = _props5.firstDayOfWeek,
- focusedDate = _props5.focusedDate,
- isFocused = _props5.isFocused,
- isRTL = _props5.isRTL,
- styles = _props5.styles,
- phrases = _props5.phrases,
- dayAriaLabelFormat = _props5.dayAriaLabelFormat,
- transitionDuration = _props5.transitionDuration,
- verticalBorderSpacing = _props5.verticalBorderSpacing,
- setMonthTitleHeight = _props5.setMonthTitleHeight;
- var months = this.state.months;
-
- var isVertical = orientation === _constants.VERTICAL_ORIENTATION;
- var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;
- var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION;
-
- var calendarMonthWidth = (0, _getCalendarMonthWidth2['default'])(daySize, horizontalMonthPadding);
-
- var width = isVertical || isVerticalScrollable ? calendarMonthWidth : (numberOfMonths + 2) * calendarMonthWidth;
-
- var transformType = isVertical || isVerticalScrollable ? 'translateY' : 'translateX';
- var transformValue = transformType + '(' + String(translationValue) + 'px)';
-
- return _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonthGrid, isHorizontal && styles.CalendarMonthGrid__horizontal, isVertical && styles.CalendarMonthGrid__vertical, isVerticalScrollable && styles.CalendarMonthGrid__vertical_scrollable, isAnimating && styles.CalendarMonthGrid__animating, isAnimating && transitionDuration && {
- transition: 'transform ' + String(transitionDuration) + 'ms ease-in-out'
- }, (0, _object2['default'])({}, (0, _getTransformStyles2['default'])(transformValue), {
- width: width
- })), {
- ref: this.setContainerRef,
- onTransitionEnd: onMonthTransitionEnd
- }),
- months.map(function (month, i) {
- var isVisible = i >= firstVisibleMonthIndex && i < firstVisibleMonthIndex + numberOfMonths;
- var hideForAnimation = i === 0 && !isVisible;
- var showForAnimation = i === 0 && isAnimating && isVisible;
- var monthString = (0, _toISOMonthString2['default'])(month);
- return _react2['default'].createElement(
- 'div',
- _extends({
- key: monthString
- }, (0, _reactWithStyles.css)(isHorizontal && styles.CalendarMonthGrid_month__horizontal, hideForAnimation && styles.CalendarMonthGrid_month__hideForAnimation, showForAnimation && !isVertical && !isRTL && {
- position: 'absolute',
- left: -calendarMonthWidth
- }, showForAnimation && !isVertical && isRTL && {
- position: 'absolute',
- right: 0
- }, showForAnimation && isVertical && {
- position: 'absolute',
- top: -translationValue
- }, !isVisible && !isAnimating && styles.CalendarMonthGrid_month__hidden)),
- _react2['default'].createElement(_CalendarMonth2['default'], {
- month: month,
- isVisible: isVisible,
- enableOutsideDays: enableOutsideDays,
- modifiers: modifiers[monthString],
- monthFormat: monthFormat,
- orientation: orientation,
- onDayMouseEnter: onDayMouseEnter,
- onDayMouseLeave: onDayMouseLeave,
- onDayClick: onDayClick,
- onMonthSelect: _this3.onMonthSelect,
- onYearSelect: _this3.onYearSelect,
- renderMonthText: renderMonthText,
- renderCalendarDay: renderCalendarDay,
- renderDayContents: renderDayContents,
- renderMonthElement: renderMonthElement,
- firstDayOfWeek: firstDayOfWeek,
- daySize: daySize,
- focusedDate: isVisible ? focusedDate : null,
- isFocused: isFocused,
- phrases: phrases,
- setMonthTitleHeight: setMonthTitleHeight,
- dayAriaLabelFormat: dayAriaLabelFormat,
- verticalBorderSpacing: verticalBorderSpacing,
- horizontalMonthPadding: horizontalMonthPadding
- })
- );
- })
- );
- }
-
- return render;
- }()
- }]);
-
- return CalendarMonthGrid;
-}(_react2['default'].Component);
-
-CalendarMonthGrid.propTypes = propTypes;
-CalendarMonthGrid.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {
- var _ref$reactDates = _ref.reactDates,
- color = _ref$reactDates.color,
- noScrollBarOnVerticalScrollable = _ref$reactDates.noScrollBarOnVerticalScrollable,
- spacing = _ref$reactDates.spacing,
- zIndex = _ref$reactDates.zIndex;
- return {
- CalendarMonthGrid: {
- background: color.background,
- textAlign: 'left',
- zIndex: zIndex
- },
-
- CalendarMonthGrid__animating: {
- zIndex: zIndex + 1
- },
-
- CalendarMonthGrid__horizontal: {
- position: 'absolute',
- left: spacing.dayPickerHorizontalPadding
- },
-
- CalendarMonthGrid__vertical: {
- margin: '0 auto'
- },
-
- CalendarMonthGrid__vertical_scrollable: (0, _object2['default'])({
- margin: '0 auto',
- overflowY: 'scroll'
- }, noScrollBarOnVerticalScrollable && {
- '-webkitOverflowScrolling': 'touch',
- '::-webkit-scrollbar': {
- '-webkit-appearance': 'none',
- display: 'none'
- }
- }),
-
- CalendarMonthGrid_month__horizontal: {
- display: 'inline-block',
- verticalAlign: 'top',
- minHeight: '100%'
- },
-
- CalendarMonthGrid_month__hideForAnimation: {
- position: 'absolute',
- zIndex: zIndex - 1,
- opacity: 0,
- pointerEvents: 'none'
- },
-
- CalendarMonthGrid_month__hidden: {
- visibility: 'hidden'
- }
- };
-})(CalendarMonthGrid);
-
-/***/ }),
-/* 161 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports["default"] = getCalendarMonthWidth;
-function getCalendarMonthWidth(daySize, calendarMonthPadding) {
- return 7 * daySize + 2 * calendarMonthPadding + 1;
-}
-
-/***/ }),
-/* 162 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isSameMonth;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isSameMonth(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- // Compare least significant, most likely to change units first
- // Moment's isSame clones moment inputs and is a tad slow
- return a.month() === b.month() && a.year() === b.year();
-}
-
-/***/ }),
-/* 163 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var keys = __webpack_require__(308);
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
-
-var toStr = Object.prototype.toString;
-var concat = Array.prototype.concat;
-var origDefineProperty = Object.defineProperty;
-
-var isFunction = function (fn) {
- return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
-};
-
-var arePropertyDescriptorsSupported = function () {
- var obj = {};
- try {
- origDefineProperty(obj, 'x', { enumerable: false, value: obj });
- // eslint-disable-next-line no-unused-vars, no-restricted-syntax
- for (var _ in obj) { // jscs:ignore disallowUnusedVariables
- return false;
- }
- return obj.x === obj;
- } catch (e) { /* this is IE 8. */
- return false;
- }
-};
-var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
-
-var defineProperty = function (object, name, value, predicate) {
- if (name in object && (!isFunction(predicate) || !predicate())) {
- return;
- }
- if (supportsDescriptors) {
- origDefineProperty(object, name, {
- configurable: true,
- enumerable: false,
- value: value,
- writable: true
- });
- } else {
- object[name] = value;
- }
-};
-
-var defineProperties = function (object, map) {
- var predicates = arguments.length > 2 ? arguments[2] : {};
- var props = keys(map);
- if (hasSymbols) {
- props = concat.call(props, Object.getOwnPropertySymbols(map));
- }
- for (var i = 0; i < props.length; i += 1) {
- defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
- }
-};
-
-defineProperties.supportsDescriptors = !!supportsDescriptors;
-
-module.exports = defineProperties;
-
-
-/***/ }),
-/* 164 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var toStr = Object.prototype.toString;
-
-module.exports = function isArguments(value) {
- var str = toStr.call(value);
- var isArgs = str === '[object Arguments]';
- if (!isArgs) {
- isArgs = str !== '[object Array]' &&
- value !== null &&
- typeof value === 'object' &&
- typeof value.length === 'number' &&
- value.length >= 0 &&
- toStr.call(value.callee) === '[object Function]';
- }
- return isArgs;
-};
-
-
-/***/ }),
-/* 165 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var ES = __webpack_require__(166);
-var has = __webpack_require__(91);
-var bind = __webpack_require__(74);
-var isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
-
-module.exports = function values(O) {
- var obj = ES.RequireObjectCoercible(O);
- var vals = [];
- for (var key in obj) {
- if (has(obj, key) && isEnumerable(obj, key)) {
- vals.push(obj[key]);
- }
- }
- return vals;
-};
-
-
-/***/ }),
-/* 166 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = __webpack_require__(143);
-
-
-/***/ }),
-/* 167 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var implementation = __webpack_require__(165);
-
-module.exports = function getPolyfill() {
- return typeof Object.values === 'function' ? Object.values : implementation;
-};
-
-
-/***/ }),
-/* 168 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var keys = __webpack_require__(312);
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';
-
-var toStr = Object.prototype.toString;
-var concat = Array.prototype.concat;
-var origDefineProperty = Object.defineProperty;
-
-var isFunction = function (fn) {
- return typeof fn === 'function' && toStr.call(fn) === '[object Function]';
-};
-
-var arePropertyDescriptorsSupported = function () {
- var obj = {};
- try {
- origDefineProperty(obj, 'x', { enumerable: false, value: obj });
- // eslint-disable-next-line no-unused-vars, no-restricted-syntax
- for (var _ in obj) { // jscs:ignore disallowUnusedVariables
- return false;
- }
- return obj.x === obj;
- } catch (e) { /* this is IE 8. */
- return false;
- }
-};
-var supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();
-
-var defineProperty = function (object, name, value, predicate) {
- if (name in object && (!isFunction(predicate) || !predicate())) {
- return;
- }
- if (supportsDescriptors) {
- origDefineProperty(object, name, {
- configurable: true,
- enumerable: false,
- value: value,
- writable: true
- });
- } else {
- object[name] = value;
- }
-};
-
-var defineProperties = function (object, map) {
- var predicates = arguments.length > 2 ? arguments[2] : {};
- var props = keys(map);
- if (hasSymbols) {
- props = concat.call(props, Object.getOwnPropertySymbols(map));
- }
- for (var i = 0; i < props.length; i += 1) {
- defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
- }
-};
-
-defineProperties.supportsDescriptors = !!supportsDescriptors;
-
-module.exports = defineProperties;
-
-
-/***/ }),
-/* 169 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var toStr = Object.prototype.toString;
-
-module.exports = function isArguments(value) {
- var str = toStr.call(value);
- var isArgs = str === '[object Arguments]';
- if (!isArgs) {
- isArgs = str !== '[object Array]' &&
- value !== null &&
- typeof value === 'object' &&
- typeof value.length === 'number' &&
- value.length >= 0 &&
- toStr.call(value.callee) === '[object Function]';
- }
- return isArgs;
-};
-
-
-/***/ }),
-/* 170 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = function contains(other) {
- if (arguments.length < 1) {
- throw new TypeError('1 argument is required');
- }
- if (typeof other !== 'object') {
- throw new TypeError('Argument 1 (”other“) to Node.contains must be an instance of Node');
- }
-
- var node = other;
- do {
- if (this === node) {
- return true;
- }
- if (node) {
- node = node.parentNode;
- }
- } while (node);
-
- return false;
-};
-
-
-/***/ }),
-/* 171 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var implementation = __webpack_require__(170);
-
-module.exports = function getPolyfill() {
- if (typeof document !== 'undefined') {
- if (document.contains) {
- return document.contains;
- }
- if (document.body && document.body.contains) {
- return document.body.contains;
- }
- }
- return implementation;
-};
-
-
-/***/ }),
-/* 172 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _FocusedInputShape = __webpack_require__(173);
-
-var _FocusedInputShape2 = _interopRequireDefault(_FocusedInputShape);
-
-var _IconPositionShape = __webpack_require__(92);
-
-var _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);
-
-var _OrientationShape = __webpack_require__(174);
-
-var _OrientationShape2 = _interopRequireDefault(_OrientationShape);
-
-var _DisabledShape = __webpack_require__(105);
-
-var _DisabledShape2 = _interopRequireDefault(_DisabledShape);
-
-var _AnchorDirectionShape = __webpack_require__(175);
-
-var _AnchorDirectionShape2 = _interopRequireDefault(_AnchorDirectionShape);
-
-var _OpenDirectionShape = __webpack_require__(83);
-
-var _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _CalendarInfoPositionShape = __webpack_require__(93);
-
-var _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = {
- // required props for a functional interactive DateRangePicker
- startDate: _reactMomentProptypes2['default'].momentObj,
- endDate: _reactMomentProptypes2['default'].momentObj,
- onDatesChange: _propTypes2['default'].func.isRequired,
-
- focusedInput: _FocusedInputShape2['default'],
- onFocusChange: _propTypes2['default'].func.isRequired,
-
- onClose: _propTypes2['default'].func,
-
- // input related props
- startDateId: _propTypes2['default'].string.isRequired,
- startDatePlaceholderText: _propTypes2['default'].string,
- endDateId: _propTypes2['default'].string.isRequired,
- endDatePlaceholderText: _propTypes2['default'].string,
- disabled: _DisabledShape2['default'],
- required: _propTypes2['default'].bool,
- readOnly: _propTypes2['default'].bool,
- screenReaderInputMessage: _propTypes2['default'].string,
- showClearDates: _propTypes2['default'].bool,
- showDefaultInputIcon: _propTypes2['default'].bool,
- inputIconPosition: _IconPositionShape2['default'],
- customInputIcon: _propTypes2['default'].node,
- customArrowIcon: _propTypes2['default'].node,
- customCloseIcon: _propTypes2['default'].node,
- noBorder: _propTypes2['default'].bool,
- block: _propTypes2['default'].bool,
- small: _propTypes2['default'].bool,
- regular: _propTypes2['default'].bool,
- keepFocusOnInput: _propTypes2['default'].bool,
-
- // calendar presentation and interaction related props
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- orientation: _OrientationShape2['default'],
- anchorDirection: _AnchorDirectionShape2['default'],
- openDirection: _OpenDirectionShape2['default'],
- horizontalMargin: _propTypes2['default'].number,
- withPortal: _propTypes2['default'].bool,
- withFullScreenPortal: _propTypes2['default'].bool,
- appendToBody: _propTypes2['default'].bool,
- disableScroll: _propTypes2['default'].bool,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- isRTL: _propTypes2['default'].bool,
- firstDayOfWeek: _DayOfWeekShape2['default'],
- initialVisibleMonth: _propTypes2['default'].func,
- numberOfMonths: _propTypes2['default'].number,
- keepOpenOnDateSelect: _propTypes2['default'].bool,
- reopenPickerOnClearDates: _propTypes2['default'].bool,
- renderCalendarInfo: _propTypes2['default'].func,
- calendarInfoPosition: _CalendarInfoPositionShape2['default'],
- hideKeyboardShortcutsPanel: _propTypes2['default'].bool,
- verticalHeight: _airbnbPropTypes.nonNegativeInteger,
- transitionDuration: _airbnbPropTypes.nonNegativeInteger,
- verticalSpacing: _airbnbPropTypes.nonNegativeInteger,
-
- // navigation related props
- navPrev: _propTypes2['default'].node,
- navNext: _propTypes2['default'].node,
- onPrevMonthClick: _propTypes2['default'].func,
- onNextMonthClick: _propTypes2['default'].func,
-
- // day presentation and interaction related props
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- minimumNights: _propTypes2['default'].number,
- enableOutsideDays: _propTypes2['default'].bool,
- isDayBlocked: _propTypes2['default'].func,
- isOutsideRange: _propTypes2['default'].func,
- isDayHighlighted: _propTypes2['default'].func,
-
- // internationalization props
- displayFormat: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]),
- monthFormat: _propTypes2['default'].string,
- weekDayFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string
-};
-
-/***/ }),
-/* 173 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.START_DATE, _constants.END_DATE]);
-
-/***/ }),
-/* 174 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION]);
-
-/***/ }),
-/* 175 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].oneOf([_constants.ANCHOR_LEFT, _constants.ANCHOR_RIGHT]);
-
-/***/ }),
-/* 176 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getResponsiveContainerStyles;
-
-var _constants = __webpack_require__(39);
-
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-
-function getResponsiveContainerStyles(anchorDirection, currentOffset, containerEdge, margin) {
- var windowWidth = typeof window !== 'undefined' ? window.innerWidth : 0;
- var calculatedOffset = anchorDirection === _constants.ANCHOR_LEFT ? windowWidth - containerEdge : containerEdge;
- var calculatedMargin = margin || 0;
-
- return _defineProperty({}, anchorDirection, Math.min(currentOffset + calculatedOffset - calculatedMargin, 0));
-}
-
-/***/ }),
-/* 177 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getDetachedContainerStyles;
-
-var _constants = __webpack_require__(39);
-
-/**
- * Calculate and return a CSS transform style to position a detached element
- * next to a reference element. The open and anchor direction indicate wether
- * it should be positioned above/below and/or to the left/right of the
- * reference element.
- *
- * Assuming r(0,0), r(1,1), d(0,0), d(1,1) for the bottom-left and top-right
- * corners of the reference and detached elements, respectively:
- * - openDirection = DOWN, anchorDirection = LEFT => d(0,1) == r(0,1)
- * - openDirection = UP, anchorDirection = LEFT => d(0,0) == r(0,0)
- * - openDirection = DOWN, anchorDirection = RIGHT => d(1,1) == r(1,1)
- * - openDirection = UP, anchorDirection = RIGHT => d(1,0) == r(1,0)
- *
- * By using a CSS transform, we allow to further position it using
- * top/bottom CSS properties for the anchor gutter.
- *
- * @param {string} openDirection The vertical positioning of the popup
- * @param {string} anchorDirection The horizontal position of the popup
- * @param {HTMLElement} referenceEl The reference element
- */
-function getDetachedContainerStyles(openDirection, anchorDirection, referenceEl) {
- var referenceRect = referenceEl.getBoundingClientRect();
- var offsetX = referenceRect.left;
- var offsetY = referenceRect.top;
-
- if (openDirection === _constants.OPEN_UP) {
- offsetY = -(window.innerHeight - referenceRect.bottom);
- }
-
- if (anchorDirection === _constants.ANCHOR_RIGHT) {
- offsetX = -(window.innerWidth - referenceRect.right);
- }
-
- return {
- transform: 'translate3d(' + String(Math.round(offsetX)) + 'px, ' + String(Math.round(offsetY)) + 'px, 0)'
- };
-}
-
-/***/ }),
-/* 178 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.getScrollParent = getScrollParent;
-exports.getScrollAncestorsOverflowY = getScrollAncestorsOverflowY;
-exports['default'] = disableScroll;
-var getScrollingRoot = function getScrollingRoot() {
- return document.scrollingElement || document.documentElement;
-};
-
-/**
- * Recursively finds the scroll parent of a node. The scroll parrent of a node
- * is the closest node that is scrollable. A node is scrollable if:
- * - it is allowed to scroll via CSS ('overflow-y' not visible or hidden);
- * - and its children/content are "bigger" than the node's box height.
- *
- * The root of the document always scrolls by default.
- *
- * @param {HTMLElement} node Any DOM element.
- * @return {HTMLElement} The scroll parent element.
- */
-function getScrollParent(node) {
- var parent = node.parentElement;
-
- if (parent == null) return getScrollingRoot();
-
- var _window$getComputedSt = window.getComputedStyle(parent),
- overflowY = _window$getComputedSt.overflowY;
-
- var canScroll = overflowY !== 'visible' && overflowY !== 'hidden';
-
- if (canScroll && parent.scrollHeight > parent.clientHeight) {
- return parent;
- }
-
- return getScrollParent(parent);
-}
-
-/**
- * Recursively traverses the tree upwards from the given node, capturing all
- * ancestor nodes that scroll along with their current 'overflow-y' CSS
- * property.
- *
- * @param {HTMLElement} node Any DOM element.
- * @param {Map} [acc] Accumulator map.
- * @return {Map} Map of ancestors with their 'overflow-y' value.
- */
-function getScrollAncestorsOverflowY(node) {
- var acc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();
-
- var scrollingRoot = getScrollingRoot();
- var scrollParent = getScrollParent(node);
- acc.set(scrollParent, scrollParent.style.overflowY);
-
- if (scrollParent === scrollingRoot) return acc;
- return getScrollAncestorsOverflowY(scrollParent, acc);
-}
-
-/**
- * Disabling the scroll on a node involves finding all the scrollable ancestors
- * and set their 'overflow-y' CSS property to 'hidden'. When all ancestors have
- * 'overflow-y: hidden' (up to the document element) there is no scroll
- * container, thus all the scroll outside of the node is disabled. In order to
- * enable scroll again, we store the previous value of the 'overflow-y' for
- * every ancestor in a closure and reset it back.
- *
- * @param {HTMLElement} node Any DOM element.
- */
-function disableScroll(node) {
- var scrollAncestorsOverflowY = getScrollAncestorsOverflowY(node);
- var toggle = function toggle(on) {
- return scrollAncestorsOverflowY.forEach(function (overflowY, ancestor) {
- ancestor.style.setProperty('overflow-y', on ? 'hidden' : overflowY);
- });
- };
-
- toggle(true);
- return function () {
- return toggle(false);
- };
-}
-
-/***/ }),
-/* 179 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; }; }();
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _OpenDirectionShape = __webpack_require__(83);
-
-var _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _DateRangePickerInput = __webpack_require__(180);
-
-var _DateRangePickerInput2 = _interopRequireDefault(_DateRangePickerInput);
-
-var _IconPositionShape = __webpack_require__(92);
-
-var _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);
-
-var _DisabledShape = __webpack_require__(105);
-
-var _DisabledShape2 = _interopRequireDefault(_DisabledShape);
-
-var _toMomentObject = __webpack_require__(80);
-
-var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
-
-var _toLocalizedDateString = __webpack_require__(129);
-
-var _toLocalizedDateString2 = _interopRequireDefault(_toLocalizedDateString);
-
-var _isInclusivelyAfterDay = __webpack_require__(94);
-
-var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
-
-var _isBeforeDay = __webpack_require__(95);
-
-var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
- startDate: _reactMomentProptypes2['default'].momentObj,
- startDateId: _propTypes2['default'].string,
- startDatePlaceholderText: _propTypes2['default'].string,
- isStartDateFocused: _propTypes2['default'].bool,
-
- endDate: _reactMomentProptypes2['default'].momentObj,
- endDateId: _propTypes2['default'].string,
- endDatePlaceholderText: _propTypes2['default'].string,
- isEndDateFocused: _propTypes2['default'].bool,
-
- screenReaderMessage: _propTypes2['default'].string,
- showClearDates: _propTypes2['default'].bool,
- showCaret: _propTypes2['default'].bool,
- showDefaultInputIcon: _propTypes2['default'].bool,
- inputIconPosition: _IconPositionShape2['default'],
- disabled: _DisabledShape2['default'],
- required: _propTypes2['default'].bool,
- readOnly: _propTypes2['default'].bool,
- openDirection: _OpenDirectionShape2['default'],
- noBorder: _propTypes2['default'].bool,
- block: _propTypes2['default'].bool,
- small: _propTypes2['default'].bool,
- regular: _propTypes2['default'].bool,
- verticalSpacing: _airbnbPropTypes.nonNegativeInteger,
-
- keepOpenOnDateSelect: _propTypes2['default'].bool,
- reopenPickerOnClearDates: _propTypes2['default'].bool,
- withFullScreenPortal: _propTypes2['default'].bool,
- minimumNights: _airbnbPropTypes.nonNegativeInteger,
- isOutsideRange: _propTypes2['default'].func,
- displayFormat: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]),
-
- onFocusChange: _propTypes2['default'].func,
- onClose: _propTypes2['default'].func,
- onDatesChange: _propTypes2['default'].func,
- onKeyDownArrowDown: _propTypes2['default'].func,
- onKeyDownQuestionMark: _propTypes2['default'].func,
-
- customInputIcon: _propTypes2['default'].node,
- customArrowIcon: _propTypes2['default'].node,
- customCloseIcon: _propTypes2['default'].node,
-
- // accessibility
- isFocused: _propTypes2['default'].bool,
-
- // i18n
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerInputPhrases)),
-
- isRTL: _propTypes2['default'].bool
-});
-
-var defaultProps = {
- startDate: null,
- startDateId: _constants.START_DATE,
- startDatePlaceholderText: 'Start Date',
- isStartDateFocused: false,
-
- endDate: null,
- endDateId: _constants.END_DATE,
- endDatePlaceholderText: 'End Date',
- isEndDateFocused: false,
-
- screenReaderMessage: '',
- showClearDates: false,
- showCaret: false,
- showDefaultInputIcon: false,
- inputIconPosition: _constants.ICON_BEFORE_POSITION,
- disabled: false,
- required: false,
- readOnly: false,
- openDirection: _constants.OPEN_DOWN,
- noBorder: false,
- block: false,
- small: false,
- regular: false,
- verticalSpacing: undefined,
-
- keepOpenOnDateSelect: false,
- reopenPickerOnClearDates: false,
- withFullScreenPortal: false,
- minimumNights: 1,
- isOutsideRange: function () {
- function isOutsideRange(day) {
- return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());
- }
-
- return isOutsideRange;
- }(),
- displayFormat: function () {
- function displayFormat() {
- return _moment2['default'].localeData().longDateFormat('L');
- }
-
- return displayFormat;
- }(),
-
- onFocusChange: function () {
- function onFocusChange() {}
-
- return onFocusChange;
- }(),
- onClose: function () {
- function onClose() {}
-
- return onClose;
- }(),
- onDatesChange: function () {
- function onDatesChange() {}
-
- return onDatesChange;
- }(),
- onKeyDownArrowDown: function () {
- function onKeyDownArrowDown() {}
-
- return onKeyDownArrowDown;
- }(),
- onKeyDownQuestionMark: function () {
- function onKeyDownQuestionMark() {}
-
- return onKeyDownQuestionMark;
- }(),
-
-
- customInputIcon: null,
- customArrowIcon: null,
- customCloseIcon: null,
-
- // accessibility
- isFocused: false,
-
- // i18n
- phrases: _defaultPhrases.DateRangePickerInputPhrases,
-
- isRTL: false
-};
-
-var DateRangePickerInputController = function (_React$Component) {
- _inherits(DateRangePickerInputController, _React$Component);
-
- function DateRangePickerInputController(props) {
- _classCallCheck(this, DateRangePickerInputController);
-
- var _this = _possibleConstructorReturn(this, (DateRangePickerInputController.__proto__ || Object.getPrototypeOf(DateRangePickerInputController)).call(this, props));
-
- _this.onClearFocus = _this.onClearFocus.bind(_this);
- _this.onStartDateChange = _this.onStartDateChange.bind(_this);
- _this.onStartDateFocus = _this.onStartDateFocus.bind(_this);
- _this.onEndDateChange = _this.onEndDateChange.bind(_this);
- _this.onEndDateFocus = _this.onEndDateFocus.bind(_this);
- _this.clearDates = _this.clearDates.bind(_this);
- return _this;
- }
-
- _createClass(DateRangePickerInputController, [{
- key: 'onClearFocus',
- value: function () {
- function onClearFocus() {
- var _props = this.props,
- onFocusChange = _props.onFocusChange,
- onClose = _props.onClose,
- startDate = _props.startDate,
- endDate = _props.endDate;
-
-
- onFocusChange(null);
- onClose({ startDate: startDate, endDate: endDate });
- }
-
- return onClearFocus;
- }()
- }, {
- key: 'onEndDateChange',
- value: function () {
- function onEndDateChange(endDateString) {
- var _props2 = this.props,
- startDate = _props2.startDate,
- isOutsideRange = _props2.isOutsideRange,
- minimumNights = _props2.minimumNights,
- keepOpenOnDateSelect = _props2.keepOpenOnDateSelect,
- onDatesChange = _props2.onDatesChange;
-
-
- var endDate = (0, _toMomentObject2['default'])(endDateString, this.getDisplayFormat());
-
- var isEndDateValid = endDate && !isOutsideRange(endDate) && !(startDate && (0, _isBeforeDay2['default'])(endDate, startDate.clone().add(minimumNights, 'days')));
- if (isEndDateValid) {
- onDatesChange({ startDate: startDate, endDate: endDate });
- if (!keepOpenOnDateSelect) this.onClearFocus();
- } else {
- onDatesChange({
- startDate: startDate,
- endDate: null
- });
- }
- }
-
- return onEndDateChange;
- }()
- }, {
- key: 'onEndDateFocus',
- value: function () {
- function onEndDateFocus() {
- var _props3 = this.props,
- startDate = _props3.startDate,
- onFocusChange = _props3.onFocusChange,
- withFullScreenPortal = _props3.withFullScreenPortal,
- disabled = _props3.disabled;
-
-
- if (!startDate && withFullScreenPortal && (!disabled || disabled === _constants.END_DATE)) {
- // When the datepicker is full screen, we never want to focus the end date first
- // because there's no indication that that is the case once the datepicker is open and it
- // might confuse the user
- onFocusChange(_constants.START_DATE);
- } else if (!disabled || disabled === _constants.START_DATE) {
- onFocusChange(_constants.END_DATE);
- }
- }
-
- return onEndDateFocus;
- }()
- }, {
- key: 'onStartDateChange',
- value: function () {
- function onStartDateChange(startDateString) {
- var endDate = this.props.endDate;
- var _props4 = this.props,
- isOutsideRange = _props4.isOutsideRange,
- minimumNights = _props4.minimumNights,
- onDatesChange = _props4.onDatesChange,
- onFocusChange = _props4.onFocusChange,
- disabled = _props4.disabled;
-
-
- var startDate = (0, _toMomentObject2['default'])(startDateString, this.getDisplayFormat());
- var isEndDateBeforeStartDate = startDate && (0, _isBeforeDay2['default'])(endDate, startDate.clone().add(minimumNights, 'days'));
- var isStartDateValid = startDate && !isOutsideRange(startDate) && !(disabled === _constants.END_DATE && isEndDateBeforeStartDate);
-
- if (isStartDateValid) {
- if (isEndDateBeforeStartDate) {
- endDate = null;
- }
-
- onDatesChange({ startDate: startDate, endDate: endDate });
- onFocusChange(_constants.END_DATE);
- } else {
- onDatesChange({
- startDate: null,
- endDate: endDate
- });
- }
- }
-
- return onStartDateChange;
- }()
- }, {
- key: 'onStartDateFocus',
- value: function () {
- function onStartDateFocus() {
- var _props5 = this.props,
- disabled = _props5.disabled,
- onFocusChange = _props5.onFocusChange;
-
- if (!disabled || disabled === _constants.END_DATE) {
- onFocusChange(_constants.START_DATE);
- }
- }
-
- return onStartDateFocus;
- }()
- }, {
- key: 'getDisplayFormat',
- value: function () {
- function getDisplayFormat() {
- var displayFormat = this.props.displayFormat;
-
- return typeof displayFormat === 'string' ? displayFormat : displayFormat();
- }
-
- return getDisplayFormat;
- }()
- }, {
- key: 'getDateString',
- value: function () {
- function getDateString(date) {
- var displayFormat = this.getDisplayFormat();
- if (date && displayFormat) {
- return date && date.format(displayFormat);
- }
- return (0, _toLocalizedDateString2['default'])(date);
- }
-
- return getDateString;
- }()
- }, {
- key: 'clearDates',
- value: function () {
- function clearDates() {
- var _props6 = this.props,
- onDatesChange = _props6.onDatesChange,
- reopenPickerOnClearDates = _props6.reopenPickerOnClearDates,
- onFocusChange = _props6.onFocusChange;
-
- onDatesChange({ startDate: null, endDate: null });
- if (reopenPickerOnClearDates) {
- onFocusChange(_constants.START_DATE);
- }
- }
-
- return clearDates;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props7 = this.props,
- startDate = _props7.startDate,
- startDateId = _props7.startDateId,
- startDatePlaceholderText = _props7.startDatePlaceholderText,
- isStartDateFocused = _props7.isStartDateFocused,
- endDate = _props7.endDate,
- endDateId = _props7.endDateId,
- endDatePlaceholderText = _props7.endDatePlaceholderText,
- isEndDateFocused = _props7.isEndDateFocused,
- screenReaderMessage = _props7.screenReaderMessage,
- showClearDates = _props7.showClearDates,
- showCaret = _props7.showCaret,
- showDefaultInputIcon = _props7.showDefaultInputIcon,
- inputIconPosition = _props7.inputIconPosition,
- customInputIcon = _props7.customInputIcon,
- customArrowIcon = _props7.customArrowIcon,
- customCloseIcon = _props7.customCloseIcon,
- disabled = _props7.disabled,
- required = _props7.required,
- readOnly = _props7.readOnly,
- openDirection = _props7.openDirection,
- isFocused = _props7.isFocused,
- phrases = _props7.phrases,
- onKeyDownArrowDown = _props7.onKeyDownArrowDown,
- onKeyDownQuestionMark = _props7.onKeyDownQuestionMark,
- isRTL = _props7.isRTL,
- noBorder = _props7.noBorder,
- block = _props7.block,
- small = _props7.small,
- regular = _props7.regular,
- verticalSpacing = _props7.verticalSpacing;
-
-
- var startDateString = this.getDateString(startDate);
- var endDateString = this.getDateString(endDate);
-
- return _react2['default'].createElement(_DateRangePickerInput2['default'], {
- startDate: startDateString,
- startDateId: startDateId,
- startDatePlaceholderText: startDatePlaceholderText,
- isStartDateFocused: isStartDateFocused,
- endDate: endDateString,
- endDateId: endDateId,
- endDatePlaceholderText: endDatePlaceholderText,
- isEndDateFocused: isEndDateFocused,
- isFocused: isFocused,
- disabled: disabled,
- required: required,
- readOnly: readOnly,
- openDirection: openDirection,
- showCaret: showCaret,
- showDefaultInputIcon: showDefaultInputIcon,
- inputIconPosition: inputIconPosition,
- customInputIcon: customInputIcon,
- customArrowIcon: customArrowIcon,
- customCloseIcon: customCloseIcon,
- phrases: phrases,
- onStartDateChange: this.onStartDateChange,
- onStartDateFocus: this.onStartDateFocus,
- onStartDateShiftTab: this.onClearFocus,
- onEndDateChange: this.onEndDateChange,
- onEndDateFocus: this.onEndDateFocus,
- onEndDateTab: this.onClearFocus,
- showClearDates: showClearDates,
- onClearDates: this.clearDates,
- screenReaderMessage: screenReaderMessage,
- onKeyDownArrowDown: onKeyDownArrowDown,
- onKeyDownQuestionMark: onKeyDownQuestionMark,
- isRTL: isRTL,
- noBorder: noBorder,
- block: block,
- small: small,
- regular: regular,
- verticalSpacing: verticalSpacing
- });
- }
-
- return render;
- }()
- }]);
-
- return DateRangePickerInputController;
-}(_react2['default'].Component);
-
-exports['default'] = DateRangePickerInputController;
-
-
-DateRangePickerInputController.propTypes = propTypes;
-DateRangePickerInputController.defaultProps = defaultProps;
-
-/***/ }),
-/* 180 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _OpenDirectionShape = __webpack_require__(83);
-
-var _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);
-
-var _DateInput = __webpack_require__(181);
-
-var _DateInput2 = _interopRequireDefault(_DateInput);
-
-var _IconPositionShape = __webpack_require__(92);
-
-var _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);
-
-var _DisabledShape = __webpack_require__(105);
-
-var _DisabledShape2 = _interopRequireDefault(_DisabledShape);
-
-var _RightArrow = __webpack_require__(185);
-
-var _RightArrow2 = _interopRequireDefault(_RightArrow);
-
-var _LeftArrow = __webpack_require__(186);
-
-var _LeftArrow2 = _interopRequireDefault(_LeftArrow);
-
-var _CloseButton = __webpack_require__(96);
-
-var _CloseButton2 = _interopRequireDefault(_CloseButton);
-
-var _CalendarIcon = __webpack_require__(187);
-
-var _CalendarIcon2 = _interopRequireDefault(_CalendarIcon);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- startDateId: _propTypes2['default'].string,
- startDatePlaceholderText: _propTypes2['default'].string,
- screenReaderMessage: _propTypes2['default'].string,
-
- endDateId: _propTypes2['default'].string,
- endDatePlaceholderText: _propTypes2['default'].string,
-
- onStartDateFocus: _propTypes2['default'].func,
- onEndDateFocus: _propTypes2['default'].func,
- onStartDateChange: _propTypes2['default'].func,
- onEndDateChange: _propTypes2['default'].func,
- onStartDateShiftTab: _propTypes2['default'].func,
- onEndDateTab: _propTypes2['default'].func,
- onClearDates: _propTypes2['default'].func,
- onKeyDownArrowDown: _propTypes2['default'].func,
- onKeyDownQuestionMark: _propTypes2['default'].func,
-
- startDate: _propTypes2['default'].string,
- endDate: _propTypes2['default'].string,
-
- isStartDateFocused: _propTypes2['default'].bool,
- isEndDateFocused: _propTypes2['default'].bool,
- showClearDates: _propTypes2['default'].bool,
- disabled: _DisabledShape2['default'],
- required: _propTypes2['default'].bool,
- readOnly: _propTypes2['default'].bool,
- openDirection: _OpenDirectionShape2['default'],
- showCaret: _propTypes2['default'].bool,
- showDefaultInputIcon: _propTypes2['default'].bool,
- inputIconPosition: _IconPositionShape2['default'],
- customInputIcon: _propTypes2['default'].node,
- customArrowIcon: _propTypes2['default'].node,
- customCloseIcon: _propTypes2['default'].node,
- noBorder: _propTypes2['default'].bool,
- block: _propTypes2['default'].bool,
- small: _propTypes2['default'].bool,
- regular: _propTypes2['default'].bool,
- verticalSpacing: _airbnbPropTypes.nonNegativeInteger,
-
- // accessibility
- isFocused: _propTypes2['default'].bool, // describes actual DOM focus
-
- // i18n
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerInputPhrases)),
-
- isRTL: _propTypes2['default'].bool
-}));
-
-var defaultProps = {
- startDateId: _constants.START_DATE,
- endDateId: _constants.END_DATE,
- startDatePlaceholderText: 'Start Date',
- endDatePlaceholderText: 'End Date',
- screenReaderMessage: '',
- onStartDateFocus: function () {
- function onStartDateFocus() {}
-
- return onStartDateFocus;
- }(),
- onEndDateFocus: function () {
- function onEndDateFocus() {}
-
- return onEndDateFocus;
- }(),
- onStartDateChange: function () {
- function onStartDateChange() {}
-
- return onStartDateChange;
- }(),
- onEndDateChange: function () {
- function onEndDateChange() {}
-
- return onEndDateChange;
- }(),
- onStartDateShiftTab: function () {
- function onStartDateShiftTab() {}
-
- return onStartDateShiftTab;
- }(),
- onEndDateTab: function () {
- function onEndDateTab() {}
-
- return onEndDateTab;
- }(),
- onClearDates: function () {
- function onClearDates() {}
-
- return onClearDates;
- }(),
- onKeyDownArrowDown: function () {
- function onKeyDownArrowDown() {}
-
- return onKeyDownArrowDown;
- }(),
- onKeyDownQuestionMark: function () {
- function onKeyDownQuestionMark() {}
-
- return onKeyDownQuestionMark;
- }(),
-
-
- startDate: '',
- endDate: '',
-
- isStartDateFocused: false,
- isEndDateFocused: false,
- showClearDates: false,
- disabled: false,
- required: false,
- readOnly: false,
- openDirection: _constants.OPEN_DOWN,
- showCaret: false,
- showDefaultInputIcon: false,
- inputIconPosition: _constants.ICON_BEFORE_POSITION,
- customInputIcon: null,
- customArrowIcon: null,
- customCloseIcon: null,
- noBorder: false,
- block: false,
- small: false,
- regular: false,
- verticalSpacing: undefined,
-
- // accessibility
- isFocused: false,
-
- // i18n
- phrases: _defaultPhrases.DateRangePickerInputPhrases,
-
- isRTL: false
-};
-
-function DateRangePickerInput(_ref) {
- var startDate = _ref.startDate,
- startDateId = _ref.startDateId,
- startDatePlaceholderText = _ref.startDatePlaceholderText,
- screenReaderMessage = _ref.screenReaderMessage,
- isStartDateFocused = _ref.isStartDateFocused,
- onStartDateChange = _ref.onStartDateChange,
- onStartDateFocus = _ref.onStartDateFocus,
- onStartDateShiftTab = _ref.onStartDateShiftTab,
- endDate = _ref.endDate,
- endDateId = _ref.endDateId,
- endDatePlaceholderText = _ref.endDatePlaceholderText,
- isEndDateFocused = _ref.isEndDateFocused,
- onEndDateChange = _ref.onEndDateChange,
- onEndDateFocus = _ref.onEndDateFocus,
- onEndDateTab = _ref.onEndDateTab,
- onKeyDownArrowDown = _ref.onKeyDownArrowDown,
- onKeyDownQuestionMark = _ref.onKeyDownQuestionMark,
- onClearDates = _ref.onClearDates,
- showClearDates = _ref.showClearDates,
- disabled = _ref.disabled,
- required = _ref.required,
- readOnly = _ref.readOnly,
- showCaret = _ref.showCaret,
- openDirection = _ref.openDirection,
- showDefaultInputIcon = _ref.showDefaultInputIcon,
- inputIconPosition = _ref.inputIconPosition,
- customInputIcon = _ref.customInputIcon,
- customArrowIcon = _ref.customArrowIcon,
- customCloseIcon = _ref.customCloseIcon,
- isFocused = _ref.isFocused,
- phrases = _ref.phrases,
- isRTL = _ref.isRTL,
- noBorder = _ref.noBorder,
- block = _ref.block,
- verticalSpacing = _ref.verticalSpacing,
- small = _ref.small,
- regular = _ref.regular,
- styles = _ref.styles;
-
- var calendarIcon = customInputIcon || _react2['default'].createElement(_CalendarIcon2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_calendarIcon_svg));
-
- var arrowIcon = customArrowIcon || _react2['default'].createElement(_RightArrow2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow_svg));
- if (isRTL) arrowIcon = _react2['default'].createElement(_LeftArrow2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow_svg));
- if (small) arrowIcon = '-';
-
- var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_clearDates_svg, small && styles.DateRangePickerInput_clearDates_svg__small));
- var screenReaderText = screenReaderMessage || phrases.keyboardNavigationInstructions;
- var inputIcon = (showDefaultInputIcon || customInputIcon !== null) && _react2['default'].createElement(
- 'button',
- _extends({}, (0, _reactWithStyles.css)(styles.DateRangePickerInput_calendarIcon), {
- type: 'button',
- disabled: disabled,
- 'aria-label': phrases.focusStartDate,
- onClick: onKeyDownArrowDown
- }),
- calendarIcon
- );
- var startDateDisabled = disabled === _constants.START_DATE || disabled === true;
- var endDateDisabled = disabled === _constants.END_DATE || disabled === true;
-
- return _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(styles.DateRangePickerInput, disabled && styles.DateRangePickerInput__disabled, isRTL && styles.DateRangePickerInput__rtl, !noBorder && styles.DateRangePickerInput__withBorder, block && styles.DateRangePickerInput__block, showClearDates && styles.DateRangePickerInput__showClearDates),
- inputIconPosition === _constants.ICON_BEFORE_POSITION && inputIcon,
- _react2['default'].createElement(_DateInput2['default'], {
- id: startDateId,
- placeholder: startDatePlaceholderText,
- displayValue: startDate,
- screenReaderMessage: screenReaderText,
- focused: isStartDateFocused,
- isFocused: isFocused,
- disabled: startDateDisabled,
- required: required,
- readOnly: readOnly,
- showCaret: showCaret,
- openDirection: openDirection,
- onChange: onStartDateChange,
- onFocus: onStartDateFocus,
- onKeyDownShiftTab: onStartDateShiftTab,
- onKeyDownArrowDown: onKeyDownArrowDown,
- onKeyDownQuestionMark: onKeyDownQuestionMark,
- verticalSpacing: verticalSpacing,
- small: small,
- regular: regular
- }),
- _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow), {
- 'aria-hidden': 'true',
- role: 'presentation'
- }),
- arrowIcon
- ),
- _react2['default'].createElement(_DateInput2['default'], {
- id: endDateId,
- placeholder: endDatePlaceholderText,
- displayValue: endDate,
- screenReaderMessage: screenReaderText,
- focused: isEndDateFocused,
- isFocused: isFocused,
- disabled: endDateDisabled,
- required: required,
- readOnly: readOnly,
- showCaret: showCaret,
- openDirection: openDirection,
- onChange: onEndDateChange,
- onFocus: onEndDateFocus,
- onKeyDownTab: onEndDateTab,
- onKeyDownArrowDown: onKeyDownArrowDown,
- onKeyDownQuestionMark: onKeyDownQuestionMark,
- verticalSpacing: verticalSpacing,
- small: small,
- regular: regular
- }),
- showClearDates && _react2['default'].createElement(
- 'button',
- _extends({
- type: 'button',
- 'aria-label': phrases.clearDates
- }, (0, _reactWithStyles.css)(styles.DateRangePickerInput_clearDates, small && styles.DateRangePickerInput_clearDates__small, !customCloseIcon && styles.DateRangePickerInput_clearDates_default, !(startDate || endDate) && styles.DateRangePickerInput_clearDates__hide), {
- onClick: onClearDates,
- disabled: disabled
- }),
- closeIcon
- ),
- inputIconPosition === _constants.ICON_AFTER_POSITION && inputIcon
- );
-}
-
-DateRangePickerInput.propTypes = propTypes;
-DateRangePickerInput.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var _ref2$reactDates = _ref2.reactDates,
- border = _ref2$reactDates.border,
- color = _ref2$reactDates.color,
- sizing = _ref2$reactDates.sizing;
- return {
- DateRangePickerInput: {
- backgroundColor: color.background,
- display: 'inline-block'
- },
-
- DateRangePickerInput__disabled: {
- background: color.disabled
- },
-
- DateRangePickerInput__withBorder: {
- borderColor: color.border,
- borderWidth: border.pickerInput.borderWidth,
- borderStyle: border.pickerInput.borderStyle,
- borderRadius: border.pickerInput.borderRadius
- },
-
- DateRangePickerInput__rtl: {
- direction: 'rtl'
- },
-
- DateRangePickerInput__block: {
- display: 'block'
- },
-
- DateRangePickerInput__showClearDates: {
- paddingRight: 30
- },
-
- DateRangePickerInput_arrow: {
- display: 'inline-block',
- verticalAlign: 'middle',
- color: color.text
- },
-
- DateRangePickerInput_arrow_svg: {
- verticalAlign: 'middle',
- fill: color.text,
- height: sizing.arrowWidth,
- width: sizing.arrowWidth
- },
-
- DateRangePickerInput_clearDates: {
- background: 'none',
- border: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
-
- cursor: 'pointer',
- padding: 10,
- margin: '0 10px 0 5px',
- position: 'absolute',
- right: 0,
- top: '50%',
- transform: 'translateY(-50%)'
- },
-
- DateRangePickerInput_clearDates__small: {
- padding: 6
- },
-
- DateRangePickerInput_clearDates_default: {
- ':focus': {
- background: color.core.border,
- borderRadius: '50%'
- },
-
- ':hover': {
- background: color.core.border,
- borderRadius: '50%'
- }
- },
-
- DateRangePickerInput_clearDates__hide: {
- visibility: 'hidden'
- },
-
- DateRangePickerInput_clearDates_svg: {
- fill: color.core.grayLight,
- height: 12,
- width: 15,
- verticalAlign: 'middle'
- },
-
- DateRangePickerInput_clearDates_svg__small: {
- height: 9
- },
-
- DateRangePickerInput_calendarIcon: {
- background: 'none',
- border: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
-
- cursor: 'pointer',
- display: 'inline-block',
- verticalAlign: 'middle',
- padding: 10,
- margin: '0 5px 0 10px'
- },
-
- DateRangePickerInput_calendarIcon_svg: {
- fill: color.core.grayLight,
- height: 15,
- width: 14,
- verticalAlign: 'middle'
- }
- };
-})(DateRangePickerInput);
-
-/***/ }),
-/* 181 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _throttle = __webpack_require__(182);
-
-var _throttle2 = _interopRequireDefault(_throttle);
-
-var _isTouchDevice = __webpack_require__(82);
-
-var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
-
-var _getInputHeight = __webpack_require__(127);
-
-var _getInputHeight2 = _interopRequireDefault(_getInputHeight);
-
-var _OpenDirectionShape = __webpack_require__(83);
-
-var _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var FANG_PATH_TOP = 'M0,' + String(_constants.FANG_HEIGHT_PX) + ' ' + String(_constants.FANG_WIDTH_PX) + ',' + String(_constants.FANG_HEIGHT_PX) + ' ' + _constants.FANG_WIDTH_PX / 2 + ',0z';
-var FANG_STROKE_TOP = 'M0,' + String(_constants.FANG_HEIGHT_PX) + ' ' + _constants.FANG_WIDTH_PX / 2 + ',0 ' + String(_constants.FANG_WIDTH_PX) + ',' + String(_constants.FANG_HEIGHT_PX);
-var FANG_PATH_BOTTOM = 'M0,0 ' + String(_constants.FANG_WIDTH_PX) + ',0 ' + _constants.FANG_WIDTH_PX / 2 + ',' + String(_constants.FANG_HEIGHT_PX) + 'z';
-var FANG_STROKE_BOTTOM = 'M0,0 ' + _constants.FANG_WIDTH_PX / 2 + ',' + String(_constants.FANG_HEIGHT_PX) + ' ' + String(_constants.FANG_WIDTH_PX) + ',0';
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- id: _propTypes2['default'].string.isRequired,
- placeholder: _propTypes2['default'].string, // also used as label
- displayValue: _propTypes2['default'].string,
- screenReaderMessage: _propTypes2['default'].string,
- focused: _propTypes2['default'].bool,
- disabled: _propTypes2['default'].bool,
- required: _propTypes2['default'].bool,
- readOnly: _propTypes2['default'].bool,
- openDirection: _OpenDirectionShape2['default'],
- showCaret: _propTypes2['default'].bool,
- verticalSpacing: _airbnbPropTypes.nonNegativeInteger,
- small: _propTypes2['default'].bool,
- block: _propTypes2['default'].bool,
- regular: _propTypes2['default'].bool,
-
- onChange: _propTypes2['default'].func,
- onFocus: _propTypes2['default'].func,
- onKeyDownShiftTab: _propTypes2['default'].func,
- onKeyDownTab: _propTypes2['default'].func,
-
- onKeyDownArrowDown: _propTypes2['default'].func,
- onKeyDownQuestionMark: _propTypes2['default'].func,
-
- // accessibility
- isFocused: _propTypes2['default'].bool // describes actual DOM focus
-}));
-
-var defaultProps = {
- placeholder: 'Select Date',
- displayValue: '',
- screenReaderMessage: '',
- focused: false,
- disabled: false,
- required: false,
- readOnly: null,
- openDirection: _constants.OPEN_DOWN,
- showCaret: false,
- verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,
- small: false,
- block: false,
- regular: false,
-
- onChange: function () {
- function onChange() {}
-
- return onChange;
- }(),
- onFocus: function () {
- function onFocus() {}
-
- return onFocus;
- }(),
- onKeyDownShiftTab: function () {
- function onKeyDownShiftTab() {}
-
- return onKeyDownShiftTab;
- }(),
- onKeyDownTab: function () {
- function onKeyDownTab() {}
-
- return onKeyDownTab;
- }(),
- onKeyDownArrowDown: function () {
- function onKeyDownArrowDown() {}
-
- return onKeyDownArrowDown;
- }(),
- onKeyDownQuestionMark: function () {
- function onKeyDownQuestionMark() {}
-
- return onKeyDownQuestionMark;
- }(),
-
-
- // accessibility
- isFocused: false
-};
-
-var DateInput = function (_React$Component) {
- _inherits(DateInput, _React$Component);
-
- function DateInput(props) {
- _classCallCheck(this, DateInput);
-
- var _this = _possibleConstructorReturn(this, (DateInput.__proto__ || Object.getPrototypeOf(DateInput)).call(this, props));
-
- _this.state = {
- dateString: '',
- isTouchDevice: false
- };
-
- _this.onChange = _this.onChange.bind(_this);
- _this.onKeyDown = _this.onKeyDown.bind(_this);
- _this.setInputRef = _this.setInputRef.bind(_this);
- _this.throttledKeyDown = (0, _throttle2['default'])(_this.onFinalKeyDown, 300, { trailing: false });
- return _this;
- }
-
- _createClass(DateInput, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- this.setState({ isTouchDevice: (0, _isTouchDevice2['default'])() });
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var dateString = this.state.dateString;
-
- if (dateString && nextProps.displayValue) {
- this.setState({
- dateString: ''
- });
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate(prevProps) {
- var _props = this.props,
- focused = _props.focused,
- isFocused = _props.isFocused;
-
- if (prevProps.focused === focused && prevProps.isFocused === isFocused) return;
-
- if (focused && isFocused) {
- this.inputRef.focus();
- }
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'onChange',
- value: function () {
- function onChange(e) {
- var _props2 = this.props,
- onChange = _props2.onChange,
- onKeyDownQuestionMark = _props2.onKeyDownQuestionMark;
-
- var dateString = e.target.value;
-
- // In Safari, onKeyDown does not consistently fire ahead of onChange. As a result, we need to
- // special case the `?` key so that it always triggers the appropriate callback, instead of
- // modifying the input value
- if (dateString[dateString.length - 1] === '?') {
- onKeyDownQuestionMark(e);
- } else {
- this.setState({ dateString: dateString }, function () {
- return onChange(dateString);
- });
- }
- }
-
- return onChange;
- }()
- }, {
- key: 'onKeyDown',
- value: function () {
- function onKeyDown(e) {
- e.stopPropagation();
- if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) {
- this.throttledKeyDown(e);
- }
- }
-
- return onKeyDown;
- }()
- }, {
- key: 'onFinalKeyDown',
- value: function () {
- function onFinalKeyDown(e) {
- var _props3 = this.props,
- onKeyDownShiftTab = _props3.onKeyDownShiftTab,
- onKeyDownTab = _props3.onKeyDownTab,
- onKeyDownArrowDown = _props3.onKeyDownArrowDown,
- onKeyDownQuestionMark = _props3.onKeyDownQuestionMark;
- var key = e.key;
-
-
- if (key === 'Tab') {
- if (e.shiftKey) {
- onKeyDownShiftTab(e);
- } else {
- onKeyDownTab(e);
- }
- } else if (key === 'ArrowDown') {
- onKeyDownArrowDown(e);
- } else if (key === '?') {
- e.preventDefault();
- onKeyDownQuestionMark(e);
- }
- }
-
- return onFinalKeyDown;
- }()
- }, {
- key: 'setInputRef',
- value: function () {
- function setInputRef(ref) {
- this.inputRef = ref;
- }
-
- return setInputRef;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _state = this.state,
- dateString = _state.dateString,
- isTouch = _state.isTouchDevice;
- var _props4 = this.props,
- id = _props4.id,
- placeholder = _props4.placeholder,
- displayValue = _props4.displayValue,
- screenReaderMessage = _props4.screenReaderMessage,
- focused = _props4.focused,
- showCaret = _props4.showCaret,
- onFocus = _props4.onFocus,
- disabled = _props4.disabled,
- required = _props4.required,
- readOnly = _props4.readOnly,
- openDirection = _props4.openDirection,
- verticalSpacing = _props4.verticalSpacing,
- small = _props4.small,
- regular = _props4.regular,
- block = _props4.block,
- styles = _props4.styles,
- reactDates = _props4.theme.reactDates;
-
-
- var value = dateString || displayValue || '';
- var screenReaderMessageId = 'DateInput__screen-reader-message-' + String(id);
-
- var withFang = showCaret && focused;
-
- var inputHeight = (0, _getInputHeight2['default'])(reactDates, small);
-
- return _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(styles.DateInput, small && styles.DateInput__small, block && styles.DateInput__block, withFang && styles.DateInput__withFang, disabled && styles.DateInput__disabled, withFang && openDirection === _constants.OPEN_DOWN && styles.DateInput__openDown, withFang && openDirection === _constants.OPEN_UP && styles.DateInput__openUp),
- _react2['default'].createElement('input', _extends({}, (0, _reactWithStyles.css)(styles.DateInput_input, small && styles.DateInput_input__small, regular && styles.DateInput_input__regular, readOnly && styles.DateInput_input__readOnly, focused && styles.DateInput_input__focused, disabled && styles.DateInput_input__disabled), {
- 'aria-label': placeholder,
- type: 'text',
- id: id,
- name: id,
- ref: this.setInputRef,
- value: value,
- onChange: this.onChange,
- onKeyDown: this.onKeyDown,
- onFocus: onFocus,
- placeholder: placeholder,
- autoComplete: 'off',
- disabled: disabled,
- readOnly: typeof readOnly === 'boolean' ? readOnly : isTouch,
- required: required,
- 'aria-describedby': screenReaderMessage && screenReaderMessageId
- })),
- withFang && _react2['default'].createElement(
- 'svg',
- _extends({
- role: 'presentation',
- focusable: 'false'
- }, (0, _reactWithStyles.css)(styles.DateInput_fang, openDirection === _constants.OPEN_DOWN && {
- top: inputHeight + verticalSpacing - _constants.FANG_HEIGHT_PX - 1
- }, openDirection === _constants.OPEN_UP && {
- bottom: inputHeight + verticalSpacing - _constants.FANG_HEIGHT_PX - 1
- })),
- _react2['default'].createElement('path', _extends({}, (0, _reactWithStyles.css)(styles.DateInput_fangShape), {
- d: openDirection === _constants.OPEN_DOWN ? FANG_PATH_TOP : FANG_PATH_BOTTOM
- })),
- _react2['default'].createElement('path', _extends({}, (0, _reactWithStyles.css)(styles.DateInput_fangStroke), {
- d: openDirection === _constants.OPEN_DOWN ? FANG_STROKE_TOP : FANG_STROKE_BOTTOM
- }))
- ),
- screenReaderMessage && _react2['default'].createElement(
- 'p',
- _extends({}, (0, _reactWithStyles.css)(styles.DateInput_screenReaderMessage), { id: screenReaderMessageId }),
- screenReaderMessage
- )
- );
- }
-
- return render;
- }()
- }]);
-
- return DateInput;
-}(_react2['default'].Component);
-
-DateInput.propTypes = propTypes;
-DateInput.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {
- var _ref$reactDates = _ref.reactDates,
- border = _ref$reactDates.border,
- color = _ref$reactDates.color,
- sizing = _ref$reactDates.sizing,
- spacing = _ref$reactDates.spacing,
- font = _ref$reactDates.font,
- zIndex = _ref$reactDates.zIndex;
- return {
- DateInput: {
- margin: 0,
- padding: spacing.inputPadding,
- background: color.background,
- position: 'relative',
- display: 'inline-block',
- width: sizing.inputWidth,
- verticalAlign: 'middle'
- },
-
- DateInput__small: {
- width: sizing.inputWidth_small
- },
-
- DateInput__block: {
- width: '100%'
- },
-
- DateInput__disabled: {
- background: color.disabled,
- color: color.textDisabled
- },
-
- DateInput_input: {
- fontWeight: 200,
- fontSize: font.input.size,
- lineHeight: font.input.lineHeight,
- color: color.text,
- backgroundColor: color.background,
- width: '100%',
- padding: String(spacing.displayTextPaddingVertical) + 'px ' + String(spacing.displayTextPaddingHorizontal) + 'px',
- paddingTop: spacing.displayTextPaddingTop,
- paddingBottom: spacing.displayTextPaddingBottom,
- paddingLeft: spacing.displayTextPaddingLeft,
- paddingRight: spacing.displayTextPaddingRight,
- border: border.input.border,
- borderTop: border.input.borderTop,
- borderRight: border.input.borderRight,
- borderBottom: border.input.borderBottom,
- borderLeft: border.input.borderLeft,
- borderRadius: border.input.borderRadius
- },
-
- DateInput_input__small: {
- fontSize: font.input.size_small,
- lineHeight: font.input.lineHeight_small,
- letterSpacing: font.input.letterSpacing_small,
- padding: String(spacing.displayTextPaddingVertical_small) + 'px ' + String(spacing.displayTextPaddingHorizontal_small) + 'px',
- paddingTop: spacing.displayTextPaddingTop_small,
- paddingBottom: spacing.displayTextPaddingBottom_small,
- paddingLeft: spacing.displayTextPaddingLeft_small,
- paddingRight: spacing.displayTextPaddingRight_small
- },
-
- DateInput_input__regular: {
- fontWeight: 'auto'
- },
-
- DateInput_input__readOnly: {
- userSelect: 'none'
- },
-
- DateInput_input__focused: {
- outline: border.input.outlineFocused,
- background: color.backgroundFocused,
- border: border.input.borderFocused,
- borderTop: border.input.borderTopFocused,
- borderRight: border.input.borderRightFocused,
- borderBottom: border.input.borderBottomFocused,
- borderLeft: border.input.borderLeftFocused
- },
-
- DateInput_input__disabled: {
- background: color.disabled,
- fontStyle: font.input.styleDisabled
- },
-
- DateInput_screenReaderMessage: {
- border: 0,
- clip: 'rect(0, 0, 0, 0)',
- height: 1,
- margin: -1,
- overflow: 'hidden',
- padding: 0,
- position: 'absolute',
- width: 1
- },
-
- DateInput_fang: {
- position: 'absolute',
- width: _constants.FANG_WIDTH_PX,
- height: _constants.FANG_HEIGHT_PX,
- left: 22,
- zIndex: zIndex + 2
- },
-
- DateInput_fangShape: {
- fill: color.background
- },
-
- DateInput_fangStroke: {
- stroke: color.core.border,
- fill: 'transparent'
- }
- };
-})(DateInput);
-
-/***/ }),
-/* 182 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var debounce = __webpack_require__(315),
- isObject = __webpack_require__(128);
-
-/** Error message constants. */
-var FUNC_ERROR_TEXT = 'Expected a function';
-
-/**
- * Creates a throttled function that only invokes `func` at most once per
- * every `wait` milliseconds. The throttled function comes with a `cancel`
- * method to cancel delayed `func` invocations and a `flush` method to
- * immediately invoke them. Provide `options` to indicate whether `func`
- * should be invoked on the leading and/or trailing edge of the `wait`
- * timeout. The `func` is invoked with the last arguments provided to the
- * throttled function. Subsequent calls to the throttled function return the
- * result of the last `func` invocation.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
- * invoked on the trailing edge of the timeout only if the throttled function
- * is invoked more than once during the `wait` timeout.
- *
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
- *
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
- * for details over the differences between `_.throttle` and `_.debounce`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to throttle.
- * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
- * @param {Object} [options={}] The options object.
- * @param {boolean} [options.leading=true]
- * Specify invoking on the leading edge of the timeout.
- * @param {boolean} [options.trailing=true]
- * Specify invoking on the trailing edge of the timeout.
- * @returns {Function} Returns the new throttled function.
- * @example
- *
- * // Avoid excessively updating the position while scrolling.
- * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
- *
- * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
- * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
- * jQuery(element).on('click', throttled);
- *
- * // Cancel the trailing throttled invocation.
- * jQuery(window).on('popstate', throttled.cancel);
- */
-function throttle(func, wait, options) {
- var leading = true,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- if (isObject(options)) {
- leading = 'leading' in options ? !!options.leading : leading;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
- return debounce(func, wait, {
- 'leading': leading,
- 'maxWait': wait,
- 'trailing': trailing
- });
-}
-
-module.exports = throttle;
-
-
-/***/ }),
-/* 183 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var freeGlobal = __webpack_require__(317);
-
-/** Detect free variable `self`. */
-var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
-
-/** Used as a reference to the global object. */
-var root = freeGlobal || freeSelf || Function('return this')();
-
-module.exports = root;
-
-
-/***/ }),
-/* 184 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var root = __webpack_require__(183);
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-module.exports = Symbol;
-
-
-/***/ }),
-/* 185 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var RightArrow = function () {
- function RightArrow(props) {
- return _react2['default'].createElement(
- 'svg',
- props,
- _react2['default'].createElement('path', {
- d: 'M694.4 242.4l249.1 249.1c11 11 11 21 0 32L694.4 772.7c-5 5-10 7-16 7s-11-2-16-7c-11-11-11-21 0-32l210.1-210.1H67.1c-13 0-23-10-23-23s10-23 23-23h805.4L662.4 274.5c-21-21.1 11-53.1 32-32.1z'
- })
- );
- }
-
- return RightArrow;
-}();
-
-RightArrow.defaultProps = {
- viewBox: '0 0 1000 1000'
-};
-exports['default'] = RightArrow;
-
-/***/ }),
-/* 186 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var LeftArrow = function () {
- function LeftArrow(props) {
- return _react2['default'].createElement(
- 'svg',
- props,
- _react2['default'].createElement('path', {
- d: 'M336.2 274.5l-210.1 210h805.4c13 0 23 10 23 23s-10 23-23 23H126.1l210.1 210.1c11 11 11 21 0 32-5 5-10 7-16 7s-11-2-16-7l-249.1-249c-11-11-11-21 0-32l249.1-249.1c21-21.1 53 10.9 32 32z'
- })
- );
- }
-
- return LeftArrow;
-}();
-
-LeftArrow.defaultProps = {
- viewBox: '0 0 1000 1000'
-};
-exports['default'] = LeftArrow;
-
-/***/ }),
-/* 187 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var CalendarIcon = function () {
- function CalendarIcon(props) {
- return _react2['default'].createElement(
- 'svg',
- props,
- _react2['default'].createElement('path', {
- d: 'M107.2 1392.9h241.1v-241.1H107.2v241.1zm294.7 0h267.9v-241.1H401.9v241.1zm-294.7-294.7h241.1V830.4H107.2v267.8zm294.7 0h267.9V830.4H401.9v267.8zM107.2 776.8h241.1V535.7H107.2v241.1zm616.2 616.1h267.9v-241.1H723.4v241.1zM401.9 776.8h267.9V535.7H401.9v241.1zm642.9 616.1H1286v-241.1h-241.1v241.1zm-321.4-294.7h267.9V830.4H723.4v267.8zM428.7 375V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.3-5.3 8-11.5 8-18.8zm616.1 723.2H1286V830.4h-241.1v267.8zM723.4 776.8h267.9V535.7H723.4v241.1zm321.4 0H1286V535.7h-241.1v241.1zm26.8-401.8V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.4-5.3 8-11.5 8-18.8zm321.5-53.6v1071.4c0 29-10.6 54.1-31.8 75.3-21.2 21.2-46.3 31.8-75.3 31.8H107.2c-29 0-54.1-10.6-75.3-31.8C10.6 1447 0 1421.9 0 1392.9V321.4c0-29 10.6-54.1 31.8-75.3s46.3-31.8 75.3-31.8h107.2v-80.4c0-36.8 13.1-68.4 39.3-94.6S311.4 0 348.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3 26.2 26.2 39.3 57.8 39.3 94.6v80.4h321.5v-80.4c0-36.8 13.1-68.4 39.3-94.6C922.9 13.1 954.4 0 991.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3s39.3 57.8 39.3 94.6v80.4H1286c29 0 54.1 10.6 75.3 31.8 21.2 21.2 31.8 46.3 31.8 75.3z'
- })
- );
- }
-
- return CalendarIcon;
-}();
-
-CalendarIcon.defaultProps = {
- viewBox: '0 0 1393.1 1500'
-};
-exports['default'] = CalendarIcon;
-
-/***/ }),
-/* 188 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _object3 = __webpack_require__(189);
-
-var _object4 = _interopRequireDefault(_object3);
-
-var _isTouchDevice = __webpack_require__(82);
-
-var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _isInclusivelyAfterDay = __webpack_require__(94);
-
-var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
-
-var _isNextDay = __webpack_require__(192);
-
-var _isNextDay2 = _interopRequireDefault(_isNextDay);
-
-var _isSameDay = __webpack_require__(79);
-
-var _isSameDay2 = _interopRequireDefault(_isSameDay);
-
-var _isAfterDay = __webpack_require__(106);
-
-var _isAfterDay2 = _interopRequireDefault(_isAfterDay);
-
-var _isBeforeDay = __webpack_require__(95);
-
-var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
-
-var _getVisibleDays = __webpack_require__(193);
-
-var _getVisibleDays2 = _interopRequireDefault(_getVisibleDays);
-
-var _isDayVisible = __webpack_require__(130);
-
-var _isDayVisible2 = _interopRequireDefault(_isDayVisible);
-
-var _getSelectedDateOffset = __webpack_require__(325);
-
-var _getSelectedDateOffset2 = _interopRequireDefault(_getSelectedDateOffset);
-
-var _toISODateString = __webpack_require__(102);
-
-var _toISODateString2 = _interopRequireDefault(_toISODateString);
-
-var _toISOMonthString = __webpack_require__(104);
-
-var _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);
-
-var _DisabledShape = __webpack_require__(105);
-
-var _DisabledShape2 = _interopRequireDefault(_DisabledShape);
-
-var _FocusedInputShape = __webpack_require__(173);
-
-var _FocusedInputShape2 = _interopRequireDefault(_FocusedInputShape);
-
-var _ScrollableOrientationShape = __webpack_require__(81);
-
-var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _CalendarInfoPositionShape = __webpack_require__(93);
-
-var _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);
-
-var _constants = __webpack_require__(39);
-
-var _DayPicker = __webpack_require__(131);
-
-var _DayPicker2 = _interopRequireDefault(_DayPicker);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
- startDate: _reactMomentProptypes2['default'].momentObj,
- endDate: _reactMomentProptypes2['default'].momentObj,
- onDatesChange: _propTypes2['default'].func,
- startDateOffset: _propTypes2['default'].func,
- endDateOffset: _propTypes2['default'].func,
-
- focusedInput: _FocusedInputShape2['default'],
- onFocusChange: _propTypes2['default'].func,
- onClose: _propTypes2['default'].func,
-
- keepOpenOnDateSelect: _propTypes2['default'].bool,
- minimumNights: _propTypes2['default'].number,
- disabled: _DisabledShape2['default'],
- isOutsideRange: _propTypes2['default'].func,
- isDayBlocked: _propTypes2['default'].func,
- isDayHighlighted: _propTypes2['default'].func,
-
- // DayPicker props
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- enableOutsideDays: _propTypes2['default'].bool,
- numberOfMonths: _propTypes2['default'].number,
- orientation: _ScrollableOrientationShape2['default'],
- withPortal: _propTypes2['default'].bool,
- initialVisibleMonth: _propTypes2['default'].func,
- hideKeyboardShortcutsPanel: _propTypes2['default'].bool,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- noBorder: _propTypes2['default'].bool,
- verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,
- horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,
-
- navPrev: _propTypes2['default'].node,
- navNext: _propTypes2['default'].node,
- noNavButtons: _propTypes2['default'].bool,
-
- onPrevMonthClick: _propTypes2['default'].func,
- onNextMonthClick: _propTypes2['default'].func,
- onOutsideClick: _propTypes2['default'].func,
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- renderCalendarInfo: _propTypes2['default'].func,
- calendarInfoPosition: _CalendarInfoPositionShape2['default'],
- firstDayOfWeek: _DayOfWeekShape2['default'],
- verticalHeight: _airbnbPropTypes.nonNegativeInteger,
- transitionDuration: _airbnbPropTypes.nonNegativeInteger,
-
- // accessibility
- onBlur: _propTypes2['default'].func,
- isFocused: _propTypes2['default'].bool,
- showKeyboardShortcuts: _propTypes2['default'].bool,
-
- // i18n
- monthFormat: _propTypes2['default'].string,
- weekDayFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string,
-
- isRTL: _propTypes2['default'].bool
-});
-
-var defaultProps = {
- startDate: undefined, // TODO: use null
- endDate: undefined, // TODO: use null
- onDatesChange: function () {
- function onDatesChange() {}
-
- return onDatesChange;
- }(),
-
- startDateOffset: undefined,
- endDateOffset: undefined,
-
- focusedInput: null,
- onFocusChange: function () {
- function onFocusChange() {}
-
- return onFocusChange;
- }(),
- onClose: function () {
- function onClose() {}
-
- return onClose;
- }(),
-
-
- keepOpenOnDateSelect: false,
- minimumNights: 1,
- disabled: false,
- isOutsideRange: function () {
- function isOutsideRange() {}
-
- return isOutsideRange;
- }(),
- isDayBlocked: function () {
- function isDayBlocked() {}
-
- return isDayBlocked;
- }(),
- isDayHighlighted: function () {
- function isDayHighlighted() {}
-
- return isDayHighlighted;
- }(),
-
-
- // DayPicker props
- renderMonthText: null,
- enableOutsideDays: false,
- numberOfMonths: 1,
- orientation: _constants.HORIZONTAL_ORIENTATION,
- withPortal: false,
- hideKeyboardShortcutsPanel: false,
- initialVisibleMonth: null,
- daySize: _constants.DAY_SIZE,
-
- navPrev: null,
- navNext: null,
- noNavButtons: false,
-
- onPrevMonthClick: function () {
- function onPrevMonthClick() {}
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: function () {
- function onNextMonthClick() {}
-
- return onNextMonthClick;
- }(),
- onOutsideClick: function () {
- function onOutsideClick() {}
-
- return onOutsideClick;
- }(),
-
-
- renderCalendarDay: undefined,
- renderDayContents: null,
- renderCalendarInfo: null,
- renderMonthElement: null,
- calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,
- firstDayOfWeek: null,
- verticalHeight: null,
- noBorder: false,
- transitionDuration: undefined,
- verticalBorderSpacing: undefined,
- horizontalMonthPadding: 13,
-
- // accessibility
- onBlur: function () {
- function onBlur() {}
-
- return onBlur;
- }(),
-
- isFocused: false,
- showKeyboardShortcuts: false,
-
- // i18n
- monthFormat: 'MMMM YYYY',
- weekDayFormat: 'dd',
- phrases: _defaultPhrases.DayPickerPhrases,
- dayAriaLabelFormat: undefined,
-
- isRTL: false
-};
-
-var getChooseAvailableDatePhrase = function getChooseAvailableDatePhrase(phrases, focusedInput) {
- if (focusedInput === _constants.START_DATE) {
- return phrases.chooseAvailableStartDate;
- }
- if (focusedInput === _constants.END_DATE) {
- return phrases.chooseAvailableEndDate;
- }
- return phrases.chooseAvailableDate;
-};
-
-var DayPickerRangeController = function (_React$Component) {
- _inherits(DayPickerRangeController, _React$Component);
-
- function DayPickerRangeController(props) {
- _classCallCheck(this, DayPickerRangeController);
-
- var _this = _possibleConstructorReturn(this, (DayPickerRangeController.__proto__ || Object.getPrototypeOf(DayPickerRangeController)).call(this, props));
-
- _this.isTouchDevice = (0, _isTouchDevice2['default'])();
- _this.today = (0, _moment2['default'])();
- _this.modifiers = {
- today: function () {
- function today(day) {
- return _this.isToday(day);
- }
-
- return today;
- }(),
- blocked: function () {
- function blocked(day) {
- return _this.isBlocked(day);
- }
-
- return blocked;
- }(),
- 'blocked-calendar': function () {
- function blockedCalendar(day) {
- return props.isDayBlocked(day);
- }
-
- return blockedCalendar;
- }(),
- 'blocked-out-of-range': function () {
- function blockedOutOfRange(day) {
- return props.isOutsideRange(day);
- }
-
- return blockedOutOfRange;
- }(),
- 'highlighted-calendar': function () {
- function highlightedCalendar(day) {
- return props.isDayHighlighted(day);
- }
-
- return highlightedCalendar;
- }(),
- valid: function () {
- function valid(day) {
- return !_this.isBlocked(day);
- }
-
- return valid;
- }(),
- 'selected-start': function () {
- function selectedStart(day) {
- return _this.isStartDate(day);
- }
-
- return selectedStart;
- }(),
- 'selected-end': function () {
- function selectedEnd(day) {
- return _this.isEndDate(day);
- }
-
- return selectedEnd;
- }(),
- 'blocked-minimum-nights': function () {
- function blockedMinimumNights(day) {
- return _this.doesNotMeetMinimumNights(day);
- }
-
- return blockedMinimumNights;
- }(),
- 'selected-span': function () {
- function selectedSpan(day) {
- return _this.isInSelectedSpan(day);
- }
-
- return selectedSpan;
- }(),
- 'last-in-range': function () {
- function lastInRange(day) {
- return _this.isLastInRange(day);
- }
-
- return lastInRange;
- }(),
- hovered: function () {
- function hovered(day) {
- return _this.isHovered(day);
- }
-
- return hovered;
- }(),
- 'hovered-span': function () {
- function hoveredSpan(day) {
- return _this.isInHoveredSpan(day);
- }
-
- return hoveredSpan;
- }(),
- 'hovered-offset': function () {
- function hoveredOffset(day) {
- return _this.isInHoveredSpan(day);
- }
-
- return hoveredOffset;
- }(),
- 'after-hovered-start': function () {
- function afterHoveredStart(day) {
- return _this.isDayAfterHoveredStartDate(day);
- }
-
- return afterHoveredStart;
- }(),
- 'first-day-of-week': function () {
- function firstDayOfWeek(day) {
- return _this.isFirstDayOfWeek(day);
- }
-
- return firstDayOfWeek;
- }(),
- 'last-day-of-week': function () {
- function lastDayOfWeek(day) {
- return _this.isLastDayOfWeek(day);
- }
-
- return lastDayOfWeek;
- }()
- };
-
- var _this$getStateForNewM = _this.getStateForNewMonth(props),
- currentMonth = _this$getStateForNewM.currentMonth,
- visibleDays = _this$getStateForNewM.visibleDays;
-
- // initialize phrases
- // set the appropriate CalendarDay phrase based on focusedInput
-
-
- var chooseAvailableDate = getChooseAvailableDatePhrase(props.phrases, props.focusedInput);
-
- _this.state = {
- hoverDate: null,
- currentMonth: currentMonth,
- phrases: (0, _object2['default'])({}, props.phrases, {
- chooseAvailableDate: chooseAvailableDate
- }),
- visibleDays: visibleDays
- };
-
- _this.onDayClick = _this.onDayClick.bind(_this);
- _this.onDayMouseEnter = _this.onDayMouseEnter.bind(_this);
- _this.onDayMouseLeave = _this.onDayMouseLeave.bind(_this);
- _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);
- _this.onNextMonthClick = _this.onNextMonthClick.bind(_this);
- _this.onMonthChange = _this.onMonthChange.bind(_this);
- _this.onYearChange = _this.onYearChange.bind(_this);
- _this.onMultiplyScrollableMonths = _this.onMultiplyScrollableMonths.bind(_this);
- _this.getFirstFocusableDay = _this.getFirstFocusableDay.bind(_this);
- return _this;
- }
-
- _createClass(DayPickerRangeController, [{
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var _this2 = this;
-
- var startDate = nextProps.startDate,
- endDate = nextProps.endDate,
- focusedInput = nextProps.focusedInput,
- minimumNights = nextProps.minimumNights,
- isOutsideRange = nextProps.isOutsideRange,
- isDayBlocked = nextProps.isDayBlocked,
- isDayHighlighted = nextProps.isDayHighlighted,
- phrases = nextProps.phrases,
- initialVisibleMonth = nextProps.initialVisibleMonth,
- numberOfMonths = nextProps.numberOfMonths,
- enableOutsideDays = nextProps.enableOutsideDays;
- var _props = this.props,
- prevStartDate = _props.startDate,
- prevEndDate = _props.endDate,
- prevFocusedInput = _props.focusedInput,
- prevMinimumNights = _props.minimumNights,
- prevIsOutsideRange = _props.isOutsideRange,
- prevIsDayBlocked = _props.isDayBlocked,
- prevIsDayHighlighted = _props.isDayHighlighted,
- prevPhrases = _props.phrases,
- prevInitialVisibleMonth = _props.initialVisibleMonth,
- prevNumberOfMonths = _props.numberOfMonths,
- prevEnableOutsideDays = _props.enableOutsideDays;
- var visibleDays = this.state.visibleDays;
-
-
- var recomputeOutsideRange = false;
- var recomputeDayBlocked = false;
- var recomputeDayHighlighted = false;
-
- if (isOutsideRange !== prevIsOutsideRange) {
- this.modifiers['blocked-out-of-range'] = function (day) {
- return isOutsideRange(day);
- };
- recomputeOutsideRange = true;
- }
-
- if (isDayBlocked !== prevIsDayBlocked) {
- this.modifiers['blocked-calendar'] = function (day) {
- return isDayBlocked(day);
- };
- recomputeDayBlocked = true;
- }
-
- if (isDayHighlighted !== prevIsDayHighlighted) {
- this.modifiers['highlighted-calendar'] = function (day) {
- return isDayHighlighted(day);
- };
- recomputeDayHighlighted = true;
- }
-
- var recomputePropModifiers = recomputeOutsideRange || recomputeDayBlocked || recomputeDayHighlighted;
-
- var didStartDateChange = startDate !== prevStartDate;
- var didEndDateChange = endDate !== prevEndDate;
- var didFocusChange = focusedInput !== prevFocusedInput;
-
- if (numberOfMonths !== prevNumberOfMonths || enableOutsideDays !== prevEnableOutsideDays || initialVisibleMonth !== prevInitialVisibleMonth && !prevFocusedInput && didFocusChange) {
- var newMonthState = this.getStateForNewMonth(nextProps);
- var currentMonth = newMonthState.currentMonth;
- visibleDays = newMonthState.visibleDays;
-
- this.setState({
- currentMonth: currentMonth,
- visibleDays: visibleDays
- });
- }
-
- var modifiers = {};
-
- if (didStartDateChange) {
- modifiers = this.deleteModifier(modifiers, prevStartDate, 'selected-start');
- modifiers = this.addModifier(modifiers, startDate, 'selected-start');
-
- if (prevStartDate) {
- var startSpan = prevStartDate.clone().add(1, 'day');
- var endSpan = prevStartDate.clone().add(prevMinimumNights + 1, 'days');
- modifiers = this.deleteModifierFromRange(modifiers, startSpan, endSpan, 'after-hovered-start');
- }
- }
-
- if (didEndDateChange) {
- modifiers = this.deleteModifier(modifiers, prevEndDate, 'selected-end');
- modifiers = this.addModifier(modifiers, endDate, 'selected-end');
- }
-
- if (didStartDateChange || didEndDateChange) {
- if (prevStartDate && prevEndDate) {
- modifiers = this.deleteModifierFromRange(modifiers, prevStartDate, prevEndDate.clone().add(1, 'day'), 'selected-span');
- }
-
- if (startDate && endDate) {
- modifiers = this.deleteModifierFromRange(modifiers, startDate, endDate.clone().add(1, 'day'), 'hovered-span');
-
- modifiers = this.addModifierToRange(modifiers, startDate.clone().add(1, 'day'), endDate, 'selected-span');
- }
- }
-
- if (!this.isTouchDevice && didStartDateChange && startDate && !endDate) {
- var _startSpan = startDate.clone().add(1, 'day');
- var _endSpan = startDate.clone().add(minimumNights + 1, 'days');
- modifiers = this.addModifierToRange(modifiers, _startSpan, _endSpan, 'after-hovered-start');
- }
-
- if (prevMinimumNights > 0) {
- if (didFocusChange || didStartDateChange || minimumNights !== prevMinimumNights) {
- var _startSpan2 = prevStartDate || this.today;
- modifiers = this.deleteModifierFromRange(modifiers, _startSpan2, _startSpan2.clone().add(prevMinimumNights, 'days'), 'blocked-minimum-nights');
-
- modifiers = this.deleteModifierFromRange(modifiers, _startSpan2, _startSpan2.clone().add(prevMinimumNights, 'days'), 'blocked');
- }
- }
-
- if (didFocusChange || recomputePropModifiers) {
- (0, _object4['default'])(visibleDays).forEach(function (days) {
- Object.keys(days).forEach(function (day) {
- var momentObj = (0, _moment2['default'])(day);
- var isBlocked = false;
-
- if (didFocusChange || recomputeOutsideRange) {
- if (isOutsideRange(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-out-of-range');
- isBlocked = true;
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-out-of-range');
- }
- }
-
- if (didFocusChange || recomputeDayBlocked) {
- if (isDayBlocked(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-calendar');
- isBlocked = true;
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-calendar');
- }
- }
-
- if (isBlocked) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'blocked');
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked');
- }
-
- if (didFocusChange || recomputeDayHighlighted) {
- if (isDayHighlighted(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'highlighted-calendar');
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'highlighted-calendar');
- }
- }
- });
- });
- }
-
- if (minimumNights > 0 && startDate && focusedInput === _constants.END_DATE) {
- modifiers = this.addModifierToRange(modifiers, startDate, startDate.clone().add(minimumNights, 'days'), 'blocked-minimum-nights');
-
- modifiers = this.addModifierToRange(modifiers, startDate, startDate.clone().add(minimumNights, 'days'), 'blocked');
- }
-
- var today = (0, _moment2['default'])();
- if (!(0, _isSameDay2['default'])(this.today, today)) {
- modifiers = this.deleteModifier(modifiers, this.today, 'today');
- modifiers = this.addModifier(modifiers, today, 'today');
- this.today = today;
- }
-
- if (Object.keys(modifiers).length > 0) {
- this.setState({
- visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)
- });
- }
-
- if (didFocusChange || phrases !== prevPhrases) {
- // set the appropriate CalendarDay phrase based on focusedInput
- var chooseAvailableDate = getChooseAvailableDatePhrase(phrases, focusedInput);
-
- this.setState({
- phrases: (0, _object2['default'])({}, phrases, {
- chooseAvailableDate: chooseAvailableDate
- })
- });
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'onDayClick',
- value: function () {
- function onDayClick(day, e) {
- var _props2 = this.props,
- keepOpenOnDateSelect = _props2.keepOpenOnDateSelect,
- minimumNights = _props2.minimumNights,
- onBlur = _props2.onBlur,
- focusedInput = _props2.focusedInput,
- onFocusChange = _props2.onFocusChange,
- onClose = _props2.onClose,
- onDatesChange = _props2.onDatesChange,
- startDateOffset = _props2.startDateOffset,
- endDateOffset = _props2.endDateOffset,
- disabled = _props2.disabled;
-
-
- if (e) e.preventDefault();
- if (this.isBlocked(day)) return;
-
- var _props3 = this.props,
- startDate = _props3.startDate,
- endDate = _props3.endDate;
-
-
- if (startDateOffset || endDateOffset) {
- startDate = (0, _getSelectedDateOffset2['default'])(startDateOffset, day);
- endDate = (0, _getSelectedDateOffset2['default'])(endDateOffset, day);
-
- if (!keepOpenOnDateSelect) {
- onFocusChange(null);
- onClose({ startDate: startDate, endDate: endDate });
- }
- } else if (focusedInput === _constants.START_DATE) {
- var lastAllowedStartDate = endDate && endDate.clone().subtract(minimumNights, 'days');
- var isStartDateAfterEndDate = (0, _isBeforeDay2['default'])(lastAllowedStartDate, day) || (0, _isAfterDay2['default'])(startDate, endDate);
- var isEndDateDisabled = disabled === _constants.END_DATE;
-
- if (!isEndDateDisabled || !isStartDateAfterEndDate) {
- startDate = day;
- if (isStartDateAfterEndDate) {
- endDate = null;
- }
- }
-
- if (isEndDateDisabled && !isStartDateAfterEndDate) {
- onFocusChange(null);
- onClose({ startDate: startDate, endDate: endDate });
- } else if (!isEndDateDisabled) {
- onFocusChange(_constants.END_DATE);
- }
- } else if (focusedInput === _constants.END_DATE) {
- var firstAllowedEndDate = startDate && startDate.clone().add(minimumNights, 'days');
-
- if (!startDate) {
- endDate = day;
- onFocusChange(_constants.START_DATE);
- } else if ((0, _isInclusivelyAfterDay2['default'])(day, firstAllowedEndDate)) {
- endDate = day;
- if (!keepOpenOnDateSelect) {
- onFocusChange(null);
- onClose({ startDate: startDate, endDate: endDate });
- }
- } else if (disabled !== _constants.START_DATE) {
- startDate = day;
- endDate = null;
- }
- }
-
- onDatesChange({ startDate: startDate, endDate: endDate });
- onBlur();
- }
-
- return onDayClick;
- }()
- }, {
- key: 'onDayMouseEnter',
- value: function () {
- function onDayMouseEnter(day) {
- /* eslint react/destructuring-assignment: 1 */
- if (this.isTouchDevice) return;
- var _props4 = this.props,
- startDate = _props4.startDate,
- endDate = _props4.endDate,
- focusedInput = _props4.focusedInput,
- minimumNights = _props4.minimumNights,
- startDateOffset = _props4.startDateOffset,
- endDateOffset = _props4.endDateOffset;
- var _state = this.state,
- hoverDate = _state.hoverDate,
- visibleDays = _state.visibleDays;
-
- var dateOffset = null;
-
- if (focusedInput) {
- var hasOffset = startDateOffset || endDateOffset;
- var modifiers = {};
-
- if (hasOffset) {
- var start = (0, _getSelectedDateOffset2['default'])(startDateOffset, day);
- var end = (0, _getSelectedDateOffset2['default'])(endDateOffset, day, function (rangeDay) {
- return rangeDay.add(1, 'day');
- });
-
- dateOffset = {
- start: start,
- end: end
- };
-
- // eslint-disable-next-line react/destructuring-assignment
- if (this.state.dateOffset && this.state.dateOffset.start && this.state.dateOffset.end) {
- modifiers = this.deleteModifierFromRange(modifiers, this.state.dateOffset.start, this.state.dateOffset.end, 'hovered-offset');
- }
- modifiers = this.addModifierToRange(modifiers, start, end, 'hovered-offset');
- }
-
- if (!hasOffset) {
- modifiers = this.deleteModifier(modifiers, hoverDate, 'hovered');
- modifiers = this.addModifier(modifiers, day, 'hovered');
-
- if (startDate && !endDate && focusedInput === _constants.END_DATE) {
- if ((0, _isAfterDay2['default'])(hoverDate, startDate)) {
- var endSpan = hoverDate.clone().add(1, 'day');
- modifiers = this.deleteModifierFromRange(modifiers, startDate, endSpan, 'hovered-span');
- }
-
- if (!this.isBlocked(day) && (0, _isAfterDay2['default'])(day, startDate)) {
- var _endSpan2 = day.clone().add(1, 'day');
- modifiers = this.addModifierToRange(modifiers, startDate, _endSpan2, 'hovered-span');
- }
- }
-
- if (!startDate && endDate && focusedInput === _constants.START_DATE) {
- if ((0, _isBeforeDay2['default'])(hoverDate, endDate)) {
- modifiers = this.deleteModifierFromRange(modifiers, hoverDate, endDate, 'hovered-span');
- }
-
- if (!this.isBlocked(day) && (0, _isBeforeDay2['default'])(day, endDate)) {
- modifiers = this.addModifierToRange(modifiers, day, endDate, 'hovered-span');
- }
- }
-
- if (startDate) {
- var startSpan = startDate.clone().add(1, 'day');
- var _endSpan3 = startDate.clone().add(minimumNights + 1, 'days');
- modifiers = this.deleteModifierFromRange(modifiers, startSpan, _endSpan3, 'after-hovered-start');
-
- if ((0, _isSameDay2['default'])(day, startDate)) {
- var newStartSpan = startDate.clone().add(1, 'day');
- var newEndSpan = startDate.clone().add(minimumNights + 1, 'days');
- modifiers = this.addModifierToRange(modifiers, newStartSpan, newEndSpan, 'after-hovered-start');
- }
- }
- }
-
- this.setState({
- hoverDate: day,
- dateOffset: dateOffset,
- visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)
- });
- }
- }
-
- return onDayMouseEnter;
- }()
- }, {
- key: 'onDayMouseLeave',
- value: function () {
- function onDayMouseLeave(day) {
- var _props5 = this.props,
- startDate = _props5.startDate,
- endDate = _props5.endDate,
- minimumNights = _props5.minimumNights;
- var _state2 = this.state,
- hoverDate = _state2.hoverDate,
- visibleDays = _state2.visibleDays,
- dateOffset = _state2.dateOffset;
-
- if (this.isTouchDevice || !hoverDate) return;
-
- var modifiers = {};
- modifiers = this.deleteModifier(modifiers, hoverDate, 'hovered');
-
- if (dateOffset) {
- modifiers = this.deleteModifierFromRange(modifiers, this.state.dateOffset.start, this.state.dateOffset.end, 'hovered-offset');
- }
-
- if (startDate && !endDate && (0, _isAfterDay2['default'])(hoverDate, startDate)) {
- var endSpan = hoverDate.clone().add(1, 'day');
- modifiers = this.deleteModifierFromRange(modifiers, startDate, endSpan, 'hovered-span');
- }
-
- if (!startDate && endDate && (0, _isAfterDay2['default'])(endDate, hoverDate)) {
- modifiers = this.deleteModifierFromRange(modifiers, hoverDate, endDate, 'hovered-span');
- }
-
- if (startDate && (0, _isSameDay2['default'])(day, startDate)) {
- var startSpan = startDate.clone().add(1, 'day');
- var _endSpan4 = startDate.clone().add(minimumNights + 1, 'days');
- modifiers = this.deleteModifierFromRange(modifiers, startSpan, _endSpan4, 'after-hovered-start');
- }
-
- this.setState({
- hoverDate: null,
- visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)
- });
- }
-
- return onDayMouseLeave;
- }()
- }, {
- key: 'onPrevMonthClick',
- value: function () {
- function onPrevMonthClick() {
- var _props6 = this.props,
- onPrevMonthClick = _props6.onPrevMonthClick,
- numberOfMonths = _props6.numberOfMonths,
- enableOutsideDays = _props6.enableOutsideDays;
- var _state3 = this.state,
- currentMonth = _state3.currentMonth,
- visibleDays = _state3.visibleDays;
-
-
- var newVisibleDays = {};
- Object.keys(visibleDays).sort().slice(0, numberOfMonths + 1).forEach(function (month) {
- newVisibleDays[month] = visibleDays[month];
- });
-
- var prevMonth = currentMonth.clone().subtract(2, 'months');
- var prevMonthVisibleDays = (0, _getVisibleDays2['default'])(prevMonth, 1, enableOutsideDays, true);
-
- var newCurrentMonth = currentMonth.clone().subtract(1, 'month');
- this.setState({
- currentMonth: newCurrentMonth,
- visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(prevMonthVisibleDays))
- }, function () {
- onPrevMonthClick(newCurrentMonth.clone());
- });
- }
-
- return onPrevMonthClick;
- }()
- }, {
- key: 'onNextMonthClick',
- value: function () {
- function onNextMonthClick() {
- var _props7 = this.props,
- onNextMonthClick = _props7.onNextMonthClick,
- numberOfMonths = _props7.numberOfMonths,
- enableOutsideDays = _props7.enableOutsideDays;
- var _state4 = this.state,
- currentMonth = _state4.currentMonth,
- visibleDays = _state4.visibleDays;
-
-
- var newVisibleDays = {};
- Object.keys(visibleDays).sort().slice(1).forEach(function (month) {
- newVisibleDays[month] = visibleDays[month];
- });
-
- var nextMonth = currentMonth.clone().add(numberOfMonths + 1, 'month');
- var nextMonthVisibleDays = (0, _getVisibleDays2['default'])(nextMonth, 1, enableOutsideDays, true);
-
- var newCurrentMonth = currentMonth.clone().add(1, 'month');
- this.setState({
- currentMonth: newCurrentMonth,
- visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(nextMonthVisibleDays))
- }, function () {
- onNextMonthClick(newCurrentMonth.clone());
- });
- }
-
- return onNextMonthClick;
- }()
- }, {
- key: 'onMonthChange',
- value: function () {
- function onMonthChange(newMonth) {
- var _props8 = this.props,
- numberOfMonths = _props8.numberOfMonths,
- enableOutsideDays = _props8.enableOutsideDays,
- orientation = _props8.orientation;
-
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);
-
- this.setState({
- currentMonth: newMonth.clone(),
- visibleDays: this.getModifiers(newVisibleDays)
- });
- }
-
- return onMonthChange;
- }()
- }, {
- key: 'onYearChange',
- value: function () {
- function onYearChange(newMonth) {
- var _props9 = this.props,
- numberOfMonths = _props9.numberOfMonths,
- enableOutsideDays = _props9.enableOutsideDays,
- orientation = _props9.orientation;
-
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);
-
- this.setState({
- currentMonth: newMonth.clone(),
- visibleDays: this.getModifiers(newVisibleDays)
- });
- }
-
- return onYearChange;
- }()
- }, {
- key: 'onMultiplyScrollableMonths',
- value: function () {
- function onMultiplyScrollableMonths() {
- var _props10 = this.props,
- numberOfMonths = _props10.numberOfMonths,
- enableOutsideDays = _props10.enableOutsideDays;
- var _state5 = this.state,
- currentMonth = _state5.currentMonth,
- visibleDays = _state5.visibleDays;
-
-
- var numberOfVisibleMonths = Object.keys(visibleDays).length;
- var nextMonth = currentMonth.clone().add(numberOfVisibleMonths, 'month');
- var newVisibleDays = (0, _getVisibleDays2['default'])(nextMonth, numberOfMonths, enableOutsideDays, true);
-
- this.setState({
- visibleDays: (0, _object2['default'])({}, visibleDays, this.getModifiers(newVisibleDays))
- });
- }
-
- return onMultiplyScrollableMonths;
- }()
- }, {
- key: 'getFirstFocusableDay',
- value: function () {
- function getFirstFocusableDay(newMonth) {
- var _this3 = this;
-
- var _props11 = this.props,
- startDate = _props11.startDate,
- endDate = _props11.endDate,
- focusedInput = _props11.focusedInput,
- minimumNights = _props11.minimumNights,
- numberOfMonths = _props11.numberOfMonths;
-
-
- var focusedDate = newMonth.clone().startOf('month');
- if (focusedInput === _constants.START_DATE && startDate) {
- focusedDate = startDate.clone();
- } else if (focusedInput === _constants.END_DATE && !endDate && startDate) {
- focusedDate = startDate.clone().add(minimumNights, 'days');
- } else if (focusedInput === _constants.END_DATE && endDate) {
- focusedDate = endDate.clone();
- }
-
- if (this.isBlocked(focusedDate)) {
- var days = [];
- var lastVisibleDay = newMonth.clone().add(numberOfMonths - 1, 'months').endOf('month');
- var currentDay = focusedDate.clone();
- while (!(0, _isAfterDay2['default'])(currentDay, lastVisibleDay)) {
- currentDay = currentDay.clone().add(1, 'day');
- days.push(currentDay);
- }
-
- var viableDays = days.filter(function (day) {
- return !_this3.isBlocked(day);
- });
-
- if (viableDays.length > 0) {
- var _viableDays = _slicedToArray(viableDays, 1);
-
- focusedDate = _viableDays[0];
- }
- }
-
- return focusedDate;
- }
-
- return getFirstFocusableDay;
- }()
- }, {
- key: 'getModifiers',
- value: function () {
- function getModifiers(visibleDays) {
- var _this4 = this;
-
- var modifiers = {};
- Object.keys(visibleDays).forEach(function (month) {
- modifiers[month] = {};
- visibleDays[month].forEach(function (day) {
- modifiers[month][(0, _toISODateString2['default'])(day)] = _this4.getModifiersForDay(day);
- });
- });
-
- return modifiers;
- }
-
- return getModifiers;
- }()
- }, {
- key: 'getModifiersForDay',
- value: function () {
- function getModifiersForDay(day) {
- var _this5 = this;
-
- return new Set(Object.keys(this.modifiers).filter(function (modifier) {
- return _this5.modifiers[modifier](day);
- }));
- }
-
- return getModifiersForDay;
- }()
- }, {
- key: 'getStateForNewMonth',
- value: function () {
- function getStateForNewMonth(nextProps) {
- var _this6 = this;
-
- var initialVisibleMonth = nextProps.initialVisibleMonth,
- numberOfMonths = nextProps.numberOfMonths,
- enableOutsideDays = nextProps.enableOutsideDays,
- orientation = nextProps.orientation,
- startDate = nextProps.startDate;
-
- var initialVisibleMonthThunk = initialVisibleMonth || (startDate ? function () {
- return startDate;
- } : function () {
- return _this6.today;
- });
- var currentMonth = initialVisibleMonthThunk();
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var visibleDays = this.getModifiers((0, _getVisibleDays2['default'])(currentMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths));
- return { currentMonth: currentMonth, visibleDays: visibleDays };
- }
-
- return getStateForNewMonth;
- }()
- }, {
- key: 'addModifier',
- value: function () {
- function addModifier(updatedDays, day, modifier) {
- var _props12 = this.props,
- numberOfVisibleMonths = _props12.numberOfMonths,
- enableOutsideDays = _props12.enableOutsideDays,
- orientation = _props12.orientation;
- var _state6 = this.state,
- firstVisibleMonth = _state6.currentMonth,
- visibleDays = _state6.visibleDays;
-
-
- var currentMonth = firstVisibleMonth;
- var numberOfMonths = numberOfVisibleMonths;
- if (orientation === _constants.VERTICAL_SCROLLABLE) {
- numberOfMonths = Object.keys(visibleDays).length;
- } else {
- currentMonth = currentMonth.clone().subtract(1, 'month');
- numberOfMonths += 2;
- }
- if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {
- return updatedDays;
- }
-
- var iso = (0, _toISODateString2['default'])(day);
-
- var updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDays);
- if (enableOutsideDays) {
- var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {
- return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;
- });
-
- updatedDaysAfterAddition = monthsToUpdate.reduce(function (days, monthIso) {
- var month = updatedDays[monthIso] || visibleDays[monthIso];
- var modifiers = new Set(month[iso]);
- modifiers.add(modifier);
- return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }, updatedDaysAfterAddition);
- } else {
- var monthIso = (0, _toISOMonthString2['default'])(day);
- var month = updatedDays[monthIso] || visibleDays[monthIso];
-
- var modifiers = new Set(month[iso]);
- modifiers.add(modifier);
- updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDaysAfterAddition, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }
-
- return updatedDaysAfterAddition;
- }
-
- return addModifier;
- }()
- }, {
- key: 'addModifierToRange',
- value: function () {
- function addModifierToRange(updatedDays, start, end, modifier) {
- var days = updatedDays;
-
- var spanStart = start.clone();
- while ((0, _isBeforeDay2['default'])(spanStart, end)) {
- days = this.addModifier(days, spanStart, modifier);
- spanStart = spanStart.clone().add(1, 'day');
- }
-
- return days;
- }
-
- return addModifierToRange;
- }()
- }, {
- key: 'deleteModifier',
- value: function () {
- function deleteModifier(updatedDays, day, modifier) {
- var _props13 = this.props,
- numberOfVisibleMonths = _props13.numberOfMonths,
- enableOutsideDays = _props13.enableOutsideDays,
- orientation = _props13.orientation;
- var _state7 = this.state,
- firstVisibleMonth = _state7.currentMonth,
- visibleDays = _state7.visibleDays;
-
- var currentMonth = firstVisibleMonth;
- var numberOfMonths = numberOfVisibleMonths;
- if (orientation === _constants.VERTICAL_SCROLLABLE) {
- numberOfMonths = Object.keys(visibleDays).length;
- } else {
- currentMonth = currentMonth.clone().subtract(1, 'month');
- numberOfMonths += 2;
- }
- if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {
- return updatedDays;
- }
-
- var iso = (0, _toISODateString2['default'])(day);
-
- var updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDays);
- if (enableOutsideDays) {
- var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {
- return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;
- });
-
- updatedDaysAfterDeletion = monthsToUpdate.reduce(function (days, monthIso) {
- var month = updatedDays[monthIso] || visibleDays[monthIso];
- var modifiers = new Set(month[iso]);
- modifiers['delete'](modifier);
- return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }, updatedDaysAfterDeletion);
- } else {
- var monthIso = (0, _toISOMonthString2['default'])(day);
- var month = updatedDays[monthIso] || visibleDays[monthIso];
-
- var modifiers = new Set(month[iso]);
- modifiers['delete'](modifier);
- updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDaysAfterDeletion, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }
-
- return updatedDaysAfterDeletion;
- }
-
- return deleteModifier;
- }()
- }, {
- key: 'deleteModifierFromRange',
- value: function () {
- function deleteModifierFromRange(updatedDays, start, end, modifier) {
- var days = updatedDays;
-
- var spanStart = start.clone();
- while ((0, _isBeforeDay2['default'])(spanStart, end)) {
- days = this.deleteModifier(days, spanStart, modifier);
- spanStart = spanStart.clone().add(1, 'day');
- }
-
- return days;
- }
-
- return deleteModifierFromRange;
- }()
- }, {
- key: 'doesNotMeetMinimumNights',
- value: function () {
- function doesNotMeetMinimumNights(day) {
- var _props14 = this.props,
- startDate = _props14.startDate,
- isOutsideRange = _props14.isOutsideRange,
- focusedInput = _props14.focusedInput,
- minimumNights = _props14.minimumNights;
-
- if (focusedInput !== _constants.END_DATE) return false;
-
- if (startDate) {
- var dayDiff = day.diff(startDate.clone().startOf('day').hour(12), 'days');
- return dayDiff < minimumNights && dayDiff >= 0;
- }
- return isOutsideRange((0, _moment2['default'])(day).subtract(minimumNights, 'days'));
- }
-
- return doesNotMeetMinimumNights;
- }()
- }, {
- key: 'isDayAfterHoveredStartDate',
- value: function () {
- function isDayAfterHoveredStartDate(day) {
- var _props15 = this.props,
- startDate = _props15.startDate,
- endDate = _props15.endDate,
- minimumNights = _props15.minimumNights;
-
- var _ref = this.state || {},
- hoverDate = _ref.hoverDate;
-
- return !!startDate && !endDate && !this.isBlocked(day) && (0, _isNextDay2['default'])(hoverDate, day) && minimumNights > 0 && (0, _isSameDay2['default'])(hoverDate, startDate);
- }
-
- return isDayAfterHoveredStartDate;
- }()
- }, {
- key: 'isEndDate',
- value: function () {
- function isEndDate(day) {
- var endDate = this.props.endDate;
-
- return (0, _isSameDay2['default'])(day, endDate);
- }
-
- return isEndDate;
- }()
- }, {
- key: 'isHovered',
- value: function () {
- function isHovered(day) {
- var _ref2 = this.state || {},
- hoverDate = _ref2.hoverDate;
-
- var focusedInput = this.props.focusedInput;
-
- return !!focusedInput && (0, _isSameDay2['default'])(day, hoverDate);
- }
-
- return isHovered;
- }()
- }, {
- key: 'isInHoveredSpan',
- value: function () {
- function isInHoveredSpan(day) {
- var _props16 = this.props,
- startDate = _props16.startDate,
- endDate = _props16.endDate;
-
- var _ref3 = this.state || {},
- hoverDate = _ref3.hoverDate;
-
- var isForwardRange = !!startDate && !endDate && (day.isBetween(startDate, hoverDate) || (0, _isSameDay2['default'])(hoverDate, day));
- var isBackwardRange = !!endDate && !startDate && (day.isBetween(hoverDate, endDate) || (0, _isSameDay2['default'])(hoverDate, day));
-
- var isValidDayHovered = hoverDate && !this.isBlocked(hoverDate);
-
- return (isForwardRange || isBackwardRange) && isValidDayHovered;
- }
-
- return isInHoveredSpan;
- }()
- }, {
- key: 'isInSelectedSpan',
- value: function () {
- function isInSelectedSpan(day) {
- var _props17 = this.props,
- startDate = _props17.startDate,
- endDate = _props17.endDate;
-
- return day.isBetween(startDate, endDate);
- }
-
- return isInSelectedSpan;
- }()
- }, {
- key: 'isLastInRange',
- value: function () {
- function isLastInRange(day) {
- var endDate = this.props.endDate;
-
- return this.isInSelectedSpan(day) && (0, _isNextDay2['default'])(day, endDate);
- }
-
- return isLastInRange;
- }()
- }, {
- key: 'isStartDate',
- value: function () {
- function isStartDate(day) {
- var startDate = this.props.startDate;
-
- return (0, _isSameDay2['default'])(day, startDate);
- }
-
- return isStartDate;
- }()
- }, {
- key: 'isBlocked',
- value: function () {
- function isBlocked(day) {
- var _props18 = this.props,
- isDayBlocked = _props18.isDayBlocked,
- isOutsideRange = _props18.isOutsideRange;
-
- return isDayBlocked(day) || isOutsideRange(day) || this.doesNotMeetMinimumNights(day);
- }
-
- return isBlocked;
- }()
- }, {
- key: 'isToday',
- value: function () {
- function isToday(day) {
- return (0, _isSameDay2['default'])(day, this.today);
- }
-
- return isToday;
- }()
- }, {
- key: 'isFirstDayOfWeek',
- value: function () {
- function isFirstDayOfWeek(day) {
- var firstDayOfWeek = this.props.firstDayOfWeek;
-
- return day.day() === (firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek());
- }
-
- return isFirstDayOfWeek;
- }()
- }, {
- key: 'isLastDayOfWeek',
- value: function () {
- function isLastDayOfWeek(day) {
- var firstDayOfWeek = this.props.firstDayOfWeek;
-
- return day.day() === ((firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek()) + 6) % 7;
- }
-
- return isLastDayOfWeek;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props19 = this.props,
- numberOfMonths = _props19.numberOfMonths,
- orientation = _props19.orientation,
- monthFormat = _props19.monthFormat,
- renderMonthText = _props19.renderMonthText,
- navPrev = _props19.navPrev,
- navNext = _props19.navNext,
- noNavButtons = _props19.noNavButtons,
- onOutsideClick = _props19.onOutsideClick,
- withPortal = _props19.withPortal,
- enableOutsideDays = _props19.enableOutsideDays,
- firstDayOfWeek = _props19.firstDayOfWeek,
- hideKeyboardShortcutsPanel = _props19.hideKeyboardShortcutsPanel,
- daySize = _props19.daySize,
- focusedInput = _props19.focusedInput,
- renderCalendarDay = _props19.renderCalendarDay,
- renderDayContents = _props19.renderDayContents,
- renderCalendarInfo = _props19.renderCalendarInfo,
- renderMonthElement = _props19.renderMonthElement,
- calendarInfoPosition = _props19.calendarInfoPosition,
- onBlur = _props19.onBlur,
- isFocused = _props19.isFocused,
- showKeyboardShortcuts = _props19.showKeyboardShortcuts,
- isRTL = _props19.isRTL,
- weekDayFormat = _props19.weekDayFormat,
- dayAriaLabelFormat = _props19.dayAriaLabelFormat,
- verticalHeight = _props19.verticalHeight,
- noBorder = _props19.noBorder,
- transitionDuration = _props19.transitionDuration,
- verticalBorderSpacing = _props19.verticalBorderSpacing,
- horizontalMonthPadding = _props19.horizontalMonthPadding;
- var _state8 = this.state,
- currentMonth = _state8.currentMonth,
- phrases = _state8.phrases,
- visibleDays = _state8.visibleDays;
-
-
- return _react2['default'].createElement(_DayPicker2['default'], {
- orientation: orientation,
- enableOutsideDays: enableOutsideDays,
- modifiers: visibleDays,
- numberOfMonths: numberOfMonths,
- onDayClick: this.onDayClick,
- onDayMouseEnter: this.onDayMouseEnter,
- onDayMouseLeave: this.onDayMouseLeave,
- onPrevMonthClick: this.onPrevMonthClick,
- onNextMonthClick: this.onNextMonthClick,
- onMonthChange: this.onMonthChange,
- onYearChange: this.onYearChange,
- onMultiplyScrollableMonths: this.onMultiplyScrollableMonths,
- monthFormat: monthFormat,
- renderMonthText: renderMonthText,
- withPortal: withPortal,
- hidden: !focusedInput,
- initialVisibleMonth: function () {
- function initialVisibleMonth() {
- return currentMonth;
- }
-
- return initialVisibleMonth;
- }(),
- daySize: daySize,
- onOutsideClick: onOutsideClick,
- navPrev: navPrev,
- navNext: navNext,
- noNavButtons: noNavButtons,
- renderCalendarDay: renderCalendarDay,
- renderDayContents: renderDayContents,
- renderCalendarInfo: renderCalendarInfo,
- renderMonthElement: renderMonthElement,
- calendarInfoPosition: calendarInfoPosition,
- firstDayOfWeek: firstDayOfWeek,
- hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
- isFocused: isFocused,
- getFirstFocusableDay: this.getFirstFocusableDay,
- onBlur: onBlur,
- showKeyboardShortcuts: showKeyboardShortcuts,
- phrases: phrases,
- isRTL: isRTL,
- weekDayFormat: weekDayFormat,
- dayAriaLabelFormat: dayAriaLabelFormat,
- verticalHeight: verticalHeight,
- verticalBorderSpacing: verticalBorderSpacing,
- noBorder: noBorder,
- transitionDuration: transitionDuration,
- horizontalMonthPadding: horizontalMonthPadding
- });
- }
-
- return render;
- }()
- }]);
-
- return DayPickerRangeController;
-}(_react2['default'].Component);
-
-exports['default'] = DayPickerRangeController;
-
-
-DayPickerRangeController.propTypes = propTypes;
-DayPickerRangeController.defaultProps = defaultProps;
-
-/***/ }),
-/* 189 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(73);
-
-var implementation = __webpack_require__(190);
-var getPolyfill = __webpack_require__(191);
-var shim = __webpack_require__(324);
-
-var polyfill = getPolyfill();
-
-define(polyfill, {
- getPolyfill: getPolyfill,
- implementation: implementation,
- shim: shim
-});
-
-module.exports = polyfill;
-
-
-/***/ }),
-/* 190 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var ES = __webpack_require__(166);
-var has = __webpack_require__(91);
-var bind = __webpack_require__(74);
-var isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
-
-module.exports = function values(O) {
- var obj = ES.RequireObjectCoercible(O);
- var vals = [];
- for (var key in obj) {
- if (has(obj, key) && isEnumerable(obj, key)) {
- vals.push(obj[key]);
- }
- }
- return vals;
-};
-
-
-/***/ }),
-/* 191 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var implementation = __webpack_require__(190);
-
-module.exports = function getPolyfill() {
- return typeof Object.values === 'function' ? Object.values : implementation;
-};
-
-
-/***/ }),
-/* 192 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isNextDay;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _isSameDay = __webpack_require__(79);
-
-var _isSameDay2 = _interopRequireDefault(_isSameDay);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isNextDay(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- var nextDay = (0, _moment2['default'])(a).add(1, 'day');
- return (0, _isSameDay2['default'])(nextDay, b);
-}
-
-/***/ }),
-/* 193 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getVisibleDays;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _toISOMonthString = __webpack_require__(104);
-
-var _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function getVisibleDays(month, numberOfMonths, enableOutsideDays, withoutTransitionMonths) {
- if (!_moment2['default'].isMoment(month)) return {};
-
- var visibleDaysByMonth = {};
- var currentMonth = withoutTransitionMonths ? month.clone() : month.clone().subtract(1, 'month');
- for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) {
- var visibleDays = [];
-
- // set utc offset to get correct dates in future (when timezone changes)
- var baseDate = currentMonth.clone();
- var firstOfMonth = baseDate.clone().startOf('month').hour(12);
- var lastOfMonth = baseDate.clone().endOf('month').hour(12);
-
- var currentDay = firstOfMonth.clone();
-
- // days belonging to the previous month
- if (enableOutsideDays) {
- for (var j = 0; j < currentDay.weekday(); j += 1) {
- var prevDay = currentDay.clone().subtract(j + 1, 'day');
- visibleDays.unshift(prevDay);
- }
- }
-
- while (currentDay < lastOfMonth) {
- visibleDays.push(currentDay.clone());
- currentDay.add(1, 'day');
- }
-
- if (enableOutsideDays) {
- // weekday() returns the index of the day of the week according to the locale
- // this means if the week starts on Monday, weekday() will return 0 for a Monday date, not 1
- if (currentDay.weekday() !== 0) {
- // days belonging to the next month
- for (var k = currentDay.weekday(), count = 0; k < 7; k += 1, count += 1) {
- var nextDay = currentDay.clone().add(count, 'day');
- visibleDays.push(nextDay);
- }
- }
- }
-
- visibleDaysByMonth[(0, _toISOMonthString2['default'])(currentMonth)] = visibleDays;
- currentMonth = currentMonth.clone().add(1, 'month');
- }
-
- return visibleDaysByMonth;
-}
-
-/***/ }),
-/* 194 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _object3 = __webpack_require__(189);
-
-var _object4 = _interopRequireDefault(_object3);
-
-var _isTouchDevice = __webpack_require__(82);
-
-var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _isSameDay = __webpack_require__(79);
-
-var _isSameDay2 = _interopRequireDefault(_isSameDay);
-
-var _isAfterDay = __webpack_require__(106);
-
-var _isAfterDay2 = _interopRequireDefault(_isAfterDay);
-
-var _getVisibleDays = __webpack_require__(193);
-
-var _getVisibleDays2 = _interopRequireDefault(_getVisibleDays);
-
-var _isDayVisible = __webpack_require__(130);
-
-var _isDayVisible2 = _interopRequireDefault(_isDayVisible);
-
-var _toISODateString = __webpack_require__(102);
-
-var _toISODateString2 = _interopRequireDefault(_toISODateString);
-
-var _toISOMonthString = __webpack_require__(104);
-
-var _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);
-
-var _ScrollableOrientationShape = __webpack_require__(81);
-
-var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _CalendarInfoPositionShape = __webpack_require__(93);
-
-var _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);
-
-var _constants = __webpack_require__(39);
-
-var _DayPicker = __webpack_require__(131);
-
-var _DayPicker2 = _interopRequireDefault(_DayPicker);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
- date: _reactMomentProptypes2['default'].momentObj,
- onDateChange: _propTypes2['default'].func,
-
- focused: _propTypes2['default'].bool,
- onFocusChange: _propTypes2['default'].func,
- onClose: _propTypes2['default'].func,
-
- keepOpenOnDateSelect: _propTypes2['default'].bool,
- isOutsideRange: _propTypes2['default'].func,
- isDayBlocked: _propTypes2['default'].func,
- isDayHighlighted: _propTypes2['default'].func,
-
- // DayPicker props
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- enableOutsideDays: _propTypes2['default'].bool,
- numberOfMonths: _propTypes2['default'].number,
- orientation: _ScrollableOrientationShape2['default'],
- withPortal: _propTypes2['default'].bool,
- initialVisibleMonth: _propTypes2['default'].func,
- firstDayOfWeek: _DayOfWeekShape2['default'],
- hideKeyboardShortcutsPanel: _propTypes2['default'].bool,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- verticalHeight: _airbnbPropTypes.nonNegativeInteger,
- noBorder: _propTypes2['default'].bool,
- verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,
- transitionDuration: _airbnbPropTypes.nonNegativeInteger,
- horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,
-
- navPrev: _propTypes2['default'].node,
- navNext: _propTypes2['default'].node,
-
- onPrevMonthClick: _propTypes2['default'].func,
- onNextMonthClick: _propTypes2['default'].func,
- onOutsideClick: _propTypes2['default'].func,
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- renderCalendarInfo: _propTypes2['default'].func,
- calendarInfoPosition: _CalendarInfoPositionShape2['default'],
-
- // accessibility
- onBlur: _propTypes2['default'].func,
- isFocused: _propTypes2['default'].bool,
- showKeyboardShortcuts: _propTypes2['default'].bool,
-
- // i18n
- monthFormat: _propTypes2['default'].string,
- weekDayFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string,
-
- isRTL: _propTypes2['default'].bool
-});
-
-var defaultProps = {
- date: undefined, // TODO: use null
- onDateChange: function () {
- function onDateChange() {}
-
- return onDateChange;
- }(),
-
-
- focused: false,
- onFocusChange: function () {
- function onFocusChange() {}
-
- return onFocusChange;
- }(),
- onClose: function () {
- function onClose() {}
-
- return onClose;
- }(),
-
-
- keepOpenOnDateSelect: false,
- isOutsideRange: function () {
- function isOutsideRange() {}
-
- return isOutsideRange;
- }(),
- isDayBlocked: function () {
- function isDayBlocked() {}
-
- return isDayBlocked;
- }(),
- isDayHighlighted: function () {
- function isDayHighlighted() {}
-
- return isDayHighlighted;
- }(),
-
-
- // DayPicker props
- renderMonthText: null,
- enableOutsideDays: false,
- numberOfMonths: 1,
- orientation: _constants.HORIZONTAL_ORIENTATION,
- withPortal: false,
- hideKeyboardShortcutsPanel: false,
- initialVisibleMonth: null,
- firstDayOfWeek: null,
- daySize: _constants.DAY_SIZE,
- verticalHeight: null,
- noBorder: false,
- verticalBorderSpacing: undefined,
- transitionDuration: undefined,
- horizontalMonthPadding: 13,
-
- navPrev: null,
- navNext: null,
-
- onPrevMonthClick: function () {
- function onPrevMonthClick() {}
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: function () {
- function onNextMonthClick() {}
-
- return onNextMonthClick;
- }(),
- onOutsideClick: function () {
- function onOutsideClick() {}
-
- return onOutsideClick;
- }(),
-
-
- renderCalendarDay: undefined,
- renderDayContents: null,
- renderCalendarInfo: null,
- renderMonthElement: null,
- calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,
-
- // accessibility
- onBlur: function () {
- function onBlur() {}
-
- return onBlur;
- }(),
-
- isFocused: false,
- showKeyboardShortcuts: false,
-
- // i18n
- monthFormat: 'MMMM YYYY',
- weekDayFormat: 'dd',
- phrases: _defaultPhrases.DayPickerPhrases,
- dayAriaLabelFormat: undefined,
-
- isRTL: false
-};
-
-var DayPickerSingleDateController = function (_React$Component) {
- _inherits(DayPickerSingleDateController, _React$Component);
-
- function DayPickerSingleDateController(props) {
- _classCallCheck(this, DayPickerSingleDateController);
-
- var _this = _possibleConstructorReturn(this, (DayPickerSingleDateController.__proto__ || Object.getPrototypeOf(DayPickerSingleDateController)).call(this, props));
-
- _this.isTouchDevice = false;
- _this.today = (0, _moment2['default'])();
-
- _this.modifiers = {
- today: function () {
- function today(day) {
- return _this.isToday(day);
- }
-
- return today;
- }(),
- blocked: function () {
- function blocked(day) {
- return _this.isBlocked(day);
- }
-
- return blocked;
- }(),
- 'blocked-calendar': function () {
- function blockedCalendar(day) {
- return props.isDayBlocked(day);
- }
-
- return blockedCalendar;
- }(),
- 'blocked-out-of-range': function () {
- function blockedOutOfRange(day) {
- return props.isOutsideRange(day);
- }
-
- return blockedOutOfRange;
- }(),
- 'highlighted-calendar': function () {
- function highlightedCalendar(day) {
- return props.isDayHighlighted(day);
- }
-
- return highlightedCalendar;
- }(),
- valid: function () {
- function valid(day) {
- return !_this.isBlocked(day);
- }
-
- return valid;
- }(),
- hovered: function () {
- function hovered(day) {
- return _this.isHovered(day);
- }
-
- return hovered;
- }(),
- selected: function () {
- function selected(day) {
- return _this.isSelected(day);
- }
-
- return selected;
- }(),
- 'first-day-of-week': function () {
- function firstDayOfWeek(day) {
- return _this.isFirstDayOfWeek(day);
- }
-
- return firstDayOfWeek;
- }(),
- 'last-day-of-week': function () {
- function lastDayOfWeek(day) {
- return _this.isLastDayOfWeek(day);
- }
-
- return lastDayOfWeek;
- }()
- };
-
- var _this$getStateForNewM = _this.getStateForNewMonth(props),
- currentMonth = _this$getStateForNewM.currentMonth,
- visibleDays = _this$getStateForNewM.visibleDays;
-
- _this.state = {
- hoverDate: null,
- currentMonth: currentMonth,
- visibleDays: visibleDays
- };
-
- _this.onDayMouseEnter = _this.onDayMouseEnter.bind(_this);
- _this.onDayMouseLeave = _this.onDayMouseLeave.bind(_this);
- _this.onDayClick = _this.onDayClick.bind(_this);
-
- _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);
- _this.onNextMonthClick = _this.onNextMonthClick.bind(_this);
- _this.onMonthChange = _this.onMonthChange.bind(_this);
- _this.onYearChange = _this.onYearChange.bind(_this);
-
- _this.getFirstFocusableDay = _this.getFirstFocusableDay.bind(_this);
- return _this;
- }
-
- _createClass(DayPickerSingleDateController, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- this.isTouchDevice = (0, _isTouchDevice2['default'])();
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var _this2 = this;
-
- var date = nextProps.date,
- focused = nextProps.focused,
- isOutsideRange = nextProps.isOutsideRange,
- isDayBlocked = nextProps.isDayBlocked,
- isDayHighlighted = nextProps.isDayHighlighted,
- initialVisibleMonth = nextProps.initialVisibleMonth,
- numberOfMonths = nextProps.numberOfMonths,
- enableOutsideDays = nextProps.enableOutsideDays;
- var _props = this.props,
- prevIsOutsideRange = _props.isOutsideRange,
- prevIsDayBlocked = _props.isDayBlocked,
- prevIsDayHighlighted = _props.isDayHighlighted,
- prevNumberOfMonths = _props.numberOfMonths,
- prevEnableOutsideDays = _props.enableOutsideDays,
- prevInitialVisibleMonth = _props.initialVisibleMonth,
- prevFocused = _props.focused,
- prevDate = _props.date;
- var visibleDays = this.state.visibleDays;
-
-
- var recomputeOutsideRange = false;
- var recomputeDayBlocked = false;
- var recomputeDayHighlighted = false;
-
- if (isOutsideRange !== prevIsOutsideRange) {
- this.modifiers['blocked-out-of-range'] = function (day) {
- return isOutsideRange(day);
- };
- recomputeOutsideRange = true;
- }
-
- if (isDayBlocked !== prevIsDayBlocked) {
- this.modifiers['blocked-calendar'] = function (day) {
- return isDayBlocked(day);
- };
- recomputeDayBlocked = true;
- }
-
- if (isDayHighlighted !== prevIsDayHighlighted) {
- this.modifiers['highlighted-calendar'] = function (day) {
- return isDayHighlighted(day);
- };
- recomputeDayHighlighted = true;
- }
-
- var recomputePropModifiers = recomputeOutsideRange || recomputeDayBlocked || recomputeDayHighlighted;
-
- if (numberOfMonths !== prevNumberOfMonths || enableOutsideDays !== prevEnableOutsideDays || initialVisibleMonth !== prevInitialVisibleMonth && !prevFocused && focused) {
- var newMonthState = this.getStateForNewMonth(nextProps);
- var currentMonth = newMonthState.currentMonth;
- visibleDays = newMonthState.visibleDays;
-
- this.setState({
- currentMonth: currentMonth,
- visibleDays: visibleDays
- });
- }
-
- var didDateChange = date !== prevDate;
- var didFocusChange = focused !== prevFocused;
-
- var modifiers = {};
-
- if (didDateChange) {
- modifiers = this.deleteModifier(modifiers, prevDate, 'selected');
- modifiers = this.addModifier(modifiers, date, 'selected');
- }
-
- if (didFocusChange || recomputePropModifiers) {
- (0, _object4['default'])(visibleDays).forEach(function (days) {
- Object.keys(days).forEach(function (day) {
- var momentObj = (0, _moment2['default'])(day);
- if (_this2.isBlocked(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'blocked');
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked');
- }
-
- if (didFocusChange || recomputeOutsideRange) {
- if (isOutsideRange(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-out-of-range');
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-out-of-range');
- }
- }
-
- if (didFocusChange || recomputeDayBlocked) {
- if (isDayBlocked(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-calendar');
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-calendar');
- }
- }
-
- if (didFocusChange || recomputeDayHighlighted) {
- if (isDayHighlighted(momentObj)) {
- modifiers = _this2.addModifier(modifiers, momentObj, 'highlighted-calendar');
- } else {
- modifiers = _this2.deleteModifier(modifiers, momentObj, 'highlighted-calendar');
- }
- }
- });
- });
- }
-
- var today = (0, _moment2['default'])();
- if (!(0, _isSameDay2['default'])(this.today, today)) {
- modifiers = this.deleteModifier(modifiers, this.today, 'today');
- modifiers = this.addModifier(modifiers, today, 'today');
- this.today = today;
- }
-
- if (Object.keys(modifiers).length > 0) {
- this.setState({
- visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)
- });
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'componentWillUpdate',
- value: function () {
- function componentWillUpdate() {
- this.today = (0, _moment2['default'])();
- }
-
- return componentWillUpdate;
- }()
- }, {
- key: 'onDayClick',
- value: function () {
- function onDayClick(day, e) {
- if (e) e.preventDefault();
- if (this.isBlocked(day)) return;
- var _props2 = this.props,
- onDateChange = _props2.onDateChange,
- keepOpenOnDateSelect = _props2.keepOpenOnDateSelect,
- onFocusChange = _props2.onFocusChange,
- onClose = _props2.onClose;
-
-
- onDateChange(day);
- if (!keepOpenOnDateSelect) {
- onFocusChange({ focused: false });
- onClose({ date: day });
- }
- }
-
- return onDayClick;
- }()
- }, {
- key: 'onDayMouseEnter',
- value: function () {
- function onDayMouseEnter(day) {
- if (this.isTouchDevice) return;
- var _state = this.state,
- hoverDate = _state.hoverDate,
- visibleDays = _state.visibleDays;
-
-
- var modifiers = this.deleteModifier({}, hoverDate, 'hovered');
- modifiers = this.addModifier(modifiers, day, 'hovered');
-
- this.setState({
- hoverDate: day,
- visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)
- });
- }
-
- return onDayMouseEnter;
- }()
- }, {
- key: 'onDayMouseLeave',
- value: function () {
- function onDayMouseLeave() {
- var _state2 = this.state,
- hoverDate = _state2.hoverDate,
- visibleDays = _state2.visibleDays;
-
- if (this.isTouchDevice || !hoverDate) return;
-
- var modifiers = this.deleteModifier({}, hoverDate, 'hovered');
-
- this.setState({
- hoverDate: null,
- visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)
- });
- }
-
- return onDayMouseLeave;
- }()
- }, {
- key: 'onPrevMonthClick',
- value: function () {
- function onPrevMonthClick() {
- var _props3 = this.props,
- onPrevMonthClick = _props3.onPrevMonthClick,
- numberOfMonths = _props3.numberOfMonths,
- enableOutsideDays = _props3.enableOutsideDays;
- var _state3 = this.state,
- currentMonth = _state3.currentMonth,
- visibleDays = _state3.visibleDays;
-
-
- var newVisibleDays = {};
- Object.keys(visibleDays).sort().slice(0, numberOfMonths + 1).forEach(function (month) {
- newVisibleDays[month] = visibleDays[month];
- });
-
- var prevMonth = currentMonth.clone().subtract(1, 'month');
- var prevMonthVisibleDays = (0, _getVisibleDays2['default'])(prevMonth, 1, enableOutsideDays);
-
- this.setState({
- currentMonth: prevMonth,
- visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(prevMonthVisibleDays))
- }, function () {
- onPrevMonthClick(prevMonth.clone());
- });
- }
-
- return onPrevMonthClick;
- }()
- }, {
- key: 'onNextMonthClick',
- value: function () {
- function onNextMonthClick() {
- var _props4 = this.props,
- onNextMonthClick = _props4.onNextMonthClick,
- numberOfMonths = _props4.numberOfMonths,
- enableOutsideDays = _props4.enableOutsideDays;
- var _state4 = this.state,
- currentMonth = _state4.currentMonth,
- visibleDays = _state4.visibleDays;
-
-
- var newVisibleDays = {};
- Object.keys(visibleDays).sort().slice(1).forEach(function (month) {
- newVisibleDays[month] = visibleDays[month];
- });
-
- var nextMonth = currentMonth.clone().add(numberOfMonths, 'month');
- var nextMonthVisibleDays = (0, _getVisibleDays2['default'])(nextMonth, 1, enableOutsideDays);
-
- var newCurrentMonth = currentMonth.clone().add(1, 'month');
- this.setState({
- currentMonth: newCurrentMonth,
- visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(nextMonthVisibleDays))
- }, function () {
- onNextMonthClick(newCurrentMonth.clone());
- });
- }
-
- return onNextMonthClick;
- }()
- }, {
- key: 'onMonthChange',
- value: function () {
- function onMonthChange(newMonth) {
- var _props5 = this.props,
- numberOfMonths = _props5.numberOfMonths,
- enableOutsideDays = _props5.enableOutsideDays,
- orientation = _props5.orientation;
-
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);
-
- this.setState({
- currentMonth: newMonth.clone(),
- visibleDays: this.getModifiers(newVisibleDays)
- });
- }
-
- return onMonthChange;
- }()
- }, {
- key: 'onYearChange',
- value: function () {
- function onYearChange(newMonth) {
- var _props6 = this.props,
- numberOfMonths = _props6.numberOfMonths,
- enableOutsideDays = _props6.enableOutsideDays,
- orientation = _props6.orientation;
-
- var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;
- var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);
-
- this.setState({
- currentMonth: newMonth.clone(),
- visibleDays: this.getModifiers(newVisibleDays)
- });
- }
-
- return onYearChange;
- }()
- }, {
- key: 'getFirstFocusableDay',
- value: function () {
- function getFirstFocusableDay(newMonth) {
- var _this3 = this;
-
- var _props7 = this.props,
- date = _props7.date,
- numberOfMonths = _props7.numberOfMonths;
-
-
- var focusedDate = newMonth.clone().startOf('month');
- if (date) {
- focusedDate = date.clone();
- }
-
- if (this.isBlocked(focusedDate)) {
- var days = [];
- var lastVisibleDay = newMonth.clone().add(numberOfMonths - 1, 'months').endOf('month');
- var currentDay = focusedDate.clone();
- while (!(0, _isAfterDay2['default'])(currentDay, lastVisibleDay)) {
- currentDay = currentDay.clone().add(1, 'day');
- days.push(currentDay);
- }
-
- var viableDays = days.filter(function (day) {
- return !_this3.isBlocked(day) && (0, _isAfterDay2['default'])(day, focusedDate);
- });
- if (viableDays.length > 0) {
- var _viableDays = _slicedToArray(viableDays, 1);
-
- focusedDate = _viableDays[0];
- }
- }
-
- return focusedDate;
- }
-
- return getFirstFocusableDay;
- }()
- }, {
- key: 'getModifiers',
- value: function () {
- function getModifiers(visibleDays) {
- var _this4 = this;
-
- var modifiers = {};
- Object.keys(visibleDays).forEach(function (month) {
- modifiers[month] = {};
- visibleDays[month].forEach(function (day) {
- modifiers[month][(0, _toISODateString2['default'])(day)] = _this4.getModifiersForDay(day);
- });
- });
-
- return modifiers;
- }
-
- return getModifiers;
- }()
- }, {
- key: 'getModifiersForDay',
- value: function () {
- function getModifiersForDay(day) {
- var _this5 = this;
-
- return new Set(Object.keys(this.modifiers).filter(function (modifier) {
- return _this5.modifiers[modifier](day);
- }));
- }
-
- return getModifiersForDay;
- }()
- }, {
- key: 'getStateForNewMonth',
- value: function () {
- function getStateForNewMonth(nextProps) {
- var _this6 = this;
-
- var initialVisibleMonth = nextProps.initialVisibleMonth,
- date = nextProps.date,
- numberOfMonths = nextProps.numberOfMonths,
- enableOutsideDays = nextProps.enableOutsideDays;
-
- var initialVisibleMonthThunk = initialVisibleMonth || (date ? function () {
- return date;
- } : function () {
- return _this6.today;
- });
- var currentMonth = initialVisibleMonthThunk();
- var visibleDays = this.getModifiers((0, _getVisibleDays2['default'])(currentMonth, numberOfMonths, enableOutsideDays));
- return { currentMonth: currentMonth, visibleDays: visibleDays };
- }
-
- return getStateForNewMonth;
- }()
- }, {
- key: 'addModifier',
- value: function () {
- function addModifier(updatedDays, day, modifier) {
- var _props8 = this.props,
- numberOfVisibleMonths = _props8.numberOfMonths,
- enableOutsideDays = _props8.enableOutsideDays,
- orientation = _props8.orientation;
- var _state5 = this.state,
- firstVisibleMonth = _state5.currentMonth,
- visibleDays = _state5.visibleDays;
-
-
- var currentMonth = firstVisibleMonth;
- var numberOfMonths = numberOfVisibleMonths;
- if (orientation === _constants.VERTICAL_SCROLLABLE) {
- numberOfMonths = Object.keys(visibleDays).length;
- } else {
- currentMonth = currentMonth.clone().subtract(1, 'month');
- numberOfMonths += 2;
- }
- if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {
- return updatedDays;
- }
-
- var iso = (0, _toISODateString2['default'])(day);
-
- var updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDays);
- if (enableOutsideDays) {
- var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {
- return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;
- });
-
- updatedDaysAfterAddition = monthsToUpdate.reduce(function (days, monthIso) {
- var month = updatedDays[monthIso] || visibleDays[monthIso];
- var modifiers = new Set(month[iso]);
- modifiers.add(modifier);
- return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }, updatedDaysAfterAddition);
- } else {
- var monthIso = (0, _toISOMonthString2['default'])(day);
- var month = updatedDays[monthIso] || visibleDays[monthIso];
-
- var modifiers = new Set(month[iso]);
- modifiers.add(modifier);
- updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDaysAfterAddition, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }
-
- return updatedDaysAfterAddition;
- }
-
- return addModifier;
- }()
- }, {
- key: 'deleteModifier',
- value: function () {
- function deleteModifier(updatedDays, day, modifier) {
- var _props9 = this.props,
- numberOfVisibleMonths = _props9.numberOfMonths,
- enableOutsideDays = _props9.enableOutsideDays,
- orientation = _props9.orientation;
- var _state6 = this.state,
- firstVisibleMonth = _state6.currentMonth,
- visibleDays = _state6.visibleDays;
-
-
- var currentMonth = firstVisibleMonth;
- var numberOfMonths = numberOfVisibleMonths;
- if (orientation === _constants.VERTICAL_SCROLLABLE) {
- numberOfMonths = Object.keys(visibleDays).length;
- } else {
- currentMonth = currentMonth.clone().subtract(1, 'month');
- numberOfMonths += 2;
- }
- if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {
- return updatedDays;
- }
-
- var iso = (0, _toISODateString2['default'])(day);
-
- var updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDays);
- if (enableOutsideDays) {
- var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {
- return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;
- });
-
- updatedDaysAfterDeletion = monthsToUpdate.reduce(function (days, monthIso) {
- var month = updatedDays[monthIso] || visibleDays[monthIso];
- var modifiers = new Set(month[iso]);
- modifiers['delete'](modifier);
- return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }, updatedDaysAfterDeletion);
- } else {
- var monthIso = (0, _toISOMonthString2['default'])(day);
- var month = updatedDays[monthIso] || visibleDays[monthIso];
-
- var modifiers = new Set(month[iso]);
- modifiers['delete'](modifier);
- updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDaysAfterDeletion, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));
- }
-
- return updatedDaysAfterDeletion;
- }
-
- return deleteModifier;
- }()
- }, {
- key: 'isBlocked',
- value: function () {
- function isBlocked(day) {
- var _props10 = this.props,
- isDayBlocked = _props10.isDayBlocked,
- isOutsideRange = _props10.isOutsideRange;
-
- return isDayBlocked(day) || isOutsideRange(day);
- }
-
- return isBlocked;
- }()
- }, {
- key: 'isHovered',
- value: function () {
- function isHovered(day) {
- var _ref = this.state || {},
- hoverDate = _ref.hoverDate;
-
- return (0, _isSameDay2['default'])(day, hoverDate);
- }
-
- return isHovered;
- }()
- }, {
- key: 'isSelected',
- value: function () {
- function isSelected(day) {
- var date = this.props.date;
-
- return (0, _isSameDay2['default'])(day, date);
- }
-
- return isSelected;
- }()
- }, {
- key: 'isToday',
- value: function () {
- function isToday(day) {
- return (0, _isSameDay2['default'])(day, this.today);
- }
-
- return isToday;
- }()
- }, {
- key: 'isFirstDayOfWeek',
- value: function () {
- function isFirstDayOfWeek(day) {
- var firstDayOfWeek = this.props.firstDayOfWeek;
-
- return day.day() === (firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek());
- }
-
- return isFirstDayOfWeek;
- }()
- }, {
- key: 'isLastDayOfWeek',
- value: function () {
- function isLastDayOfWeek(day) {
- var firstDayOfWeek = this.props.firstDayOfWeek;
-
- return day.day() === ((firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek()) + 6) % 7;
- }
-
- return isLastDayOfWeek;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props11 = this.props,
- numberOfMonths = _props11.numberOfMonths,
- orientation = _props11.orientation,
- monthFormat = _props11.monthFormat,
- renderMonthText = _props11.renderMonthText,
- navPrev = _props11.navPrev,
- navNext = _props11.navNext,
- onOutsideClick = _props11.onOutsideClick,
- withPortal = _props11.withPortal,
- focused = _props11.focused,
- enableOutsideDays = _props11.enableOutsideDays,
- hideKeyboardShortcutsPanel = _props11.hideKeyboardShortcutsPanel,
- daySize = _props11.daySize,
- firstDayOfWeek = _props11.firstDayOfWeek,
- renderCalendarDay = _props11.renderCalendarDay,
- renderDayContents = _props11.renderDayContents,
- renderCalendarInfo = _props11.renderCalendarInfo,
- renderMonthElement = _props11.renderMonthElement,
- calendarInfoPosition = _props11.calendarInfoPosition,
- isFocused = _props11.isFocused,
- isRTL = _props11.isRTL,
- phrases = _props11.phrases,
- dayAriaLabelFormat = _props11.dayAriaLabelFormat,
- onBlur = _props11.onBlur,
- showKeyboardShortcuts = _props11.showKeyboardShortcuts,
- weekDayFormat = _props11.weekDayFormat,
- verticalHeight = _props11.verticalHeight,
- noBorder = _props11.noBorder,
- transitionDuration = _props11.transitionDuration,
- verticalBorderSpacing = _props11.verticalBorderSpacing,
- horizontalMonthPadding = _props11.horizontalMonthPadding;
- var _state7 = this.state,
- currentMonth = _state7.currentMonth,
- visibleDays = _state7.visibleDays;
-
-
- return _react2['default'].createElement(_DayPicker2['default'], {
- orientation: orientation,
- enableOutsideDays: enableOutsideDays,
- modifiers: visibleDays,
- numberOfMonths: numberOfMonths,
- onDayClick: this.onDayClick,
- onDayMouseEnter: this.onDayMouseEnter,
- onDayMouseLeave: this.onDayMouseLeave,
- onPrevMonthClick: this.onPrevMonthClick,
- onNextMonthClick: this.onNextMonthClick,
- onMonthChange: this.onMonthChange,
- onYearChange: this.onYearChange,
- monthFormat: monthFormat,
- withPortal: withPortal,
- hidden: !focused,
- hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
- initialVisibleMonth: function () {
- function initialVisibleMonth() {
- return currentMonth;
- }
-
- return initialVisibleMonth;
- }(),
- firstDayOfWeek: firstDayOfWeek,
- onOutsideClick: onOutsideClick,
- navPrev: navPrev,
- navNext: navNext,
- renderMonthText: renderMonthText,
- renderCalendarDay: renderCalendarDay,
- renderDayContents: renderDayContents,
- renderCalendarInfo: renderCalendarInfo,
- renderMonthElement: renderMonthElement,
- calendarInfoPosition: calendarInfoPosition,
- isFocused: isFocused,
- getFirstFocusableDay: this.getFirstFocusableDay,
- onBlur: onBlur,
- phrases: phrases,
- daySize: daySize,
- isRTL: isRTL,
- showKeyboardShortcuts: showKeyboardShortcuts,
- weekDayFormat: weekDayFormat,
- dayAriaLabelFormat: dayAriaLabelFormat,
- verticalHeight: verticalHeight,
- noBorder: noBorder,
- transitionDuration: transitionDuration,
- verticalBorderSpacing: verticalBorderSpacing,
- horizontalMonthPadding: horizontalMonthPadding
- });
- }
-
- return render;
- }()
- }]);
-
- return DayPickerSingleDateController;
-}(_react2['default'].Component);
-
-exports['default'] = DayPickerSingleDateController;
-
-
-DayPickerSingleDateController.propTypes = propTypes;
-DayPickerSingleDateController.defaultProps = defaultProps;
-
-/***/ }),
-/* 195 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _IconPositionShape = __webpack_require__(92);
-
-var _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);
-
-var _OrientationShape = __webpack_require__(174);
-
-var _OrientationShape2 = _interopRequireDefault(_OrientationShape);
-
-var _AnchorDirectionShape = __webpack_require__(175);
-
-var _AnchorDirectionShape2 = _interopRequireDefault(_AnchorDirectionShape);
-
-var _OpenDirectionShape = __webpack_require__(83);
-
-var _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);
-
-var _DayOfWeekShape = __webpack_require__(75);
-
-var _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);
-
-var _CalendarInfoPositionShape = __webpack_require__(93);
-
-var _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = {
- // required props for a functional interactive SingleDatePicker
- date: _reactMomentProptypes2['default'].momentObj,
- onDateChange: _propTypes2['default'].func.isRequired,
-
- focused: _propTypes2['default'].bool,
- onFocusChange: _propTypes2['default'].func.isRequired,
-
- // input related props
- id: _propTypes2['default'].string.isRequired,
- placeholder: _propTypes2['default'].string,
- disabled: _propTypes2['default'].bool,
- required: _propTypes2['default'].bool,
- readOnly: _propTypes2['default'].bool,
- screenReaderInputMessage: _propTypes2['default'].string,
- showClearDate: _propTypes2['default'].bool,
- customCloseIcon: _propTypes2['default'].node,
- showDefaultInputIcon: _propTypes2['default'].bool,
- inputIconPosition: _IconPositionShape2['default'],
- customInputIcon: _propTypes2['default'].node,
- noBorder: _propTypes2['default'].bool,
- block: _propTypes2['default'].bool,
- small: _propTypes2['default'].bool,
- regular: _propTypes2['default'].bool,
- verticalSpacing: _airbnbPropTypes.nonNegativeInteger,
- keepFocusOnInput: _propTypes2['default'].bool,
-
- // calendar presentation and interaction related props
- renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),
- orientation: _OrientationShape2['default'],
- anchorDirection: _AnchorDirectionShape2['default'],
- openDirection: _OpenDirectionShape2['default'],
- horizontalMargin: _propTypes2['default'].number,
- withPortal: _propTypes2['default'].bool,
- withFullScreenPortal: _propTypes2['default'].bool,
- appendToBody: _propTypes2['default'].bool,
- disableScroll: _propTypes2['default'].bool,
- initialVisibleMonth: _propTypes2['default'].func,
- firstDayOfWeek: _DayOfWeekShape2['default'],
- numberOfMonths: _propTypes2['default'].number,
- keepOpenOnDateSelect: _propTypes2['default'].bool,
- reopenPickerOnClearDate: _propTypes2['default'].bool,
- renderCalendarInfo: _propTypes2['default'].func,
- calendarInfoPosition: _CalendarInfoPositionShape2['default'],
- hideKeyboardShortcutsPanel: _propTypes2['default'].bool,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- isRTL: _propTypes2['default'].bool,
- verticalHeight: _airbnbPropTypes.nonNegativeInteger,
- transitionDuration: _airbnbPropTypes.nonNegativeInteger,
- horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,
-
- // navigation related props
- navPrev: _propTypes2['default'].node,
- navNext: _propTypes2['default'].node,
-
- onPrevMonthClick: _propTypes2['default'].func,
- onNextMonthClick: _propTypes2['default'].func,
- onClose: _propTypes2['default'].func,
-
- // day presentation and interaction related props
- renderCalendarDay: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- enableOutsideDays: _propTypes2['default'].bool,
- isDayBlocked: _propTypes2['default'].func,
- isOutsideRange: _propTypes2['default'].func,
- isDayHighlighted: _propTypes2['default'].func,
-
- // internationalization props
- displayFormat: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]),
- monthFormat: _propTypes2['default'].string,
- weekDayFormat: _propTypes2['default'].string,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.SingleDatePickerPhrases)),
- dayAriaLabelFormat: _propTypes2['default'].string
-};
-
-/***/ }),
-/* 196 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _DateInput = __webpack_require__(181);
-
-var _DateInput2 = _interopRequireDefault(_DateInput);
-
-var _IconPositionShape = __webpack_require__(92);
-
-var _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);
-
-var _CloseButton = __webpack_require__(96);
-
-var _CloseButton2 = _interopRequireDefault(_CloseButton);
-
-var _CalendarIcon = __webpack_require__(187);
-
-var _CalendarIcon2 = _interopRequireDefault(_CalendarIcon);
-
-var _OpenDirectionShape = __webpack_require__(83);
-
-var _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- id: _propTypes2['default'].string.isRequired,
- placeholder: _propTypes2['default'].string, // also used as label
- displayValue: _propTypes2['default'].string,
- screenReaderMessage: _propTypes2['default'].string,
- focused: _propTypes2['default'].bool,
- isFocused: _propTypes2['default'].bool, // describes actual DOM focus
- disabled: _propTypes2['default'].bool,
- required: _propTypes2['default'].bool,
- readOnly: _propTypes2['default'].bool,
- openDirection: _OpenDirectionShape2['default'],
- showCaret: _propTypes2['default'].bool,
- showClearDate: _propTypes2['default'].bool,
- customCloseIcon: _propTypes2['default'].node,
- showDefaultInputIcon: _propTypes2['default'].bool,
- inputIconPosition: _IconPositionShape2['default'],
- customInputIcon: _propTypes2['default'].node,
- isRTL: _propTypes2['default'].bool,
- noBorder: _propTypes2['default'].bool,
- block: _propTypes2['default'].bool,
- small: _propTypes2['default'].bool,
- regular: _propTypes2['default'].bool,
- verticalSpacing: _airbnbPropTypes.nonNegativeInteger,
-
- onChange: _propTypes2['default'].func,
- onClearDate: _propTypes2['default'].func,
- onFocus: _propTypes2['default'].func,
- onKeyDownShiftTab: _propTypes2['default'].func,
- onKeyDownTab: _propTypes2['default'].func,
- onKeyDownArrowDown: _propTypes2['default'].func,
- onKeyDownQuestionMark: _propTypes2['default'].func,
-
- // i18n
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.SingleDatePickerInputPhrases))
-}));
-
-var defaultProps = {
- placeholder: 'Select Date',
- displayValue: '',
- screenReaderMessage: '',
- focused: false,
- isFocused: false,
- disabled: false,
- required: false,
- readOnly: false,
- openDirection: _constants.OPEN_DOWN,
- showCaret: false,
- showClearDate: false,
- showDefaultInputIcon: false,
- inputIconPosition: _constants.ICON_BEFORE_POSITION,
- customCloseIcon: null,
- customInputIcon: null,
- isRTL: false,
- noBorder: false,
- block: false,
- small: false,
- regular: false,
- verticalSpacing: undefined,
-
- onChange: function () {
- function onChange() {}
-
- return onChange;
- }(),
- onClearDate: function () {
- function onClearDate() {}
-
- return onClearDate;
- }(),
- onFocus: function () {
- function onFocus() {}
-
- return onFocus;
- }(),
- onKeyDownShiftTab: function () {
- function onKeyDownShiftTab() {}
-
- return onKeyDownShiftTab;
- }(),
- onKeyDownTab: function () {
- function onKeyDownTab() {}
-
- return onKeyDownTab;
- }(),
- onKeyDownArrowDown: function () {
- function onKeyDownArrowDown() {}
-
- return onKeyDownArrowDown;
- }(),
- onKeyDownQuestionMark: function () {
- function onKeyDownQuestionMark() {}
-
- return onKeyDownQuestionMark;
- }(),
-
-
- // i18n
- phrases: _defaultPhrases.SingleDatePickerInputPhrases
-};
-
-/* eslint react/no-this-in-sfc: 1 */
-
-function SingleDatePickerInput(_ref) {
- var id = _ref.id,
- placeholder = _ref.placeholder,
- displayValue = _ref.displayValue,
- focused = _ref.focused,
- isFocused = _ref.isFocused,
- disabled = _ref.disabled,
- required = _ref.required,
- readOnly = _ref.readOnly,
- showCaret = _ref.showCaret,
- showClearDate = _ref.showClearDate,
- showDefaultInputIcon = _ref.showDefaultInputIcon,
- inputIconPosition = _ref.inputIconPosition,
- phrases = _ref.phrases,
- onClearDate = _ref.onClearDate,
- onChange = _ref.onChange,
- onFocus = _ref.onFocus,
- onKeyDownShiftTab = _ref.onKeyDownShiftTab,
- onKeyDownTab = _ref.onKeyDownTab,
- onKeyDownArrowDown = _ref.onKeyDownArrowDown,
- onKeyDownQuestionMark = _ref.onKeyDownQuestionMark,
- screenReaderMessage = _ref.screenReaderMessage,
- customCloseIcon = _ref.customCloseIcon,
- customInputIcon = _ref.customInputIcon,
- openDirection = _ref.openDirection,
- isRTL = _ref.isRTL,
- noBorder = _ref.noBorder,
- block = _ref.block,
- small = _ref.small,
- regular = _ref.regular,
- verticalSpacing = _ref.verticalSpacing,
- styles = _ref.styles;
-
- var calendarIcon = customInputIcon || _react2['default'].createElement(_CalendarIcon2['default'], (0, _reactWithStyles.css)(styles.SingleDatePickerInput_calendarIcon_svg));
- var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.SingleDatePickerInput_clearDate_svg, small && styles.SingleDatePickerInput_clearDate_svg__small));
-
- var screenReaderText = screenReaderMessage || phrases.keyboardNavigationInstructions;
- var inputIcon = (showDefaultInputIcon || customInputIcon !== null) && _react2['default'].createElement(
- 'button',
- _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePickerInput_calendarIcon), {
- type: 'button',
- disabled: disabled,
- 'aria-label': phrases.focusStartDate,
- onClick: onFocus
- }),
- calendarIcon
- );
-
- return _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(styles.SingleDatePickerInput, disabled && styles.SingleDatePickerInput__disabled, isRTL && styles.SingleDatePickerInput__rtl, !noBorder && styles.SingleDatePickerInput__withBorder, block && styles.SingleDatePickerInput__block, showClearDate && styles.SingleDatePickerInput__showClearDate),
- inputIconPosition === _constants.ICON_BEFORE_POSITION && inputIcon,
- _react2['default'].createElement(_DateInput2['default'], {
- id: id,
- placeholder: placeholder // also used as label
- , displayValue: displayValue,
- screenReaderMessage: screenReaderText,
- focused: focused,
- isFocused: isFocused,
- disabled: disabled,
- required: required,
- readOnly: readOnly,
- showCaret: showCaret,
- onChange: onChange,
- onFocus: onFocus,
- onKeyDownShiftTab: onKeyDownShiftTab,
- onKeyDownTab: onKeyDownTab,
- onKeyDownArrowDown: onKeyDownArrowDown,
- onKeyDownQuestionMark: onKeyDownQuestionMark,
- openDirection: openDirection,
- verticalSpacing: verticalSpacing,
- small: small,
- regular: regular,
- block: block
- }),
- showClearDate && _react2['default'].createElement(
- 'button',
- _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePickerInput_clearDate, small && styles.SingleDatePickerInput_clearDate__small, !customCloseIcon && styles.SingleDatePickerInput_clearDate__default, !displayValue && styles.SingleDatePickerInput_clearDate__hide), {
- type: 'button',
- 'aria-label': phrases.clearDate,
- disabled: disabled,
- onMouseEnter: this && this.onClearDateMouseEnter,
- onMouseLeave: this && this.onClearDateMouseLeave,
- onClick: onClearDate
- }),
- closeIcon
- ),
- inputIconPosition === _constants.ICON_AFTER_POSITION && inputIcon
- );
-}
-
-SingleDatePickerInput.propTypes = propTypes;
-SingleDatePickerInput.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var _ref2$reactDates = _ref2.reactDates,
- border = _ref2$reactDates.border,
- color = _ref2$reactDates.color;
- return {
- SingleDatePickerInput: {
- display: 'inline-block',
- backgroundColor: color.background
- },
-
- SingleDatePickerInput__withBorder: {
- borderColor: color.border,
- borderWidth: border.pickerInput.borderWidth,
- borderStyle: border.pickerInput.borderStyle,
- borderRadius: border.pickerInput.borderRadius
- },
-
- SingleDatePickerInput__rtl: {
- direction: 'rtl'
- },
-
- SingleDatePickerInput__disabled: {
- backgroundColor: color.disabled
- },
-
- SingleDatePickerInput__block: {
- display: 'block'
- },
-
- SingleDatePickerInput__showClearDate: {
- paddingRight: 30
- },
-
- SingleDatePickerInput_clearDate: {
- background: 'none',
- border: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
-
- cursor: 'pointer',
- padding: 10,
- margin: '0 10px 0 5px',
- position: 'absolute',
- right: 0,
- top: '50%',
- transform: 'translateY(-50%)'
- },
-
- SingleDatePickerInput_clearDate__default: {
- ':focus': {
- background: color.core.border,
- borderRadius: '50%'
- },
-
- ':hover': {
- background: color.core.border,
- borderRadius: '50%'
- }
- },
-
- SingleDatePickerInput_clearDate__small: {
- padding: 6
- },
-
- SingleDatePickerInput_clearDate__hide: {
- visibility: 'hidden'
- },
-
- SingleDatePickerInput_clearDate_svg: {
- fill: color.core.grayLight,
- height: 12,
- width: 15,
- verticalAlign: 'middle'
- },
-
- SingleDatePickerInput_clearDate_svg__small: {
- height: 9
- },
-
- SingleDatePickerInput_calendarIcon: {
- background: 'none',
- border: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
-
- cursor: 'pointer',
- display: 'inline-block',
- verticalAlign: 'middle',
- padding: 10,
- margin: '0 5px 0 10px'
- },
-
- SingleDatePickerInput_calendarIcon_svg: {
- fill: color.core.grayLight,
- height: 15,
- width: 14,
- verticalAlign: 'middle'
- }
- };
-})(SingleDatePickerInput);
-
-/***/ }),
-/* 197 */,
-/* 198 */,
-/* 199 */,
-/* 200 */,
-/* 201 */,
-/* 202 */,
-/* 203 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-
-// EXTERNAL MODULE: external "ReactDOM"
-var external_ReactDOM_ = __webpack_require__(52);
-var external_ReactDOM_default = /*#__PURE__*/__webpack_require__.n(external_ReactDOM_);
-
-// EXTERNAL MODULE: external "React"
-var external_React_ = __webpack_require__(27);
-var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_);
-
-// EXTERNAL MODULE: ./node_modules/prop-types/index.js
-var prop_types = __webpack_require__(31);
-var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types);
-
-// CONCATENATED MODULE: ./node_modules/react-portal/es/utils.js
-var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
-// CONCATENATED MODULE: ./node_modules/react-portal/es/Portal.js
-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; }; }();
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-
-
-
-
-
-var Portal_Portal = function (_React$Component) {
- _inherits(Portal, _React$Component);
-
- function Portal() {
- _classCallCheck(this, Portal);
-
- return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
- }
-
- _createClass(Portal, [{
- key: 'componentWillUnmount',
- value: function componentWillUnmount() {
- if (this.defaultNode) {
- document.body.removeChild(this.defaultNode);
- }
- this.defaultNode = null;
- }
- }, {
- key: 'render',
- value: function render() {
- if (!canUseDOM) {
- return null;
- }
- if (!this.props.node && !this.defaultNode) {
- this.defaultNode = document.createElement('div');
- document.body.appendChild(this.defaultNode);
- }
- return external_ReactDOM_default.a.createPortal(this.props.children, this.props.node || this.defaultNode);
- }
- }]);
-
- return Portal;
-}(external_React_default.a.Component);
-
-Portal_Portal.propTypes = {
- children: prop_types_default.a.node.isRequired,
- node: prop_types_default.a.any
-};
-
-/* harmony default export */ var es_Portal = (Portal_Portal);
-// CONCATENATED MODULE: ./node_modules/react-portal/es/LegacyPortal.js
-var LegacyPortal_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; }; }();
-
-function LegacyPortal_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function LegacyPortal_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; }
-
-function LegacyPortal_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; }
-
-// This file is a fallback for a consumer who is not yet on React 16
-// as createPortal was introduced in React 16
-
-
-
-
-
-var LegacyPortal_Portal = function (_React$Component) {
- LegacyPortal_inherits(Portal, _React$Component);
-
- function Portal() {
- LegacyPortal_classCallCheck(this, Portal);
-
- return LegacyPortal_possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));
- }
-
- LegacyPortal_createClass(Portal, [{
- key: 'componentDidMount',
- value: function componentDidMount() {
- this.renderPortal();
- }
- }, {
- key: 'componentDidUpdate',
- value: function componentDidUpdate(props) {
- this.renderPortal();
- }
- }, {
- key: 'componentWillUnmount',
- value: function componentWillUnmount() {
- external_ReactDOM_default.a.unmountComponentAtNode(this.defaultNode || this.props.node);
- if (this.defaultNode) {
- document.body.removeChild(this.defaultNode);
- }
- this.defaultNode = null;
- this.portal = null;
- }
- }, {
- key: 'renderPortal',
- value: function renderPortal(props) {
- if (!this.props.node && !this.defaultNode) {
- this.defaultNode = document.createElement('div');
- document.body.appendChild(this.defaultNode);
- }
-
- var children = this.props.children;
- // https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b
- if (typeof this.props.children.type === 'function') {
- children = external_React_default.a.cloneElement(this.props.children);
- }
-
- this.portal = external_ReactDOM_default.a.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);
- }
- }, {
- key: 'render',
- value: function render() {
- return null;
- }
- }]);
-
- return Portal;
-}(external_React_default.a.Component);
-
-/* harmony default export */ var LegacyPortal = (LegacyPortal_Portal);
-
-
-LegacyPortal_Portal.propTypes = {
- children: prop_types_default.a.node.isRequired,
- node: prop_types_default.a.any
-};
-// CONCATENATED MODULE: ./node_modules/react-portal/es/PortalCompat.js
-
-
-
-
-
-var PortalCompat_Portal = void 0;
-
-if (external_ReactDOM_default.a.createPortal) {
- PortalCompat_Portal = es_Portal;
-} else {
- PortalCompat_Portal = LegacyPortal;
-}
-
-/* harmony default export */ var PortalCompat = (PortalCompat_Portal);
-// CONCATENATED MODULE: ./node_modules/react-portal/es/PortalWithState.js
-var PortalWithState_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; }; }();
-
-function PortalWithState_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-function PortalWithState_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; }
-
-function PortalWithState_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; }
-
-
-
-
-
-var KEYCODES = {
- ESCAPE: 27
-};
-
-var PortalWithState_PortalWithState = function (_React$Component) {
- PortalWithState_inherits(PortalWithState, _React$Component);
-
- function PortalWithState(props) {
- PortalWithState_classCallCheck(this, PortalWithState);
-
- var _this = PortalWithState_possibleConstructorReturn(this, (PortalWithState.__proto__ || Object.getPrototypeOf(PortalWithState)).call(this, props));
-
- _this.portalNode = null;
- _this.state = { active: !!props.defaultOpen };
- _this.openPortal = _this.openPortal.bind(_this);
- _this.closePortal = _this.closePortal.bind(_this);
- _this.wrapWithPortal = _this.wrapWithPortal.bind(_this);
- _this.handleOutsideMouseClick = _this.handleOutsideMouseClick.bind(_this);
- _this.handleKeydown = _this.handleKeydown.bind(_this);
- return _this;
- }
-
- PortalWithState_createClass(PortalWithState, [{
- key: 'componentDidMount',
- value: function componentDidMount() {
- if (this.props.closeOnEsc) {
- document.addEventListener('keydown', this.handleKeydown);
- }
- if (this.props.closeOnOutsideClick) {
- document.addEventListener('click', this.handleOutsideMouseClick);
- }
- }
- }, {
- key: 'componentWillUnmount',
- value: function componentWillUnmount() {
- if (this.props.closeOnEsc) {
- document.removeEventListener('keydown', this.handleKeydown);
- }
- if (this.props.closeOnOutsideClick) {
- document.removeEventListener('click', this.handleOutsideMouseClick);
- }
- }
- }, {
- key: 'openPortal',
- value: function openPortal(e) {
- if (this.state.active) {
- return;
- }
- if (e && e.nativeEvent) {
- e.nativeEvent.stopImmediatePropagation();
- }
- this.setState({ active: true }, this.props.onOpen);
- }
- }, {
- key: 'closePortal',
- value: function closePortal() {
- if (!this.state.active) {
- return;
- }
- this.setState({ active: false }, this.props.onClose);
- }
- }, {
- key: 'wrapWithPortal',
- value: function wrapWithPortal(children) {
- var _this2 = this;
-
- if (!this.state.active) {
- return null;
- }
- return external_React_default.a.createElement(
- PortalCompat,
- {
- node: this.props.node,
- key: 'react-portal',
- ref: function ref(portalNode) {
- return _this2.portalNode = portalNode;
- }
- },
- children
- );
- }
- }, {
- key: 'handleOutsideMouseClick',
- value: function handleOutsideMouseClick(e) {
- if (!this.state.active) {
- return;
- }
- var root = this.portalNode.props.node || this.portalNode.defaultNode;
- if (!root || root.contains(e.target) || e.button && e.button !== 0) {
- return;
- }
- this.closePortal();
- }
- }, {
- key: 'handleKeydown',
- value: function handleKeydown(e) {
- if (e.keyCode === KEYCODES.ESCAPE && this.state.active) {
- this.closePortal();
- }
- }
- }, {
- key: 'render',
- value: function render() {
- return this.props.children({
- openPortal: this.openPortal,
- closePortal: this.closePortal,
- portal: this.wrapWithPortal,
- isOpen: this.state.active
- });
- }
- }]);
-
- return PortalWithState;
-}(external_React_default.a.Component);
-
-PortalWithState_PortalWithState.propTypes = {
- children: prop_types_default.a.func.isRequired,
- defaultOpen: prop_types_default.a.bool,
- node: prop_types_default.a.any,
- closeOnEsc: prop_types_default.a.bool,
- closeOnOutsideClick: prop_types_default.a.bool,
- onOpen: prop_types_default.a.func,
- onClose: prop_types_default.a.func
-};
-
-PortalWithState_PortalWithState.defaultProps = {
- onOpen: function onOpen() {},
- onClose: function onClose() {}
-};
-
-/* harmony default export */ var es_PortalWithState = (PortalWithState_PortalWithState);
-// CONCATENATED MODULE: ./node_modules/react-portal/es/index.js
-/* concated harmony reexport Portal */__webpack_require__.d(__webpack_exports__, "Portal", function() { return PortalCompat; });
-/* concated harmony reexport PortalWithState */__webpack_require__.d(__webpack_exports__, "PortalWithState", function() { return es_PortalWithState; });
-
-
-
-
-
-/***/ }),
-/* 204 */,
-/* 205 */,
-/* 206 */,
-/* 207 */,
-/* 208 */,
-/* 209 */,
-/* 210 */,
-/* 211 */,
-/* 212 */,
-/* 213 */,
-/* 214 */,
-/* 215 */,
-/* 216 */,
-/* 217 */,
-/* 218 */,
-/* 219 */,
-/* 220 */,
-/* 221 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/*!
- * clipboard.js v2.0.4
- * https://zenorocha.github.io/clipboard.js
- *
- * Licensed MIT © Zeno Rocha
- */
-(function webpackUniversalModuleDefinition(root, factory) {
- if(true)
- module.exports = factory();
- else {}
-})(this, function() {
-return /******/ (function(modules) { // webpackBootstrap
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {}
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
-var _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; }; }();
-
-var _clipboardAction = __webpack_require__(1);
-
-var _clipboardAction2 = _interopRequireDefault(_clipboardAction);
-
-var _tinyEmitter = __webpack_require__(3);
-
-var _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);
-
-var _goodListener = __webpack_require__(4);
-
-var _goodListener2 = _interopRequireDefault(_goodListener);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-/**
- * Base class which takes one or more elements, adds event listeners to them,
- * and instantiates a new `ClipboardAction` on each click.
- */
-var Clipboard = function (_Emitter) {
- _inherits(Clipboard, _Emitter);
-
- /**
- * @param {String|HTMLElement|HTMLCollection|NodeList} trigger
- * @param {Object} options
- */
- function Clipboard(trigger, options) {
- _classCallCheck(this, Clipboard);
-
- var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));
-
- _this.resolveOptions(options);
- _this.listenClick(trigger);
- return _this;
- }
-
- /**
- * Defines if attributes would be resolved using internal setter functions
- * or custom functions that were passed in the constructor.
- * @param {Object} options
- */
-
-
- _createClass(Clipboard, [{
- key: 'resolveOptions',
- value: function resolveOptions() {
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
- this.action = typeof options.action === 'function' ? options.action : this.defaultAction;
- this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;
- this.text = typeof options.text === 'function' ? options.text : this.defaultText;
- this.container = _typeof(options.container) === 'object' ? options.container : document.body;
- }
-
- /**
- * Adds a click event listener to the passed trigger.
- * @param {String|HTMLElement|HTMLCollection|NodeList} trigger
- */
-
- }, {
- key: 'listenClick',
- value: function listenClick(trigger) {
- var _this2 = this;
-
- this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {
- return _this2.onClick(e);
- });
- }
-
- /**
- * Defines a new `ClipboardAction` on each click event.
- * @param {Event} e
- */
-
- }, {
- key: 'onClick',
- value: function onClick(e) {
- var trigger = e.delegateTarget || e.currentTarget;
-
- if (this.clipboardAction) {
- this.clipboardAction = null;
- }
-
- this.clipboardAction = new _clipboardAction2.default({
- action: this.action(trigger),
- target: this.target(trigger),
- text: this.text(trigger),
- container: this.container,
- trigger: trigger,
- emitter: this
- });
- }
-
- /**
- * Default `action` lookup function.
- * @param {Element} trigger
- */
-
- }, {
- key: 'defaultAction',
- value: function defaultAction(trigger) {
- return getAttributeValue('action', trigger);
- }
-
- /**
- * Default `target` lookup function.
- * @param {Element} trigger
- */
-
- }, {
- key: 'defaultTarget',
- value: function defaultTarget(trigger) {
- var selector = getAttributeValue('target', trigger);
-
- if (selector) {
- return document.querySelector(selector);
- }
- }
-
- /**
- * Returns the support of the given action, or all actions if no action is
- * given.
- * @param {String} [action]
- */
-
- }, {
- key: 'defaultText',
-
-
- /**
- * Default `text` lookup function.
- * @param {Element} trigger
- */
- value: function defaultText(trigger) {
- return getAttributeValue('text', trigger);
- }
-
- /**
- * Destroy lifecycle.
- */
-
- }, {
- key: 'destroy',
- value: function destroy() {
- this.listener.destroy();
-
- if (this.clipboardAction) {
- this.clipboardAction.destroy();
- this.clipboardAction = null;
- }
- }
- }], [{
- key: 'isSupported',
- value: function isSupported() {
- var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];
-
- var actions = typeof action === 'string' ? [action] : action;
- var support = !!document.queryCommandSupported;
-
- actions.forEach(function (action) {
- support = support && !!document.queryCommandSupported(action);
- });
-
- return support;
- }
- }]);
-
- return Clipboard;
-}(_tinyEmitter2.default);
-
-/**
- * Helper function to retrieve attribute value.
- * @param {String} suffix
- * @param {Element} element
- */
-
-
-function getAttributeValue(suffix, element) {
- var attribute = 'data-clipboard-' + suffix;
-
- if (!element.hasAttribute(attribute)) {
- return;
- }
-
- return element.getAttribute(attribute);
-}
-
-module.exports = Clipboard;
-
-/***/ }),
-/* 1 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
-
-var _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; }; }();
-
-var _select = __webpack_require__(2);
-
-var _select2 = _interopRequireDefault(_select);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-/**
- * Inner class which performs selection from either `text` or `target`
- * properties and then executes copy or cut operations.
- */
-var ClipboardAction = function () {
- /**
- * @param {Object} options
- */
- function ClipboardAction(options) {
- _classCallCheck(this, ClipboardAction);
-
- this.resolveOptions(options);
- this.initSelection();
- }
-
- /**
- * Defines base properties passed from constructor.
- * @param {Object} options
- */
-
-
- _createClass(ClipboardAction, [{
- key: 'resolveOptions',
- value: function resolveOptions() {
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
- this.action = options.action;
- this.container = options.container;
- this.emitter = options.emitter;
- this.target = options.target;
- this.text = options.text;
- this.trigger = options.trigger;
-
- this.selectedText = '';
- }
-
- /**
- * Decides which selection strategy is going to be applied based
- * on the existence of `text` and `target` properties.
- */
-
- }, {
- key: 'initSelection',
- value: function initSelection() {
- if (this.text) {
- this.selectFake();
- } else if (this.target) {
- this.selectTarget();
- }
- }
-
- /**
- * Creates a fake textarea element, sets its value from `text` property,
- * and makes a selection on it.
- */
-
- }, {
- key: 'selectFake',
- value: function selectFake() {
- var _this = this;
-
- var isRTL = document.documentElement.getAttribute('dir') == 'rtl';
-
- this.removeFake();
-
- this.fakeHandlerCallback = function () {
- return _this.removeFake();
- };
- this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;
-
- this.fakeElem = document.createElement('textarea');
- // Prevent zooming on iOS
- this.fakeElem.style.fontSize = '12pt';
- // Reset box model
- this.fakeElem.style.border = '0';
- this.fakeElem.style.padding = '0';
- this.fakeElem.style.margin = '0';
- // Move element out of screen horizontally
- this.fakeElem.style.position = 'absolute';
- this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';
- // Move element to the same position vertically
- var yPosition = window.pageYOffset || document.documentElement.scrollTop;
- this.fakeElem.style.top = yPosition + 'px';
-
- this.fakeElem.setAttribute('readonly', '');
- this.fakeElem.value = this.text;
-
- this.container.appendChild(this.fakeElem);
-
- this.selectedText = (0, _select2.default)(this.fakeElem);
- this.copyText();
- }
-
- /**
- * Only removes the fake element after another click event, that way
- * a user can hit `Ctrl+C` to copy because selection still exists.
- */
-
- }, {
- key: 'removeFake',
- value: function removeFake() {
- if (this.fakeHandler) {
- this.container.removeEventListener('click', this.fakeHandlerCallback);
- this.fakeHandler = null;
- this.fakeHandlerCallback = null;
- }
-
- if (this.fakeElem) {
- this.container.removeChild(this.fakeElem);
- this.fakeElem = null;
- }
- }
-
- /**
- * Selects the content from element passed on `target` property.
- */
-
- }, {
- key: 'selectTarget',
- value: function selectTarget() {
- this.selectedText = (0, _select2.default)(this.target);
- this.copyText();
- }
-
- /**
- * Executes the copy operation based on the current selection.
- */
-
- }, {
- key: 'copyText',
- value: function copyText() {
- var succeeded = void 0;
-
- try {
- succeeded = document.execCommand(this.action);
- } catch (err) {
- succeeded = false;
- }
-
- this.handleResult(succeeded);
- }
-
- /**
- * Fires an event based on the copy operation result.
- * @param {Boolean} succeeded
- */
-
- }, {
- key: 'handleResult',
- value: function handleResult(succeeded) {
- this.emitter.emit(succeeded ? 'success' : 'error', {
- action: this.action,
- text: this.selectedText,
- trigger: this.trigger,
- clearSelection: this.clearSelection.bind(this)
- });
- }
-
- /**
- * Moves focus away from `target` and back to the trigger, removes current selection.
- */
-
- }, {
- key: 'clearSelection',
- value: function clearSelection() {
- if (this.trigger) {
- this.trigger.focus();
- }
-
- window.getSelection().removeAllRanges();
- }
-
- /**
- * Sets the `action` to be performed which can be either 'copy' or 'cut'.
- * @param {String} action
- */
-
- }, {
- key: 'destroy',
-
-
- /**
- * Destroy lifecycle.
- */
- value: function destroy() {
- this.removeFake();
- }
- }, {
- key: 'action',
- set: function set() {
- var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';
-
- this._action = action;
-
- if (this._action !== 'copy' && this._action !== 'cut') {
- throw new Error('Invalid "action" value, use either "copy" or "cut"');
- }
- }
-
- /**
- * Gets the `action` property.
- * @return {String}
- */
- ,
- get: function get() {
- return this._action;
- }
-
- /**
- * Sets the `target` property using an element
- * that will be have its content copied.
- * @param {Element} target
- */
-
- }, {
- key: 'target',
- set: function set(target) {
- if (target !== undefined) {
- if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {
- if (this.action === 'copy' && target.hasAttribute('disabled')) {
- throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
- }
-
- if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {
- throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
- }
-
- this._target = target;
- } else {
- throw new Error('Invalid "target" value, use a valid Element');
- }
- }
- }
-
- /**
- * Gets the `target` property.
- * @return {String|HTMLElement}
- */
- ,
- get: function get() {
- return this._target;
- }
- }]);
-
- return ClipboardAction;
-}();
-
-module.exports = ClipboardAction;
-
-/***/ }),
-/* 2 */
-/***/ (function(module, exports) {
-
-function select(element) {
- var selectedText;
-
- if (element.nodeName === 'SELECT') {
- element.focus();
-
- selectedText = element.value;
- }
- else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
- var isReadOnly = element.hasAttribute('readonly');
-
- if (!isReadOnly) {
- element.setAttribute('readonly', '');
- }
-
- element.select();
- element.setSelectionRange(0, element.value.length);
-
- if (!isReadOnly) {
- element.removeAttribute('readonly');
- }
-
- selectedText = element.value;
- }
- else {
- if (element.hasAttribute('contenteditable')) {
- element.focus();
- }
-
- var selection = window.getSelection();
- var range = document.createRange();
-
- range.selectNodeContents(element);
- selection.removeAllRanges();
- selection.addRange(range);
-
- selectedText = selection.toString();
- }
-
- return selectedText;
-}
-
-module.exports = select;
-
-
-/***/ }),
-/* 3 */
-/***/ (function(module, exports) {
-
-function E () {
- // Keep this empty so it's easier to inherit from
- // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)
-}
-
-E.prototype = {
- on: function (name, callback, ctx) {
- var e = this.e || (this.e = {});
-
- (e[name] || (e[name] = [])).push({
- fn: callback,
- ctx: ctx
- });
-
- return this;
- },
-
- once: function (name, callback, ctx) {
- var self = this;
- function listener () {
- self.off(name, listener);
- callback.apply(ctx, arguments);
- };
-
- listener._ = callback
- return this.on(name, listener, ctx);
- },
-
- emit: function (name) {
- var data = [].slice.call(arguments, 1);
- var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
- var i = 0;
- var len = evtArr.length;
-
- for (i; i < len; i++) {
- evtArr[i].fn.apply(evtArr[i].ctx, data);
- }
-
- return this;
- },
-
- off: function (name, callback) {
- var e = this.e || (this.e = {});
- var evts = e[name];
- var liveEvents = [];
-
- if (evts && callback) {
- for (var i = 0, len = evts.length; i < len; i++) {
- if (evts[i].fn !== callback && evts[i].fn._ !== callback)
- liveEvents.push(evts[i]);
- }
- }
-
- // Remove event from queue to prevent memory leak
- // Suggested by https://github.com/lazd
- // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
-
- (liveEvents.length)
- ? e[name] = liveEvents
- : delete e[name];
-
- return this;
- }
-};
-
-module.exports = E;
-
-
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var is = __webpack_require__(5);
-var delegate = __webpack_require__(6);
-
-/**
- * Validates all params and calls the right
- * listener function based on its target type.
- *
- * @param {String|HTMLElement|HTMLCollection|NodeList} target
- * @param {String} type
- * @param {Function} callback
- * @return {Object}
- */
-function listen(target, type, callback) {
- if (!target && !type && !callback) {
- throw new Error('Missing required arguments');
- }
-
- if (!is.string(type)) {
- throw new TypeError('Second argument must be a String');
- }
-
- if (!is.fn(callback)) {
- throw new TypeError('Third argument must be a Function');
- }
-
- if (is.node(target)) {
- return listenNode(target, type, callback);
- }
- else if (is.nodeList(target)) {
- return listenNodeList(target, type, callback);
- }
- else if (is.string(target)) {
- return listenSelector(target, type, callback);
- }
- else {
- throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');
- }
-}
-
-/**
- * Adds an event listener to a HTML element
- * and returns a remove listener function.
- *
- * @param {HTMLElement} node
- * @param {String} type
- * @param {Function} callback
- * @return {Object}
- */
-function listenNode(node, type, callback) {
- node.addEventListener(type, callback);
-
- return {
- destroy: function() {
- node.removeEventListener(type, callback);
- }
- }
-}
-
-/**
- * Add an event listener to a list of HTML elements
- * and returns a remove listener function.
- *
- * @param {NodeList|HTMLCollection} nodeList
- * @param {String} type
- * @param {Function} callback
- * @return {Object}
- */
-function listenNodeList(nodeList, type, callback) {
- Array.prototype.forEach.call(nodeList, function(node) {
- node.addEventListener(type, callback);
- });
-
- return {
- destroy: function() {
- Array.prototype.forEach.call(nodeList, function(node) {
- node.removeEventListener(type, callback);
- });
- }
- }
-}
-
-/**
- * Add an event listener to a selector
- * and returns a remove listener function.
- *
- * @param {String} selector
- * @param {String} type
- * @param {Function} callback
- * @return {Object}
- */
-function listenSelector(selector, type, callback) {
- return delegate(document.body, selector, type, callback);
-}
-
-module.exports = listen;
-
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports) {
-
-/**
- * Check if argument is a HTML element.
- *
- * @param {Object} value
- * @return {Boolean}
- */
-exports.node = function(value) {
- return value !== undefined
- && value instanceof HTMLElement
- && value.nodeType === 1;
-};
-
-/**
- * Check if argument is a list of HTML elements.
- *
- * @param {Object} value
- * @return {Boolean}
- */
-exports.nodeList = function(value) {
- var type = Object.prototype.toString.call(value);
-
- return value !== undefined
- && (type === '[object NodeList]' || type === '[object HTMLCollection]')
- && ('length' in value)
- && (value.length === 0 || exports.node(value[0]));
-};
-
-/**
- * Check if argument is a string.
- *
- * @param {Object} value
- * @return {Boolean}
- */
-exports.string = function(value) {
- return typeof value === 'string'
- || value instanceof String;
-};
-
-/**
- * Check if argument is a function.
- *
- * @param {Object} value
- * @return {Boolean}
- */
-exports.fn = function(value) {
- var type = Object.prototype.toString.call(value);
-
- return type === '[object Function]';
-};
-
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var closest = __webpack_require__(7);
-
-/**
- * Delegates event to a selector.
- *
- * @param {Element} element
- * @param {String} selector
- * @param {String} type
- * @param {Function} callback
- * @param {Boolean} useCapture
- * @return {Object}
- */
-function _delegate(element, selector, type, callback, useCapture) {
- var listenerFn = listener.apply(this, arguments);
-
- element.addEventListener(type, listenerFn, useCapture);
-
- return {
- destroy: function() {
- element.removeEventListener(type, listenerFn, useCapture);
- }
- }
-}
-
-/**
- * Delegates event to a selector.
- *
- * @param {Element|String|Array} [elements]
- * @param {String} selector
- * @param {String} type
- * @param {Function} callback
- * @param {Boolean} useCapture
- * @return {Object}
- */
-function delegate(elements, selector, type, callback, useCapture) {
- // Handle the regular Element usage
- if (typeof elements.addEventListener === 'function') {
- return _delegate.apply(null, arguments);
- }
-
- // Handle Element-less usage, it defaults to global delegation
- if (typeof type === 'function') {
- // Use `document` as the first parameter, then apply arguments
- // This is a short way to .unshift `arguments` without running into deoptimizations
- return _delegate.bind(null, document).apply(null, arguments);
- }
-
- // Handle Selector-based usage
- if (typeof elements === 'string') {
- elements = document.querySelectorAll(elements);
- }
-
- // Handle Array-like based usage
- return Array.prototype.map.call(elements, function (element) {
- return _delegate(element, selector, type, callback, useCapture);
- });
-}
-
-/**
- * Finds closest match and invokes callback.
- *
- * @param {Element} element
- * @param {String} selector
- * @param {String} type
- * @param {Function} callback
- * @return {Function}
- */
-function listener(element, selector, type, callback) {
- return function(e) {
- e.delegateTarget = closest(e.target, selector);
-
- if (e.delegateTarget) {
- callback.call(element, e);
- }
- }
-}
-
-module.exports = delegate;
-
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports) {
-
-var DOCUMENT_NODE_TYPE = 9;
-
-/**
- * A polyfill for Element.matches()
- */
-if (typeof Element !== 'undefined' && !Element.prototype.matches) {
- var proto = Element.prototype;
-
- proto.matches = proto.matchesSelector ||
- proto.mozMatchesSelector ||
- proto.msMatchesSelector ||
- proto.oMatchesSelector ||
- proto.webkitMatchesSelector;
-}
-
-/**
- * Finds the closest parent that matches a selector.
- *
- * @param {Element} element
- * @param {String} selector
- * @return {Function}
- */
-function closest (element, selector) {
- while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {
- if (typeof element.matches === 'function' &&
- element.matches(selector)) {
- return element;
- }
- element = element.parentNode;
- }
-}
-
-module.exports = closest;
-
-
-/***/ })
-/******/ ]);
-});
-
-/***/ }),
-/* 222 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var __WEBPACK_AMD_DEFINE_RESULT__;/*global define:false */
-/**
- * Copyright 2012-2017 Craig Campbell
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Mousetrap is a simple keyboard shortcut library for Javascript with
- * no external dependencies
- *
- * @version 1.6.3
- * @url craig.is/killing/mice
- */
-(function(window, document, undefined) {
-
- // Check if mousetrap is used inside browser, if not, return
- if (!window) {
- return;
- }
-
- /**
- * mapping of special keycodes to their corresponding keys
- *
- * everything in this dictionary cannot use keypress events
- * so it has to be here to map to the correct keycodes for
- * keyup/keydown events
- *
- * @type {Object}
- */
- var _MAP = {
- 8: 'backspace',
- 9: 'tab',
- 13: 'enter',
- 16: 'shift',
- 17: 'ctrl',
- 18: 'alt',
- 20: 'capslock',
- 27: 'esc',
- 32: 'space',
- 33: 'pageup',
- 34: 'pagedown',
- 35: 'end',
- 36: 'home',
- 37: 'left',
- 38: 'up',
- 39: 'right',
- 40: 'down',
- 45: 'ins',
- 46: 'del',
- 91: 'meta',
- 93: 'meta',
- 224: 'meta'
- };
-
- /**
- * mapping for special characters so they can support
- *
- * this dictionary is only used incase you want to bind a
- * keyup or keydown event to one of these keys
- *
- * @type {Object}
- */
- var _KEYCODE_MAP = {
- 106: '*',
- 107: '+',
- 109: '-',
- 110: '.',
- 111 : '/',
- 186: ';',
- 187: '=',
- 188: ',',
- 189: '-',
- 190: '.',
- 191: '/',
- 192: '`',
- 219: '[',
- 220: '\\',
- 221: ']',
- 222: '\''
- };
-
- /**
- * this is a mapping of keys that require shift on a US keypad
- * back to the non shift equivelents
- *
- * this is so you can use keyup events with these keys
- *
- * note that this will only work reliably on US keyboards
- *
- * @type {Object}
- */
- var _SHIFT_MAP = {
- '~': '`',
- '!': '1',
- '@': '2',
- '#': '3',
- '$': '4',
- '%': '5',
- '^': '6',
- '&': '7',
- '*': '8',
- '(': '9',
- ')': '0',
- '_': '-',
- '+': '=',
- ':': ';',
- '\"': '\'',
- '<': ',',
- '>': '.',
- '?': '/',
- '|': '\\'
- };
-
- /**
- * this is a list of special strings you can use to map
- * to modifier keys when you specify your keyboard shortcuts
- *
- * @type {Object}
- */
- var _SPECIAL_ALIASES = {
- 'option': 'alt',
- 'command': 'meta',
- 'return': 'enter',
- 'escape': 'esc',
- 'plus': '+',
- 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'
- };
-
- /**
- * variable to store the flipped version of _MAP from above
- * needed to check if we should use keypress or not when no action
- * is specified
- *
- * @type {Object|undefined}
- */
- var _REVERSE_MAP;
-
- /**
- * loop through the f keys, f1 to f19 and add them to the map
- * programatically
- */
- for (var i = 1; i < 20; ++i) {
- _MAP[111 + i] = 'f' + i;
- }
-
- /**
- * loop through to map numbers on the numeric keypad
- */
- for (i = 0; i <= 9; ++i) {
-
- // This needs to use a string cause otherwise since 0 is falsey
- // mousetrap will never fire for numpad 0 pressed as part of a keydown
- // event.
- //
- // @see https://github.com/ccampbell/mousetrap/pull/258
- _MAP[i + 96] = i.toString();
- }
-
- /**
- * cross browser add event method
- *
- * @param {Element|HTMLDocument} object
- * @param {string} type
- * @param {Function} callback
- * @returns void
- */
- function _addEvent(object, type, callback) {
- if (object.addEventListener) {
- object.addEventListener(type, callback, false);
- return;
- }
-
- object.attachEvent('on' + type, callback);
- }
-
- /**
- * takes the event and returns the key character
- *
- * @param {Event} e
- * @return {string}
- */
- function _characterFromEvent(e) {
-
- // for keypress events we should return the character as is
- if (e.type == 'keypress') {
- var character = String.fromCharCode(e.which);
-
- // if the shift key is not pressed then it is safe to assume
- // that we want the character to be lowercase. this means if
- // you accidentally have caps lock on then your key bindings
- // will continue to work
- //
- // the only side effect that might not be desired is if you
- // bind something like 'A' cause you want to trigger an
- // event when capital A is pressed caps lock will no longer
- // trigger the event. shift+a will though.
- if (!e.shiftKey) {
- character = character.toLowerCase();
- }
-
- return character;
- }
-
- // for non keypress events the special maps are needed
- if (_MAP[e.which]) {
- return _MAP[e.which];
- }
-
- if (_KEYCODE_MAP[e.which]) {
- return _KEYCODE_MAP[e.which];
- }
-
- // if it is not in the special map
-
- // with keydown and keyup events the character seems to always
- // come in as an uppercase character whether you are pressing shift
- // or not. we should make sure it is always lowercase for comparisons
- return String.fromCharCode(e.which).toLowerCase();
- }
-
- /**
- * checks if two arrays are equal
- *
- * @param {Array} modifiers1
- * @param {Array} modifiers2
- * @returns {boolean}
- */
- function _modifiersMatch(modifiers1, modifiers2) {
- return modifiers1.sort().join(',') === modifiers2.sort().join(',');
- }
-
- /**
- * takes a key event and figures out what the modifiers are
- *
- * @param {Event} e
- * @returns {Array}
- */
- function _eventModifiers(e) {
- var modifiers = [];
-
- if (e.shiftKey) {
- modifiers.push('shift');
- }
-
- if (e.altKey) {
- modifiers.push('alt');
- }
-
- if (e.ctrlKey) {
- modifiers.push('ctrl');
- }
-
- if (e.metaKey) {
- modifiers.push('meta');
- }
-
- return modifiers;
- }
-
- /**
- * prevents default for this event
- *
- * @param {Event} e
- * @returns void
- */
- function _preventDefault(e) {
- if (e.preventDefault) {
- e.preventDefault();
- return;
- }
-
- e.returnValue = false;
- }
-
- /**
- * stops propogation for this event
- *
- * @param {Event} e
- * @returns void
- */
- function _stopPropagation(e) {
- if (e.stopPropagation) {
- e.stopPropagation();
- return;
- }
-
- e.cancelBubble = true;
- }
-
- /**
- * determines if the keycode specified is a modifier key or not
- *
- * @param {string} key
- * @returns {boolean}
- */
- function _isModifier(key) {
- return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';
- }
-
- /**
- * reverses the map lookup so that we can look for specific keys
- * to see what can and can't use keypress
- *
- * @return {Object}
- */
- function _getReverseMap() {
- if (!_REVERSE_MAP) {
- _REVERSE_MAP = {};
- for (var key in _MAP) {
-
- // pull out the numeric keypad from here cause keypress should
- // be able to detect the keys from the character
- if (key > 95 && key < 112) {
- continue;
- }
-
- if (_MAP.hasOwnProperty(key)) {
- _REVERSE_MAP[_MAP[key]] = key;
- }
- }
- }
- return _REVERSE_MAP;
- }
-
- /**
- * picks the best action based on the key combination
- *
- * @param {string} key - character for key
- * @param {Array} modifiers
- * @param {string=} action passed in
- */
- function _pickBestAction(key, modifiers, action) {
-
- // if no action was picked in we should try to pick the one
- // that we think would work best for this key
- if (!action) {
- action = _getReverseMap()[key] ? 'keydown' : 'keypress';
- }
-
- // modifier keys don't work as expected with keypress,
- // switch to keydown
- if (action == 'keypress' && modifiers.length) {
- action = 'keydown';
- }
-
- return action;
- }
-
- /**
- * Converts from a string key combination to an array
- *
- * @param {string} combination like "command+shift+l"
- * @return {Array}
- */
- function _keysFromString(combination) {
- if (combination === '+') {
- return ['+'];
- }
-
- combination = combination.replace(/\+{2}/g, '+plus');
- return combination.split('+');
- }
-
- /**
- * Gets info for a specific key combination
- *
- * @param {string} combination key combination ("command+s" or "a" or "*")
- * @param {string=} action
- * @returns {Object}
- */
- function _getKeyInfo(combination, action) {
- var keys;
- var key;
- var i;
- var modifiers = [];
-
- // take the keys from this pattern and figure out what the actual
- // pattern is all about
- keys = _keysFromString(combination);
-
- for (i = 0; i < keys.length; ++i) {
- key = keys[i];
-
- // normalize key names
- if (_SPECIAL_ALIASES[key]) {
- key = _SPECIAL_ALIASES[key];
- }
-
- // if this is not a keypress event then we should
- // be smart about using shift keys
- // this will only work for US keyboards however
- if (action && action != 'keypress' && _SHIFT_MAP[key]) {
- key = _SHIFT_MAP[key];
- modifiers.push('shift');
- }
-
- // if this key is a modifier then add it to the list of modifiers
- if (_isModifier(key)) {
- modifiers.push(key);
- }
- }
-
- // depending on what the key combination is
- // we will try to pick the best event for it
- action = _pickBestAction(key, modifiers, action);
-
- return {
- key: key,
- modifiers: modifiers,
- action: action
- };
- }
-
- function _belongsTo(element, ancestor) {
- if (element === null || element === document) {
- return false;
- }
-
- if (element === ancestor) {
- return true;
- }
-
- return _belongsTo(element.parentNode, ancestor);
- }
-
- function Mousetrap(targetElement) {
- var self = this;
-
- targetElement = targetElement || document;
-
- if (!(self instanceof Mousetrap)) {
- return new Mousetrap(targetElement);
- }
-
- /**
- * element to attach key events to
- *
- * @type {Element}
- */
- self.target = targetElement;
-
- /**
- * a list of all the callbacks setup via Mousetrap.bind()
- *
- * @type {Object}
- */
- self._callbacks = {};
-
- /**
- * direct map of string combinations to callbacks used for trigger()
- *
- * @type {Object}
- */
- self._directMap = {};
-
- /**
- * keeps track of what level each sequence is at since multiple
- * sequences can start out with the same sequence
- *
- * @type {Object}
- */
- var _sequenceLevels = {};
-
- /**
- * variable to store the setTimeout call
- *
- * @type {null|number}
- */
- var _resetTimer;
-
- /**
- * temporary state where we will ignore the next keyup
- *
- * @type {boolean|string}
- */
- var _ignoreNextKeyup = false;
-
- /**
- * temporary state where we will ignore the next keypress
- *
- * @type {boolean}
- */
- var _ignoreNextKeypress = false;
-
- /**
- * are we currently inside of a sequence?
- * type of action ("keyup" or "keydown" or "keypress") or false
- *
- * @type {boolean|string}
- */
- var _nextExpectedAction = false;
-
- /**
- * resets all sequence counters except for the ones passed in
- *
- * @param {Object} doNotReset
- * @returns void
- */
- function _resetSequences(doNotReset) {
- doNotReset = doNotReset || {};
-
- var activeSequences = false,
- key;
-
- for (key in _sequenceLevels) {
- if (doNotReset[key]) {
- activeSequences = true;
- continue;
- }
- _sequenceLevels[key] = 0;
- }
-
- if (!activeSequences) {
- _nextExpectedAction = false;
- }
- }
-
- /**
- * finds all callbacks that match based on the keycode, modifiers,
- * and action
- *
- * @param {string} character
- * @param {Array} modifiers
- * @param {Event|Object} e
- * @param {string=} sequenceName - name of the sequence we are looking for
- * @param {string=} combination
- * @param {number=} level
- * @returns {Array}
- */
- function _getMatches(character, modifiers, e, sequenceName, combination, level) {
- var i;
- var callback;
- var matches = [];
- var action = e.type;
-
- // if there are no events related to this keycode
- if (!self._callbacks[character]) {
- return [];
- }
-
- // if a modifier key is coming up on its own we should allow it
- if (action == 'keyup' && _isModifier(character)) {
- modifiers = [character];
- }
-
- // loop through all callbacks for the key that was pressed
- // and see if any of them match
- for (i = 0; i < self._callbacks[character].length; ++i) {
- callback = self._callbacks[character][i];
-
- // if a sequence name is not specified, but this is a sequence at
- // the wrong level then move onto the next match
- if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {
- continue;
- }
-
- // if the action we are looking for doesn't match the action we got
- // then we should keep going
- if (action != callback.action) {
- continue;
- }
-
- // if this is a keypress event and the meta key and control key
- // are not pressed that means that we need to only look at the
- // character, otherwise check the modifiers as well
- //
- // chrome will not fire a keypress if meta or control is down
- // safari will fire a keypress if meta or meta+shift is down
- // firefox will fire a keypress if meta or control is down
- if ((action == 'keypress' && !e.metaKey && !e.ctrlKey) || _modifiersMatch(modifiers, callback.modifiers)) {
-
- // when you bind a combination or sequence a second time it
- // should overwrite the first one. if a sequenceName or
- // combination is specified in this call it does just that
- //
- // @todo make deleting its own method?
- var deleteCombo = !sequenceName && callback.combo == combination;
- var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;
- if (deleteCombo || deleteSequence) {
- self._callbacks[character].splice(i, 1);
- }
-
- matches.push(callback);
- }
- }
-
- return matches;
- }
-
- /**
- * actually calls the callback function
- *
- * if your callback function returns false this will use the jquery
- * convention - prevent default and stop propogation on the event
- *
- * @param {Function} callback
- * @param {Event} e
- * @returns void
- */
- function _fireCallback(callback, e, combo, sequence) {
-
- // if this event should not happen stop here
- if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {
- return;
- }
-
- if (callback(e, combo) === false) {
- _preventDefault(e);
- _stopPropagation(e);
- }
- }
-
- /**
- * handles a character key event
- *
- * @param {string} character
- * @param {Array} modifiers
- * @param {Event} e
- * @returns void
- */
- self._handleKey = function(character, modifiers, e) {
- var callbacks = _getMatches(character, modifiers, e);
- var i;
- var doNotReset = {};
- var maxLevel = 0;
- var processedSequenceCallback = false;
-
- // Calculate the maxLevel for sequences so we can only execute the longest callback sequence
- for (i = 0; i < callbacks.length; ++i) {
- if (callbacks[i].seq) {
- maxLevel = Math.max(maxLevel, callbacks[i].level);
- }
- }
-
- // loop through matching callbacks for this key event
- for (i = 0; i < callbacks.length; ++i) {
-
- // fire for all sequence callbacks
- // this is because if for example you have multiple sequences
- // bound such as "g i" and "g t" they both need to fire the
- // callback for matching g cause otherwise you can only ever
- // match the first one
- if (callbacks[i].seq) {
-
- // only fire callbacks for the maxLevel to prevent
- // subsequences from also firing
- //
- // for example 'a option b' should not cause 'option b' to fire
- // even though 'option b' is part of the other sequence
- //
- // any sequences that do not match here will be discarded
- // below by the _resetSequences call
- if (callbacks[i].level != maxLevel) {
- continue;
- }
-
- processedSequenceCallback = true;
-
- // keep a list of which sequences were matches for later
- doNotReset[callbacks[i].seq] = 1;
- _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);
- continue;
- }
-
- // if there were no sequence matches but we are still here
- // that means this is a regular match so we should fire that
- if (!processedSequenceCallback) {
- _fireCallback(callbacks[i].callback, e, callbacks[i].combo);
- }
- }
-
- // if the key you pressed matches the type of sequence without
- // being a modifier (ie "keyup" or "keypress") then we should
- // reset all sequences that were not matched by this event
- //
- // this is so, for example, if you have the sequence "h a t" and you
- // type "h e a r t" it does not match. in this case the "e" will
- // cause the sequence to reset
- //
- // modifier keys are ignored because you can have a sequence
- // that contains modifiers such as "enter ctrl+space" and in most
- // cases the modifier key will be pressed before the next key
- //
- // also if you have a sequence such as "ctrl+b a" then pressing the
- // "b" key will trigger a "keypress" and a "keydown"
- //
- // the "keydown" is expected when there is a modifier, but the
- // "keypress" ends up matching the _nextExpectedAction since it occurs
- // after and that causes the sequence to reset
- //
- // we ignore keypresses in a sequence that directly follow a keydown
- // for the same character
- var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;
- if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {
- _resetSequences(doNotReset);
- }
-
- _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';
- };
-
- /**
- * handles a keydown event
- *
- * @param {Event} e
- * @returns void
- */
- function _handleKeyEvent(e) {
-
- // normalize e.which for key events
- // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion
- if (typeof e.which !== 'number') {
- e.which = e.keyCode;
- }
-
- var character = _characterFromEvent(e);
-
- // no character found then stop
- if (!character) {
- return;
- }
-
- // need to use === for the character check because the character can be 0
- if (e.type == 'keyup' && _ignoreNextKeyup === character) {
- _ignoreNextKeyup = false;
- return;
- }
-
- self.handleKey(character, _eventModifiers(e), e);
- }
-
- /**
- * called to set a 1 second timeout on the specified sequence
- *
- * this is so after each key press in the sequence you have 1 second
- * to press the next key before you have to start over
- *
- * @returns void
- */
- function _resetSequenceTimer() {
- clearTimeout(_resetTimer);
- _resetTimer = setTimeout(_resetSequences, 1000);
- }
-
- /**
- * binds a key sequence to an event
- *
- * @param {string} combo - combo specified in bind call
- * @param {Array} keys
- * @param {Function} callback
- * @param {string=} action
- * @returns void
- */
- function _bindSequence(combo, keys, callback, action) {
-
- // start off by adding a sequence level record for this combination
- // and setting the level to 0
- _sequenceLevels[combo] = 0;
-
- /**
- * callback to increase the sequence level for this sequence and reset
- * all other sequences that were active
- *
- * @param {string} nextAction
- * @returns {Function}
- */
- function _increaseSequence(nextAction) {
- return function() {
- _nextExpectedAction = nextAction;
- ++_sequenceLevels[combo];
- _resetSequenceTimer();
- };
- }
-
- /**
- * wraps the specified callback inside of another function in order
- * to reset all sequence counters as soon as this sequence is done
- *
- * @param {Event} e
- * @returns void
- */
- function _callbackAndReset(e) {
- _fireCallback(callback, e, combo);
-
- // we should ignore the next key up if the action is key down
- // or keypress. this is so if you finish a sequence and
- // release the key the final key will not trigger a keyup
- if (action !== 'keyup') {
- _ignoreNextKeyup = _characterFromEvent(e);
- }
-
- // weird race condition if a sequence ends with the key
- // another sequence begins with
- setTimeout(_resetSequences, 10);
- }
-
- // loop through keys one at a time and bind the appropriate callback
- // function. for any key leading up to the final one it should
- // increase the sequence. after the final, it should reset all sequences
- //
- // if an action is specified in the original bind call then that will
- // be used throughout. otherwise we will pass the action that the
- // next key in the sequence should match. this allows a sequence
- // to mix and match keypress and keydown events depending on which
- // ones are better suited to the key provided
- for (var i = 0; i < keys.length; ++i) {
- var isFinal = i + 1 === keys.length;
- var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);
- _bindSingle(keys[i], wrappedCallback, action, combo, i);
- }
- }
-
- /**
- * binds a single keyboard combination
- *
- * @param {string} combination
- * @param {Function} callback
- * @param {string=} action
- * @param {string=} sequenceName - name of sequence if part of sequence
- * @param {number=} level - what part of the sequence the command is
- * @returns void
- */
- function _bindSingle(combination, callback, action, sequenceName, level) {
-
- // store a direct mapped reference for use with Mousetrap.trigger
- self._directMap[combination + ':' + action] = callback;
-
- // make sure multiple spaces in a row become a single space
- combination = combination.replace(/\s+/g, ' ');
-
- var sequence = combination.split(' ');
- var info;
-
- // if this pattern is a sequence of keys then run through this method
- // to reprocess each pattern one key at a time
- if (sequence.length > 1) {
- _bindSequence(combination, sequence, callback, action);
- return;
- }
-
- info = _getKeyInfo(combination, action);
-
- // make sure to initialize array if this is the first time
- // a callback is added for this key
- self._callbacks[info.key] = self._callbacks[info.key] || [];
-
- // remove an existing match if there is one
- _getMatches(info.key, info.modifiers, {type: info.action}, sequenceName, combination, level);
-
- // add this call back to the array
- // if it is a sequence put it at the beginning
- // if not put it at the end
- //
- // this is important because the way these are processed expects
- // the sequence ones to come first
- self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({
- callback: callback,
- modifiers: info.modifiers,
- action: info.action,
- seq: sequenceName,
- level: level,
- combo: combination
- });
- }
-
- /**
- * binds multiple combinations to the same callback
- *
- * @param {Array} combinations
- * @param {Function} callback
- * @param {string|undefined} action
- * @returns void
- */
- self._bindMultiple = function(combinations, callback, action) {
- for (var i = 0; i < combinations.length; ++i) {
- _bindSingle(combinations[i], callback, action);
- }
- };
-
- // start!
- _addEvent(targetElement, 'keypress', _handleKeyEvent);
- _addEvent(targetElement, 'keydown', _handleKeyEvent);
- _addEvent(targetElement, 'keyup', _handleKeyEvent);
- }
-
- /**
- * binds an event to mousetrap
- *
- * can be a single key, a combination of keys separated with +,
- * an array of keys, or a sequence of keys separated by spaces
- *
- * be sure to list the modifier keys first to make sure that the
- * correct key ends up getting bound (the last key in the pattern)
- *
- * @param {string|Array} keys
- * @param {Function} callback
- * @param {string=} action - 'keypress', 'keydown', or 'keyup'
- * @returns void
- */
- Mousetrap.prototype.bind = function(keys, callback, action) {
- var self = this;
- keys = keys instanceof Array ? keys : [keys];
- self._bindMultiple.call(self, keys, callback, action);
- return self;
- };
-
- /**
- * unbinds an event to mousetrap
- *
- * the unbinding sets the callback function of the specified key combo
- * to an empty function and deletes the corresponding key in the
- * _directMap dict.
- *
- * TODO: actually remove this from the _callbacks dictionary instead
- * of binding an empty function
- *
- * the keycombo+action has to be exactly the same as
- * it was defined in the bind method
- *
- * @param {string|Array} keys
- * @param {string} action
- * @returns void
- */
- Mousetrap.prototype.unbind = function(keys, action) {
- var self = this;
- return self.bind.call(self, keys, function() {}, action);
- };
-
- /**
- * triggers an event that has already been bound
- *
- * @param {string} keys
- * @param {string=} action
- * @returns void
- */
- Mousetrap.prototype.trigger = function(keys, action) {
- var self = this;
- if (self._directMap[keys + ':' + action]) {
- self._directMap[keys + ':' + action]({}, keys);
- }
- return self;
- };
-
- /**
- * resets the library back to its initial state. this is useful
- * if you want to clear out the current keyboard shortcuts and bind
- * new ones - for example if you switch to another page
- *
- * @returns void
- */
- Mousetrap.prototype.reset = function() {
- var self = this;
- self._callbacks = {};
- self._directMap = {};
- return self;
- };
-
- /**
- * should we stop this event before firing off callbacks
- *
- * @param {Event} e
- * @param {Element} element
- * @return {boolean}
- */
- Mousetrap.prototype.stopCallback = function(e, element) {
- var self = this;
-
- // if the element has the class "mousetrap" then no need to stop
- if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {
- return false;
- }
-
- if (_belongsTo(element, self.target)) {
- return false;
- }
-
- // Events originating from a shadow DOM are re-targetted and `e.target` is the shadow host,
- // not the initial event target in the shadow tree. Note that not all events cross the
- // shadow boundary.
- // For shadow trees with `mode: 'open'`, the initial event target is the first element in
- // the event’s composed path. For shadow trees with `mode: 'closed'`, the initial event
- // target cannot be obtained.
- if ('composedPath' in e && typeof e.composedPath === 'function') {
- // For open shadow trees, update `element` so that the following check works.
- var initialEventTarget = e.composedPath()[0];
- if (initialEventTarget !== e.target) {
- element = initialEventTarget;
- }
- }
-
- // stop for input, select, and textarea
- return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;
- };
-
- /**
- * exposes _handleKey publicly so it can be overwritten by extensions
- */
- Mousetrap.prototype.handleKey = function() {
- var self = this;
- return self._handleKey.apply(self, arguments);
- };
-
- /**
- * allow custom key mappings
- */
- Mousetrap.addKeycodes = function(object) {
- for (var key in object) {
- if (object.hasOwnProperty(key)) {
- _MAP[key] = object[key];
- }
- }
- _REVERSE_MAP = null;
- };
-
- /**
- * Init the global mousetrap functions
- *
- * This method is needed to allow the global mousetrap functions to work
- * now that mousetrap is a constructor function.
- */
- Mousetrap.init = function() {
- var documentMousetrap = Mousetrap(document);
- for (var method in documentMousetrap) {
- if (method.charAt(0) !== '_') {
- Mousetrap[method] = (function(method) {
- return function() {
- return documentMousetrap[method].apply(documentMousetrap, arguments);
- };
- } (method));
- }
- }
- };
-
- Mousetrap.init();
-
- // expose mousetrap to the global object
- window.Mousetrap = Mousetrap;
-
- // expose as a common js module
- if ( true && module.exports) {
- module.exports = Mousetrap;
- }
-
- // expose mousetrap as an AMD module
- if (true) {
- !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
- return Mousetrap;
- }).call(exports, __webpack_require__, exports, module),
- __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
- }
-}) (typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);
-
-
-/***/ }),
-/* 223 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// eslint-disable-next-line import/no-unresolved
-module.exports = __webpack_require__(285);
-
-
-/***/ }),
-/* 224 */,
-/* 225 */,
-/* 226 */,
-/* 227 */,
-/* 228 */,
-/* 229 */,
-/* 230 */,
-/* 231 */,
-/* 232 */,
-/* 233 */,
-/* 234 */,
-/* 235 */,
-/* 236 */,
-/* 237 */,
-/* 238 */,
-/* 239 */,
-/* 240 */,
-/* 241 */,
-/* 242 */,
-/* 243 */,
-/* 244 */,
-/* 245 */,
-/* 246 */,
-/* 247 */,
-/* 248 */,
-/* 249 */,
-/* 250 */,
-/* 251 */,
-/* 252 */,
-/* 253 */,
-/* 254 */,
-/* 255 */,
-/* 256 */,
-/* 257 */,
-/* 258 */,
-/* 259 */
-/***/ (function(module, exports) {
-
-/**
- * adds a bindGlobal method to Mousetrap that allows you to
- * bind specific keyboard shortcuts that will still work
- * inside a text input field
- *
- * usage:
- * Mousetrap.bindGlobal('ctrl+s', _saveChanges);
- */
-/* global Mousetrap:true */
-(function(Mousetrap) {
- var _globalCallbacks = {};
- var _originalStopCallback = Mousetrap.prototype.stopCallback;
-
- Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) {
- var self = this;
-
- if (self.paused) {
- return true;
- }
-
- if (_globalCallbacks[combo] || _globalCallbacks[sequence]) {
- return false;
- }
-
- return _originalStopCallback.call(self, e, element, combo);
- };
-
- Mousetrap.prototype.bindGlobal = function(keys, callback, action) {
- var self = this;
- self.bind(keys, callback, action);
-
- if (keys instanceof Array) {
- for (var i = 0; i < keys.length; i++) {
- _globalCallbacks[keys[i]] = true;
- }
- return;
- }
-
- _globalCallbacks[keys] = true;
- };
-
- Mousetrap.init();
-}) (Mousetrap);
-
-
-/***/ }),
-/* 260 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// eslint-disable-next-line import/no-unresolved
-__webpack_require__(261);
-
-
-/***/ }),
-/* 261 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _registerCSSInterfaceWithDefaultTheme = __webpack_require__(262);
-
-var _registerCSSInterfaceWithDefaultTheme2 = _interopRequireDefault(_registerCSSInterfaceWithDefaultTheme);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-(0, _registerCSSInterfaceWithDefaultTheme2['default'])();
-
-/***/ }),
-/* 262 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = registerCSSInterfaceWithDefaultTheme;
-
-var _reactWithStylesInterfaceCss = __webpack_require__(263);
-
-var _reactWithStylesInterfaceCss2 = _interopRequireDefault(_reactWithStylesInterfaceCss);
-
-var _registerInterfaceWithDefaultTheme = __webpack_require__(284);
-
-var _registerInterfaceWithDefaultTheme2 = _interopRequireDefault(_registerInterfaceWithDefaultTheme);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function registerCSSInterfaceWithDefaultTheme() {
- (0, _registerInterfaceWithDefaultTheme2['default'])(_reactWithStylesInterfaceCss2['default']);
-}
-
-/***/ }),
-/* 263 */
-/***/ (function(module, exports, __webpack_require__) {
-
-// eslint-disable-next-line import/no-unresolved
-module.exports = __webpack_require__(264).default;
-
-
-/***/ }),
-/* 264 */
-/***/ (function(module, exports, __webpack_require__) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _arrayPrototype = __webpack_require__(265);
-
-var _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);
-
-var _globalCache = __webpack_require__(280);
-
-var _globalCache2 = _interopRequireDefault(_globalCache);
-
-var _constants = __webpack_require__(281);
-
-var _getClassName = __webpack_require__(282);
-
-var _getClassName2 = _interopRequireDefault(_getClassName);
-
-var _separateStyles2 = __webpack_require__(283);
-
-var _separateStyles3 = _interopRequireDefault(_separateStyles2);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-/**
- * Function required as part of the react-with-styles interface. Parses the styles provided by
- * react-with-styles to produce class names based on the style name and optionally the namespace if
- * available.
- *
- * stylesObject {Object} The styles object passed to withStyles.
- *
- * Return an object mapping style names to class names.
- */
-function create(stylesObject) {
- var stylesToClasses = {};
- var styleNames = Object.keys(stylesObject);
- var sharedState = _globalCache2['default'].get(_constants.GLOBAL_CACHE_KEY) || {};
- var _sharedState$namespac = sharedState.namespace,
- namespace = _sharedState$namespac === undefined ? '' : _sharedState$namespac;
-
- styleNames.forEach(function (styleName) {
- var className = (0, _getClassName2['default'])(namespace, styleName);
- stylesToClasses[styleName] = className;
- });
- return stylesToClasses;
-}
-
-/**
- * Process styles to be consumed by a component.
- *
- * stylesArray {Array} Array of the following: values returned by create, plain JavaScript objects
- * representing inline styles, or arrays thereof.
- *
- * Return an object with optional className and style properties to be spread on a component.
- */
-function resolve(stylesArray) {
- var flattenedStyles = (0, _arrayPrototype2['default'])(stylesArray, Infinity);
-
- var _separateStyles = (0, _separateStyles3['default'])(flattenedStyles),
- classNames = _separateStyles.classNames,
- hasInlineStyles = _separateStyles.hasInlineStyles,
- inlineStyles = _separateStyles.inlineStyles;
-
- var specificClassNames = classNames.map(function (name, index) {
- return String(name) + ' ' + String(name) + '_' + String(index + 1);
- });
- var className = specificClassNames.join(' ');
-
- var result = { className: className };
- if (hasInlineStyles) result.style = inlineStyles;
- return result;
-}
-
-exports['default'] = { create: create, resolve: resolve };
-
-/***/ }),
-/* 265 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(73);
-var bind = __webpack_require__(74);
-
-var implementation = __webpack_require__(142);
-var getPolyfill = __webpack_require__(152);
-var polyfill = getPolyfill();
-var shim = __webpack_require__(279);
-
-var boundFlat = bind.call(Function.call, polyfill);
-
-define(boundFlat, {
- getPolyfill: getPolyfill,
- implementation: implementation,
- shim: shim
-});
-
-module.exports = boundFlat;
-
-
-/***/ }),
-/* 266 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var toStr = Object.prototype.toString;
-
-module.exports = function isArguments(value) {
- var str = toStr.call(value);
- var isArgs = str === '[object Arguments]';
- if (!isArgs) {
- isArgs = str !== '[object Array]' &&
- value !== null &&
- typeof value === 'object' &&
- typeof value.length === 'number' &&
- value.length >= 0 &&
- toStr.call(value.callee) === '[object Function]';
- }
- return isArgs;
-};
-
-
-/***/ }),
-/* 267 */
-/***/ (function(module, exports) {
-
-
-var hasOwn = Object.prototype.hasOwnProperty;
-var toString = Object.prototype.toString;
-
-module.exports = function forEach (obj, fn, ctx) {
- if (toString.call(fn) !== '[object Function]') {
- throw new TypeError('iterator must be a function');
- }
- var l = obj.length;
- if (l === +l) {
- for (var i = 0; i < l; i++) {
- fn.call(ctx, obj[i], i, obj);
- }
- } else {
- for (var k in obj) {
- if (hasOwn.call(obj, k)) {
- fn.call(ctx, obj[k], k, obj);
- }
- }
- }
-};
-
-
-
-/***/ }),
-/* 268 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/* eslint no-invalid-this: 1 */
-
-var ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';
-var slice = Array.prototype.slice;
-var toStr = Object.prototype.toString;
-var funcType = '[object Function]';
-
-module.exports = function bind(that) {
- var target = this;
- if (typeof target !== 'function' || toStr.call(target) !== funcType) {
- throw new TypeError(ERROR_MESSAGE + target);
- }
- var args = slice.call(arguments, 1);
-
- var bound;
- var binder = function () {
- if (this instanceof bound) {
- var result = target.apply(
- this,
- args.concat(slice.call(arguments))
- );
- if (Object(result) === result) {
- return result;
- }
- return this;
- } else {
- return target.apply(
- that,
- args.concat(slice.call(arguments))
- );
- }
- };
-
- var boundLength = Math.max(0, target.length - args.length);
- var boundArgs = [];
- for (var i = 0; i < boundLength; i++) {
- boundArgs.push('$' + i);
- }
-
- bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);
-
- if (target.prototype) {
- var Empty = function Empty() {};
- Empty.prototype = target.prototype;
- bound.prototype = new Empty();
- Empty.prototype = null;
- }
-
- return bound;
-};
-
-
-/***/ }),
-/* 269 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var ES2016 = __webpack_require__(143);
-var assign = __webpack_require__(124);
-
-var ES2017 = assign(assign({}, ES2016), {
- ToIndex: function ToIndex(value) {
- if (typeof value === 'undefined') {
- return 0;
- }
- var integerIndex = this.ToInteger(value);
- if (integerIndex < 0) {
- throw new RangeError('index must be >= 0');
- }
- var index = this.ToLength(integerIndex);
- if (!this.SameValueZero(integerIndex, index)) {
- throw new RangeError('index must be >= 0 and < 2 ** 53 - 1');
- }
- return index;
- }
-});
-
-delete ES2017.EnumerableOwnNames; // replaced with EnumerableOwnProperties
-
-module.exports = ES2017;
-
-
-/***/ }),
-/* 270 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var has = __webpack_require__(91);
-var toPrimitive = __webpack_require__(271);
-
-var GetIntrinsic = __webpack_require__(147);
-
-var $TypeError = GetIntrinsic('%TypeError%');
-var $SyntaxError = GetIntrinsic('%SyntaxError%');
-var $Array = GetIntrinsic('%Array%');
-var $String = GetIntrinsic('%String%');
-var $Object = GetIntrinsic('%Object%');
-var $Number = GetIntrinsic('%Number%');
-var $Symbol = GetIntrinsic('%Symbol%', true);
-var $RegExp = GetIntrinsic('%RegExp%');
-
-var hasSymbols = !!$Symbol;
-
-var $isNaN = __webpack_require__(148);
-var $isFinite = __webpack_require__(149);
-var MAX_SAFE_INTEGER = $Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;
-
-var assign = __webpack_require__(124);
-var sign = __webpack_require__(150);
-var mod = __webpack_require__(151);
-var isPrimitive = __webpack_require__(275);
-var parseInteger = parseInt;
-var bind = __webpack_require__(74);
-var arraySlice = bind.call(Function.call, $Array.prototype.slice);
-var strSlice = bind.call(Function.call, $String.prototype.slice);
-var isBinary = bind.call(Function.call, $RegExp.prototype.test, /^0b[01]+$/i);
-var isOctal = bind.call(Function.call, $RegExp.prototype.test, /^0o[0-7]+$/i);
-var regexExec = bind.call(Function.call, $RegExp.prototype.exec);
-var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
-var nonWSregex = new $RegExp('[' + nonWS + ']', 'g');
-var hasNonWS = bind.call(Function.call, $RegExp.prototype.test, nonWSregex);
-var invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;
-var isInvalidHexLiteral = bind.call(Function.call, $RegExp.prototype.test, invalidHexLiteral);
-var $charCodeAt = bind.call(Function.call, $String.prototype.charCodeAt);
-
-var toStr = bind.call(Function.call, Object.prototype.toString);
-
-var $floor = Math.floor;
-var $abs = Math.abs;
-
-var $ObjectCreate = Object.create;
-var $gOPD = $Object.getOwnPropertyDescriptor;
-
-var $isExtensible = $Object.isExtensible;
-
-// whitespace from: http://es5.github.io/#x15.5.4.20
-// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
-var ws = [
- '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
- '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
- '\u2029\uFEFF'
-].join('');
-var trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
-var replace = bind.call(Function.call, $String.prototype.replace);
-var trim = function (value) {
- return replace(value, trimRegex, '');
-};
-
-var ES5 = __webpack_require__(276);
-
-var hasRegExpMatcher = __webpack_require__(278);
-
-// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations
-var ES6 = assign(assign({}, ES5), {
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args
- Call: function Call(F, V) {
- var args = arguments.length > 2 ? arguments[2] : [];
- if (!this.IsCallable(F)) {
- throw new $TypeError(F + ' is not a function');
- }
- return F.apply(V, args);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive
- ToPrimitive: toPrimitive,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean
- // ToBoolean: ES5.ToBoolean,
-
- // https://ecma-international.org/ecma-262/6.0/#sec-tonumber
- ToNumber: function ToNumber(argument) {
- var value = isPrimitive(argument) ? argument : toPrimitive(argument, $Number);
- if (typeof value === 'symbol') {
- throw new $TypeError('Cannot convert a Symbol value to a number');
- }
- if (typeof value === 'string') {
- if (isBinary(value)) {
- return this.ToNumber(parseInteger(strSlice(value, 2), 2));
- } else if (isOctal(value)) {
- return this.ToNumber(parseInteger(strSlice(value, 2), 8));
- } else if (hasNonWS(value) || isInvalidHexLiteral(value)) {
- return NaN;
- } else {
- var trimmed = trim(value);
- if (trimmed !== value) {
- return this.ToNumber(trimmed);
- }
- }
- }
- return $Number(value);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger
- // ToInteger: ES5.ToNumber,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32
- // ToInt32: ES5.ToInt32,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32
- // ToUint32: ES5.ToUint32,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16
- ToInt16: function ToInt16(argument) {
- var int16bit = this.ToUint16(argument);
- return int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16
- // ToUint16: ES5.ToUint16,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8
- ToInt8: function ToInt8(argument) {
- var int8bit = this.ToUint8(argument);
- return int8bit >= 0x80 ? int8bit - 0x100 : int8bit;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8
- ToUint8: function ToUint8(argument) {
- var number = this.ToNumber(argument);
- if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
- var posInt = sign(number) * $floor($abs(number));
- return mod(posInt, 0x100);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp
- ToUint8Clamp: function ToUint8Clamp(argument) {
- var number = this.ToNumber(argument);
- if ($isNaN(number) || number <= 0) { return 0; }
- if (number >= 0xFF) { return 0xFF; }
- var f = $floor(argument);
- if (f + 0.5 < number) { return f + 1; }
- if (number < f + 0.5) { return f; }
- if (f % 2 !== 0) { return f + 1; }
- return f;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring
- ToString: function ToString(argument) {
- if (typeof argument === 'symbol') {
- throw new $TypeError('Cannot convert a Symbol value to a string');
- }
- return $String(argument);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject
- ToObject: function ToObject(value) {
- this.RequireObjectCoercible(value);
- return $Object(value);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey
- ToPropertyKey: function ToPropertyKey(argument) {
- var key = this.ToPrimitive(argument, $String);
- return typeof key === 'symbol' ? key : this.ToString(key);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
- ToLength: function ToLength(argument) {
- var len = this.ToInteger(argument);
- if (len <= 0) { return 0; } // includes converting -0 to +0
- if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }
- return len;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring
- CanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {
- if (toStr(argument) !== '[object String]') {
- throw new $TypeError('must be a string');
- }
- if (argument === '-0') { return -0; }
- var n = this.ToNumber(argument);
- if (this.SameValue(this.ToString(n), argument)) { return n; }
- return void 0;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible
- RequireObjectCoercible: ES5.CheckObjectCoercible,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray
- IsArray: $Array.isArray || function IsArray(argument) {
- return toStr(argument) === '[object Array]';
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable
- // IsCallable: ES5.IsCallable,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor
- IsConstructor: function IsConstructor(argument) {
- return typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o
- IsExtensible: Object.preventExtensions
- ? function IsExtensible(obj) {
- if (isPrimitive(obj)) {
- return false;
- }
- return $isExtensible(obj);
- }
- : function isExtensible(obj) { return true; }, // eslint-disable-line no-unused-vars
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger
- IsInteger: function IsInteger(argument) {
- if (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {
- return false;
- }
- var abs = $abs(argument);
- return $floor(abs) === abs;
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey
- IsPropertyKey: function IsPropertyKey(argument) {
- return typeof argument === 'string' || typeof argument === 'symbol';
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-isregexp
- IsRegExp: function IsRegExp(argument) {
- if (!argument || typeof argument !== 'object') {
- return false;
- }
- if (hasSymbols) {
- var isRegExp = argument[$Symbol.match];
- if (typeof isRegExp !== 'undefined') {
- return ES5.ToBoolean(isRegExp);
- }
- }
- return hasRegExpMatcher(argument);
- },
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue
- // SameValue: ES5.SameValue,
-
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero
- SameValueZero: function SameValueZero(x, y) {
- return (x === y) || ($isNaN(x) && $isNaN(y));
- },
-
- /**
- * 7.3.2 GetV (V, P)
- * 1. Assert: IsPropertyKey(P) is true.
- * 2. Let O be ToObject(V).
- * 3. ReturnIfAbrupt(O).
- * 4. Return O.[[Get]](P, V).
- */
- GetV: function GetV(V, P) {
- // 7.3.2.1
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
- }
-
- // 7.3.2.2-3
- var O = this.ToObject(V);
-
- // 7.3.2.4
- return O[P];
- },
-
- /**
- * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod
- * 1. Assert: IsPropertyKey(P) is true.
- * 2. Let func be GetV(O, P).
- * 3. ReturnIfAbrupt(func).
- * 4. If func is either undefined or null, return undefined.
- * 5. If IsCallable(func) is false, throw a TypeError exception.
- * 6. Return func.
- */
- GetMethod: function GetMethod(O, P) {
- // 7.3.9.1
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
- }
-
- // 7.3.9.2
- var func = this.GetV(O, P);
-
- // 7.3.9.4
- if (func == null) {
- return void 0;
- }
-
- // 7.3.9.5
- if (!this.IsCallable(func)) {
- throw new $TypeError(P + 'is not a function');
- }
-
- // 7.3.9.6
- return func;
- },
-
- /**
- * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p
- * 1. Assert: Type(O) is Object.
- * 2. Assert: IsPropertyKey(P) is true.
- * 3. Return O.[[Get]](P, O).
- */
- Get: function Get(O, P) {
- // 7.3.1.1
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(O) is not Object');
- }
- // 7.3.1.2
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
- }
- // 7.3.1.3
- return O[P];
- },
-
- Type: function Type(x) {
- if (typeof x === 'symbol') {
- return 'Symbol';
- }
- return ES5.Type(x);
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor
- SpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(O) is not Object');
- }
- var C = O.constructor;
- if (typeof C === 'undefined') {
- return defaultConstructor;
- }
- if (this.Type(C) !== 'Object') {
- throw new $TypeError('O.constructor is not an Object');
- }
- var S = hasSymbols && $Symbol.species ? C[$Symbol.species] : void 0;
- if (S == null) {
- return defaultConstructor;
- }
- if (this.IsConstructor(S)) {
- return S;
- }
- throw new $TypeError('no constructor found');
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor
- CompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {
- if (!this.IsPropertyDescriptor(Desc)) {
- throw new $TypeError('Desc must be a Property Descriptor');
- }
-
- if (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {
- if (!has(Desc, '[[Value]]')) {
- Desc['[[Value]]'] = void 0;
- }
- if (!has(Desc, '[[Writable]]')) {
- Desc['[[Writable]]'] = false;
- }
- } else {
- if (!has(Desc, '[[Get]]')) {
- Desc['[[Get]]'] = void 0;
- }
- if (!has(Desc, '[[Set]]')) {
- Desc['[[Set]]'] = void 0;
- }
- }
- if (!has(Desc, '[[Enumerable]]')) {
- Desc['[[Enumerable]]'] = false;
- }
- if (!has(Desc, '[[Configurable]]')) {
- Desc['[[Configurable]]'] = false;
- }
- return Desc;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw
- Set: function Set(O, P, V, Throw) {
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('O must be an Object');
- }
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('P must be a Property Key');
- }
- if (this.Type(Throw) !== 'Boolean') {
- throw new $TypeError('Throw must be a Boolean');
- }
- if (Throw) {
- O[P] = V;
- return true;
- } else {
- try {
- O[P] = V;
- } catch (e) {
- return false;
- }
- }
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty
- HasOwnProperty: function HasOwnProperty(O, P) {
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('O must be an Object');
- }
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('P must be a Property Key');
- }
- return has(O, P);
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-hasproperty
- HasProperty: function HasProperty(O, P) {
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('O must be an Object');
- }
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('P must be a Property Key');
- }
- return P in O;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable
- IsConcatSpreadable: function IsConcatSpreadable(O) {
- if (this.Type(O) !== 'Object') {
- return false;
- }
- if (hasSymbols && typeof $Symbol.isConcatSpreadable === 'symbol') {
- var spreadable = this.Get(O, Symbol.isConcatSpreadable);
- if (typeof spreadable !== 'undefined') {
- return this.ToBoolean(spreadable);
- }
- }
- return this.IsArray(O);
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-invoke
- Invoke: function Invoke(O, P) {
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('P must be a Property Key');
- }
- var argumentsList = arraySlice(arguments, 2);
- var func = this.GetV(O, P);
- return this.Call(func, O, argumentsList);
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-getiterator
- GetIterator: function GetIterator(obj, method) {
- if (!hasSymbols) {
- throw new SyntaxError('ES.GetIterator depends on native iterator support.');
- }
-
- var actualMethod = method;
- if (arguments.length < 2) {
- actualMethod = this.GetMethod(obj, $Symbol.iterator);
- }
- var iterator = this.Call(actualMethod, obj);
- if (this.Type(iterator) !== 'Object') {
- throw new $TypeError('iterator must return an object');
- }
-
- return iterator;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-iteratornext
- IteratorNext: function IteratorNext(iterator, value) {
- var result = this.Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);
- if (this.Type(result) !== 'Object') {
- throw new $TypeError('iterator next must return an object');
- }
- return result;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete
- IteratorComplete: function IteratorComplete(iterResult) {
- if (this.Type(iterResult) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
- }
- return this.ToBoolean(this.Get(iterResult, 'done'));
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue
- IteratorValue: function IteratorValue(iterResult) {
- if (this.Type(iterResult) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
- }
- return this.Get(iterResult, 'value');
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep
- IteratorStep: function IteratorStep(iterator) {
- var result = this.IteratorNext(iterator);
- var done = this.IteratorComplete(result);
- return done === true ? false : result;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose
- IteratorClose: function IteratorClose(iterator, completion) {
- if (this.Type(iterator) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(iterator) is not Object');
- }
- if (!this.IsCallable(completion)) {
- throw new $TypeError('Assertion failed: completion is not a thunk for a Completion Record');
- }
- var completionThunk = completion;
-
- var iteratorReturn = this.GetMethod(iterator, 'return');
-
- if (typeof iteratorReturn === 'undefined') {
- return completionThunk();
- }
-
- var completionRecord;
- try {
- var innerResult = this.Call(iteratorReturn, iterator, []);
- } catch (e) {
- // if we hit here, then "e" is the innerResult completion that needs re-throwing
-
- // if the completion is of type "throw", this will throw.
- completionRecord = completionThunk();
- completionThunk = null; // ensure it's not called twice.
-
- // if not, then return the innerResult completion
- throw e;
- }
- completionRecord = completionThunk(); // if innerResult worked, then throw if the completion does
- completionThunk = null; // ensure it's not called twice.
-
- if (this.Type(innerResult) !== 'Object') {
- throw new $TypeError('iterator .return must return an object');
- }
-
- return completionRecord;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject
- CreateIterResultObject: function CreateIterResultObject(value, done) {
- if (this.Type(done) !== 'Boolean') {
- throw new $TypeError('Assertion failed: Type(done) is not Boolean');
- }
- return {
- value: value,
- done: done
- };
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-regexpexec
- RegExpExec: function RegExpExec(R, S) {
- if (this.Type(R) !== 'Object') {
- throw new $TypeError('R must be an Object');
- }
- if (this.Type(S) !== 'String') {
- throw new $TypeError('S must be a String');
- }
- var exec = this.Get(R, 'exec');
- if (this.IsCallable(exec)) {
- var result = this.Call(exec, R, [S]);
- if (result === null || this.Type(result) === 'Object') {
- return result;
- }
- throw new $TypeError('"exec" method must return `null` or an Object');
- }
- return regexExec(R, S);
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate
- ArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {
- if (!this.IsInteger(length) || length < 0) {
- throw new $TypeError('Assertion failed: length must be an integer >= 0');
- }
- var len = length === 0 ? 0 : length;
- var C;
- var isArray = this.IsArray(originalArray);
- if (isArray) {
- C = this.Get(originalArray, 'constructor');
- // TODO: figure out how to make a cross-realm normal Array, a same-realm Array
- // if (this.IsConstructor(C)) {
- // if C is another realm's Array, C = undefined
- // Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
- // }
- if (this.Type(C) === 'Object' && hasSymbols && $Symbol.species) {
- C = this.Get(C, $Symbol.species);
- if (C === null) {
- C = void 0;
- }
- }
- }
- if (typeof C === 'undefined') {
- return $Array(len);
- }
- if (!this.IsConstructor(C)) {
- throw new $TypeError('C must be a constructor');
- }
- return new C(len); // this.Construct(C, len);
- },
-
- CreateDataProperty: function CreateDataProperty(O, P, V) {
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(O) is not Object');
- }
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
- }
- var oldDesc = $gOPD(O, P);
- var extensible = oldDesc || (typeof $isExtensible !== 'function' || $isExtensible(O));
- var immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);
- if (immutable || !extensible) {
- return false;
- }
- var newDesc = {
- configurable: true,
- enumerable: true,
- value: V,
- writable: true
- };
- Object.defineProperty(O, P, newDesc);
- return true;
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow
- CreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {
- if (this.Type(O) !== 'Object') {
- throw new $TypeError('Assertion failed: Type(O) is not Object');
- }
- if (!this.IsPropertyKey(P)) {
- throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
- }
- var success = this.CreateDataProperty(O, P, V);
- if (!success) {
- throw new $TypeError('unable to create data property');
- }
- return success;
- },
-
- // https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate
- ObjectCreate: function ObjectCreate(proto, internalSlotsList) {
- if (proto !== null && this.Type(proto) !== 'Object') {
- throw new $TypeError('Assertion failed: proto must be null or an object');
- }
- var slots = arguments.length < 2 ? [] : internalSlotsList;
- if (slots.length > 0) {
- throw new $SyntaxError('es-abstract does not yet support internal slots');
- }
-
- if (proto === null && !$ObjectCreate) {
- throw new $SyntaxError('native Object.create support is required to create null objects');
- }
-
- return $ObjectCreate(proto);
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex
- AdvanceStringIndex: function AdvanceStringIndex(S, index, unicode) {
- if (this.Type(S) !== 'String') {
- throw new $TypeError('S must be a String');
- }
- if (!this.IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) {
- throw new $TypeError('Assertion failed: length must be an integer >= 0 and <= 2**53');
- }
- if (this.Type(unicode) !== 'Boolean') {
- throw new $TypeError('Assertion failed: unicode must be a Boolean');
- }
- if (!unicode) {
- return index + 1;
- }
- var length = S.length;
- if ((index + 1) >= length) {
- return index + 1;
- }
-
- var first = $charCodeAt(S, index);
- if (first < 0xD800 || first > 0xDBFF) {
- return index + 1;
- }
-
- var second = $charCodeAt(S, index + 1);
- if (second < 0xDC00 || second > 0xDFFF) {
- return index + 1;
- }
-
- return index + 2;
- }
-});
-
-delete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible
-
-module.exports = ES6;
-
-
-/***/ }),
-/* 271 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = __webpack_require__(272);
-
-
-/***/ }),
-/* 272 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
-
-var isPrimitive = __webpack_require__(144);
-var isCallable = __webpack_require__(123);
-var isDate = __webpack_require__(273);
-var isSymbol = __webpack_require__(145);
-
-var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
- if (typeof O === 'undefined' || O === null) {
- throw new TypeError('Cannot call method on ' + O);
- }
- if (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {
- throw new TypeError('hint must be "string" or "number"');
- }
- var methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
- var method, result, i;
- for (i = 0; i < methodNames.length; ++i) {
- method = O[methodNames[i]];
- if (isCallable(method)) {
- result = method.call(O);
- if (isPrimitive(result)) {
- return result;
- }
- }
- }
- throw new TypeError('No default value');
-};
-
-var GetMethod = function GetMethod(O, P) {
- var func = O[P];
- if (func !== null && typeof func !== 'undefined') {
- if (!isCallable(func)) {
- throw new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');
- }
- return func;
- }
- return void 0;
-};
-
-// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive
-module.exports = function ToPrimitive(input) {
- if (isPrimitive(input)) {
- return input;
- }
- var hint = 'default';
- if (arguments.length > 1) {
- if (arguments[1] === String) {
- hint = 'string';
- } else if (arguments[1] === Number) {
- hint = 'number';
- }
- }
-
- var exoticToPrim;
- if (hasSymbols) {
- if (Symbol.toPrimitive) {
- exoticToPrim = GetMethod(input, Symbol.toPrimitive);
- } else if (isSymbol(input)) {
- exoticToPrim = Symbol.prototype.valueOf;
- }
- }
- if (typeof exoticToPrim !== 'undefined') {
- var result = exoticToPrim.call(input, hint);
- if (isPrimitive(result)) {
- return result;
- }
- throw new TypeError('unable to convert exotic object to primitive');
- }
- if (hint === 'default' && (isDate(input) || isSymbol(input))) {
- hint = 'string';
- }
- return ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);
-};
-
-
-/***/ }),
-/* 273 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var getDay = Date.prototype.getDay;
-var tryDateObject = function tryDateObject(value) {
- try {
- getDay.call(value);
- return true;
- } catch (e) {
- return false;
- }
-};
-
-var toStr = Object.prototype.toString;
-var dateClass = '[object Date]';
-var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
-module.exports = function isDateObject(value) {
- if (typeof value !== 'object' || value === null) { return false; }
- return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;
-};
-
-
-/***/ }),
-/* 274 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {
-
-var origSymbol = global.Symbol;
-var hasSymbolSham = __webpack_require__(146);
-
-module.exports = function hasNativeSymbols() {
- if (typeof origSymbol !== 'function') { return false; }
- if (typeof Symbol !== 'function') { return false; }
- if (typeof origSymbol('foo') !== 'symbol') { return false; }
- if (typeof Symbol('bar') !== 'symbol') { return false; }
-
- return hasSymbolSham();
-};
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(59)))
-
-/***/ }),
-/* 275 */
-/***/ (function(module, exports) {
-
-module.exports = function isPrimitive(value) {
- return value === null || (typeof value !== 'function' && typeof value !== 'object');
-};
-
-
-/***/ }),
-/* 276 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var GetIntrinsic = __webpack_require__(147);
-
-var $Object = GetIntrinsic('%Object%');
-var $TypeError = GetIntrinsic('%TypeError%');
-var $String = GetIntrinsic('%String%');
-
-var $isNaN = __webpack_require__(148);
-var $isFinite = __webpack_require__(149);
-
-var sign = __webpack_require__(150);
-var mod = __webpack_require__(151);
-
-var IsCallable = __webpack_require__(123);
-var toPrimitive = __webpack_require__(277);
-
-var has = __webpack_require__(91);
-
-// https://es5.github.io/#x9
-var ES5 = {
- ToPrimitive: toPrimitive,
-
- ToBoolean: function ToBoolean(value) {
- return !!value;
- },
- ToNumber: function ToNumber(value) {
- return +value; // eslint-disable-line no-implicit-coercion
- },
- ToInteger: function ToInteger(value) {
- var number = this.ToNumber(value);
- if ($isNaN(number)) { return 0; }
- if (number === 0 || !$isFinite(number)) { return number; }
- return sign(number) * Math.floor(Math.abs(number));
- },
- ToInt32: function ToInt32(x) {
- return this.ToNumber(x) >> 0;
- },
- ToUint32: function ToUint32(x) {
- return this.ToNumber(x) >>> 0;
- },
- ToUint16: function ToUint16(value) {
- var number = this.ToNumber(value);
- if ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }
- var posInt = sign(number) * Math.floor(Math.abs(number));
- return mod(posInt, 0x10000);
- },
- ToString: function ToString(value) {
- return $String(value);
- },
- ToObject: function ToObject(value) {
- this.CheckObjectCoercible(value);
- return $Object(value);
- },
- CheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {
- /* jshint eqnull:true */
- if (value == null) {
- throw new $TypeError(optMessage || 'Cannot call method on ' + value);
- }
- return value;
- },
- IsCallable: IsCallable,
- SameValue: function SameValue(x, y) {
- if (x === y) { // 0 === -0, but they are not identical.
- if (x === 0) { return 1 / x === 1 / y; }
- return true;
- }
- return $isNaN(x) && $isNaN(y);
- },
-
- // https://www.ecma-international.org/ecma-262/5.1/#sec-8
- Type: function Type(x) {
- if (x === null) {
- return 'Null';
- }
- if (typeof x === 'undefined') {
- return 'Undefined';
- }
- if (typeof x === 'function' || typeof x === 'object') {
- return 'Object';
- }
- if (typeof x === 'number') {
- return 'Number';
- }
- if (typeof x === 'boolean') {
- return 'Boolean';
- }
- if (typeof x === 'string') {
- return 'String';
- }
- },
-
- // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
- IsPropertyDescriptor: function IsPropertyDescriptor(Desc) {
- if (this.Type(Desc) !== 'Object') {
- return false;
- }
- var allowed = {
- '[[Configurable]]': true,
- '[[Enumerable]]': true,
- '[[Get]]': true,
- '[[Set]]': true,
- '[[Value]]': true,
- '[[Writable]]': true
- };
- // jscs:disable
- for (var key in Desc) { // eslint-disable-line
- if (has(Desc, key) && !allowed[key]) {
- return false;
- }
- }
- // jscs:enable
- var isData = has(Desc, '[[Value]]');
- var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
- if (isData && IsAccessor) {
- throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
- }
- return true;
- },
-
- // https://ecma-international.org/ecma-262/5.1/#sec-8.10.1
- IsAccessorDescriptor: function IsAccessorDescriptor(Desc) {
- if (typeof Desc === 'undefined') {
- return false;
- }
-
- if (!this.IsPropertyDescriptor(Desc)) {
- throw new $TypeError('Desc must be a Property Descriptor');
- }
-
- if (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {
- return false;
- }
-
- return true;
- },
-
- // https://ecma-international.org/ecma-262/5.1/#sec-8.10.2
- IsDataDescriptor: function IsDataDescriptor(Desc) {
- if (typeof Desc === 'undefined') {
- return false;
- }
-
- if (!this.IsPropertyDescriptor(Desc)) {
- throw new $TypeError('Desc must be a Property Descriptor');
- }
-
- if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {
- return false;
- }
-
- return true;
- },
-
- // https://ecma-international.org/ecma-262/5.1/#sec-8.10.3
- IsGenericDescriptor: function IsGenericDescriptor(Desc) {
- if (typeof Desc === 'undefined') {
- return false;
- }
-
- if (!this.IsPropertyDescriptor(Desc)) {
- throw new $TypeError('Desc must be a Property Descriptor');
- }
-
- if (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {
- return true;
- }
-
- return false;
- },
-
- // https://ecma-international.org/ecma-262/5.1/#sec-8.10.4
- FromPropertyDescriptor: function FromPropertyDescriptor(Desc) {
- if (typeof Desc === 'undefined') {
- return Desc;
- }
-
- if (!this.IsPropertyDescriptor(Desc)) {
- throw new $TypeError('Desc must be a Property Descriptor');
- }
-
- if (this.IsDataDescriptor(Desc)) {
- return {
- value: Desc['[[Value]]'],
- writable: !!Desc['[[Writable]]'],
- enumerable: !!Desc['[[Enumerable]]'],
- configurable: !!Desc['[[Configurable]]']
- };
- } else if (this.IsAccessorDescriptor(Desc)) {
- return {
- get: Desc['[[Get]]'],
- set: Desc['[[Set]]'],
- enumerable: !!Desc['[[Enumerable]]'],
- configurable: !!Desc['[[Configurable]]']
- };
- } else {
- throw new $TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');
- }
- },
-
- // https://ecma-international.org/ecma-262/5.1/#sec-8.10.5
- ToPropertyDescriptor: function ToPropertyDescriptor(Obj) {
- if (this.Type(Obj) !== 'Object') {
- throw new $TypeError('ToPropertyDescriptor requires an object');
- }
-
- var desc = {};
- if (has(Obj, 'enumerable')) {
- desc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);
- }
- if (has(Obj, 'configurable')) {
- desc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);
- }
- if (has(Obj, 'value')) {
- desc['[[Value]]'] = Obj.value;
- }
- if (has(Obj, 'writable')) {
- desc['[[Writable]]'] = this.ToBoolean(Obj.writable);
- }
- if (has(Obj, 'get')) {
- var getter = Obj.get;
- if (typeof getter !== 'undefined' && !this.IsCallable(getter)) {
- throw new TypeError('getter must be a function');
- }
- desc['[[Get]]'] = getter;
- }
- if (has(Obj, 'set')) {
- var setter = Obj.set;
- if (typeof setter !== 'undefined' && !this.IsCallable(setter)) {
- throw new $TypeError('setter must be a function');
- }
- desc['[[Set]]'] = setter;
- }
-
- if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {
- throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');
- }
- return desc;
- }
-};
-
-module.exports = ES5;
-
-
-/***/ }),
-/* 277 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var toStr = Object.prototype.toString;
-
-var isPrimitive = __webpack_require__(144);
-
-var isCallable = __webpack_require__(123);
-
-// http://ecma-international.org/ecma-262/5.1/#sec-8.12.8
-var ES5internalSlots = {
- '[[DefaultValue]]': function (O) {
- var actualHint;
- if (arguments.length > 1) {
- actualHint = arguments[1];
- } else {
- actualHint = toStr.call(O) === '[object Date]' ? String : Number;
- }
-
- if (actualHint === String || actualHint === Number) {
- var methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];
- var value, i;
- for (i = 0; i < methods.length; ++i) {
- if (isCallable(O[methods[i]])) {
- value = O[methods[i]]();
- if (isPrimitive(value)) {
- return value;
- }
- }
- }
- throw new TypeError('No default value');
- }
- throw new TypeError('invalid [[DefaultValue]] hint supplied');
- }
-};
-
-// http://ecma-international.org/ecma-262/5.1/#sec-9.1
-module.exports = function ToPrimitive(input) {
- if (isPrimitive(input)) {
- return input;
- }
- if (arguments.length > 1) {
- return ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);
- }
- return ES5internalSlots['[[DefaultValue]]'](input);
-};
-
-
-/***/ }),
-/* 278 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var has = __webpack_require__(91);
-var regexExec = RegExp.prototype.exec;
-var gOPD = Object.getOwnPropertyDescriptor;
-
-var tryRegexExecCall = function tryRegexExec(value) {
- try {
- var lastIndex = value.lastIndex;
- value.lastIndex = 0;
-
- regexExec.call(value);
- return true;
- } catch (e) {
- return false;
- } finally {
- value.lastIndex = lastIndex;
- }
-};
-var toStr = Object.prototype.toString;
-var regexClass = '[object RegExp]';
-var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
-
-module.exports = function isRegex(value) {
- if (!value || typeof value !== 'object') {
- return false;
- }
- if (!hasToStringTag) {
- return toStr.call(value) === regexClass;
- }
-
- var descriptor = gOPD(value, 'lastIndex');
- var hasLastIndexDataProperty = descriptor && has(descriptor, 'value');
- if (!hasLastIndexDataProperty) {
- return false;
- }
-
- return tryRegexExecCall(value);
-};
-
-
-/***/ }),
-/* 279 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(73);
-var getPolyfill = __webpack_require__(152);
-
-module.exports = function shimFlat() {
- var polyfill = getPolyfill();
- define(
- Array.prototype,
- { flat: polyfill },
- { flat: function () { return Array.prototype.flat !== polyfill; } }
- );
- return polyfill;
-};
-
-
-/***/ }),
-/* 280 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {
-
-var define = __webpack_require__(73);
-var isSymbol = __webpack_require__(145);
-
-var globalKey = '__ global cache key __';
-/* istanbul ignore else */
-// eslint-disable-next-line no-restricted-properties
-if (typeof Symbol === 'function' && isSymbol(Symbol('foo')) && typeof Symbol['for'] === 'function') {
- // eslint-disable-next-line no-restricted-properties
- globalKey = Symbol['for'](globalKey);
-}
-
-var trueThunk = function () {
- return true;
-};
-
-var ensureCache = function ensureCache() {
- if (!global[globalKey]) {
- var properties = {};
- properties[globalKey] = {};
- var predicates = {};
- predicates[globalKey] = trueThunk;
- define(global, properties, predicates);
- }
- return global[globalKey];
-};
-
-var cache = ensureCache();
-
-var isPrimitive = function isPrimitive(val) {
- return val === null || (typeof val !== 'object' && typeof val !== 'function');
-};
-
-var getPrimitiveKey = function getPrimitiveKey(val) {
- if (isSymbol(val)) {
- return Symbol.prototype.valueOf.call(val);
- }
- return typeof val + ' | ' + String(val);
-};
-
-var requirePrimitiveKey = function requirePrimitiveKey(val) {
- if (!isPrimitive(val)) {
- throw new TypeError('key must not be an object');
- }
-};
-
-var globalCache = {
- clear: function clear() {
- delete global[globalKey];
- cache = ensureCache();
- },
-
- 'delete': function deleteKey(key) {
- requirePrimitiveKey(key);
- delete cache[getPrimitiveKey(key)];
- return !globalCache.has(key);
- },
-
- get: function get(key) {
- requirePrimitiveKey(key);
- return cache[getPrimitiveKey(key)];
- },
-
- has: function has(key) {
- requirePrimitiveKey(key);
- return getPrimitiveKey(key) in cache;
- },
-
- set: function set(key, value) {
- requirePrimitiveKey(key);
- var primitiveKey = getPrimitiveKey(key);
- var props = {};
- props[primitiveKey] = value;
- var predicates = {};
- predicates[primitiveKey] = trueThunk;
- define(cache, props, predicates);
- return globalCache.has(key);
- },
-
- setIfMissingThenGet: function setIfMissingThenGet(key, valueThunk) {
- if (globalCache.has(key)) {
- return globalCache.get(key);
- }
- var item = valueThunk();
- globalCache.set(key, item);
- return item;
- }
-};
-
-module.exports = globalCache;
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(59)))
-
-/***/ }),
-/* 281 */
-/***/ (function(module, exports) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var GLOBAL_CACHE_KEY = 'reactWithStylesInterfaceCSS';
-var MAX_SPECIFICITY = 20;
-
-exports.GLOBAL_CACHE_KEY = GLOBAL_CACHE_KEY;
-exports.MAX_SPECIFICITY = MAX_SPECIFICITY;
-
-/***/ }),
-/* 282 */
-/***/ (function(module, exports) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getClassName;
-/**
- * Construct a class name.
- *
- * namespace {String} Used to construct unique class names.
- * styleName {String} Name identifying the specific style.
- *
- * Return the class name.
- */
-function getClassName(namespace, styleName) {
- var namespaceSegment = namespace.length > 0 ? String(namespace) + '__' : '';
- return '' + namespaceSegment + String(styleName);
-}
-
-/***/ }),
-/* 283 */
-/***/ (function(module, exports) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-// This function takes an array of styles and separates them into styles that
-// are handled by Aphrodite and inline styles.
-function separateStyles(stylesArray) {
- var classNames = [];
-
- // Since determining if an Object is empty requires collecting all of its
- // keys, and we want the best performance in this code because we are in the
- // render path, we are going to do a little bookkeeping ourselves.
- var hasInlineStyles = false;
- var inlineStyles = {};
-
- // This is run on potentially every node in the tree when rendering, where
- // performance is critical. Normally we would prefer using `forEach`, but
- // old-fashioned for loops are faster so that's what we have chosen here.
- for (var i = 0; i < stylesArray.length; i++) {
- // eslint-disable-line no-plusplus
- var style = stylesArray[i];
-
- // If this style is falsy, we just want to disregard it. This allows for
- // syntax like:
- //
- // css(isFoo && styles.foo)
- if (style) {
- if (typeof style === 'string') {
- classNames.push(style);
- } else {
- Object.assign(inlineStyles, style);
- hasInlineStyles = true;
- }
- }
- }
-
- return {
- classNames: classNames,
- hasInlineStyles: hasInlineStyles,
- inlineStyles: inlineStyles
- };
-}
-
-exports['default'] = separateStyles;
-
-/***/ }),
-/* 284 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = registerInterfaceWithDefaultTheme;
-
-var _ThemedStyleSheet = __webpack_require__(153);
-
-var _ThemedStyleSheet2 = _interopRequireDefault(_ThemedStyleSheet);
-
-var _DefaultTheme = __webpack_require__(154);
-
-var _DefaultTheme2 = _interopRequireDefault(_DefaultTheme);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function registerInterfaceWithDefaultTheme(reactWithStylesInterface) {
- _ThemedStyleSheet2['default'].registerInterface(reactWithStylesInterface);
- _ThemedStyleSheet2['default'].registerTheme(_DefaultTheme2['default']);
-}
-
-/***/ }),
-/* 285 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _CalendarDay = __webpack_require__(125);
-
-Object.defineProperty(exports, 'CalendarDay', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_CalendarDay)['default'];
- }
-
- return get;
- }()
-});
-
-var _CalendarMonth = __webpack_require__(158);
-
-Object.defineProperty(exports, 'CalendarMonth', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_CalendarMonth)['default'];
- }
-
- return get;
- }()
-});
-
-var _CalendarMonthGrid = __webpack_require__(160);
-
-Object.defineProperty(exports, 'CalendarMonthGrid', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_CalendarMonthGrid)['default'];
- }
-
- return get;
- }()
-});
-
-var _DateRangePicker = __webpack_require__(302);
-
-Object.defineProperty(exports, 'DateRangePicker', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DateRangePicker)['default'];
- }
-
- return get;
- }()
-});
-
-var _DateRangePickerInput = __webpack_require__(180);
-
-Object.defineProperty(exports, 'DateRangePickerInput', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DateRangePickerInput)['default'];
- }
-
- return get;
- }()
-});
-
-var _DateRangePickerInputController = __webpack_require__(179);
-
-Object.defineProperty(exports, 'DateRangePickerInputController', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DateRangePickerInputController)['default'];
- }
-
- return get;
- }()
-});
-
-var _DateRangePickerShape = __webpack_require__(172);
-
-Object.defineProperty(exports, 'DateRangePickerShape', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DateRangePickerShape)['default'];
- }
-
- return get;
- }()
-});
-
-var _DayPicker = __webpack_require__(131);
-
-Object.defineProperty(exports, 'DayPicker', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DayPicker)['default'];
- }
-
- return get;
- }()
-});
-
-var _DayPickerRangeController = __webpack_require__(188);
-
-Object.defineProperty(exports, 'DayPickerRangeController', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DayPickerRangeController)['default'];
- }
-
- return get;
- }()
-});
-
-var _DayPickerSingleDateController = __webpack_require__(194);
-
-Object.defineProperty(exports, 'DayPickerSingleDateController', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_DayPickerSingleDateController)['default'];
- }
-
- return get;
- }()
-});
-
-var _SingleDatePicker = __webpack_require__(333);
-
-Object.defineProperty(exports, 'SingleDatePicker', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_SingleDatePicker)['default'];
- }
-
- return get;
- }()
-});
-
-var _SingleDatePickerInput = __webpack_require__(196);
-
-Object.defineProperty(exports, 'SingleDatePickerInput', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_SingleDatePickerInput)['default'];
- }
-
- return get;
- }()
-});
-
-var _SingleDatePickerShape = __webpack_require__(195);
-
-Object.defineProperty(exports, 'SingleDatePickerShape', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_SingleDatePickerShape)['default'];
- }
-
- return get;
- }()
-});
-
-var _isInclusivelyAfterDay = __webpack_require__(94);
-
-Object.defineProperty(exports, 'isInclusivelyAfterDay', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_isInclusivelyAfterDay)['default'];
- }
-
- return get;
- }()
-});
-
-var _isInclusivelyBeforeDay = __webpack_require__(334);
-
-Object.defineProperty(exports, 'isInclusivelyBeforeDay', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_isInclusivelyBeforeDay)['default'];
- }
-
- return get;
- }()
-});
-
-var _isNextDay = __webpack_require__(192);
-
-Object.defineProperty(exports, 'isNextDay', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_isNextDay)['default'];
- }
-
- return get;
- }()
-});
-
-var _isSameDay = __webpack_require__(79);
-
-Object.defineProperty(exports, 'isSameDay', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_isSameDay)['default'];
- }
-
- return get;
- }()
-});
-
-var _toISODateString = __webpack_require__(102);
-
-Object.defineProperty(exports, 'toISODateString', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_toISODateString)['default'];
- }
-
- return get;
- }()
-});
-
-var _toLocalizedDateString = __webpack_require__(129);
-
-Object.defineProperty(exports, 'toLocalizedDateString', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_toLocalizedDateString)['default'];
- }
-
- return get;
- }()
-});
-
-var _toMomentObject = __webpack_require__(80);
-
-Object.defineProperty(exports, 'toMomentObject', {
- enumerable: true,
- get: function () {
- function get() {
- return _interopRequireDefault(_toMomentObject)['default'];
- }
-
- return get;
- }()
-});
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-/***/ }),
-/* 286 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(73);
-var getPolyfill = __webpack_require__(156);
-
-module.exports = function shimAssign() {
- var polyfill = getPolyfill();
- define(
- Object,
- { assign: polyfill },
- { assign: function () { return Object.assign !== polyfill; } }
- );
- return polyfill;
-};
-
-
-/***/ }),
-/* 287 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- *
- * @typechecks
- *
- */
-
-/*eslint-disable no-self-compare */
-
-
-
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-/**
- * inlined Object.is polyfill to avoid requiring consumers ship their own
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
- */
-function is(x, y) {
- // SameValue algorithm
- if (x === y) {
- // Steps 1-5, 7-10
- // Steps 6.b-6.e: +0 != -0
- // Added the nonzero y check to make Flow happy, but it is redundant
- return x !== 0 || y !== 0 || 1 / x === 1 / y;
- } else {
- // Step 6.a: NaN == NaN
- return x !== x && y !== y;
- }
-}
-
-/**
- * Performs equality by iterating through keys on an object and returning false
- * when any key has values which are not strictly equal between the arguments.
- * Returns true when the values of all keys are strictly equal.
- */
-function shallowEqual(objA, objB) {
- if (is(objA, objB)) {
- return true;
- }
-
- if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
- return false;
- }
-
- var keysA = Object.keys(objA);
- var keysB = Object.keys(objB);
-
- if (keysA.length !== keysB.length) {
- return false;
- }
-
- // Test for A's keys different from B.
- for (var i = 0; i < keysA.length; i++) {
- if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
- return false;
- }
- }
-
- return true;
-}
-
-module.exports = shallowEqual;
-
-/***/ }),
-/* 288 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var moment = __webpack_require__(29);
-
-function isValidMoment(testMoment) {
- if (typeof moment.isMoment === 'function' && !moment.isMoment(testMoment)) {
- return false;
- }
-
- /* istanbul ignore else */
- if (typeof testMoment.isValid === 'function') {
- // moment 1.7.0+
- return testMoment.isValid();
- }
-
- /* istanbul ignore next */
- return !isNaN(testMoment);
-}
-
-module.exports = {
- isValidMoment : isValidMoment,
-};
-
-
-/***/ }),
-/* 289 */
-/***/ (function(module, exports) {
-
-var messages = {
- invalidPredicate: '`predicate` must be a function',
- invalidPropValidator: '`propValidator` must be a function',
- requiredCore: 'is marked as required',
- invalidTypeCore: 'Invalid input type',
- predicateFailureCore: 'Failed to succeed with predicate',
- anonymousMessage: '<>',
- baseInvalidMessage: 'Invalid ',
-};
-
-function constructPropValidatorVariations(propValidator) {
- if (typeof propValidator !== 'function') {
- throw new Error(messages.invalidPropValidator);
- }
-
- var requiredPropValidator = propValidator.bind(null, false, null);
- requiredPropValidator.isRequired = propValidator.bind(null, true, null);
-
- requiredPropValidator.withPredicate = function predicateApplication(predicate) {
- if (typeof predicate !== 'function') {
- throw new Error(messages.invalidPredicate);
- }
- var basePropValidator = propValidator.bind(null, false, predicate);
- basePropValidator.isRequired = propValidator.bind(null, true, predicate);
- return basePropValidator;
- };
-
- return requiredPropValidator;
-}
-
-function createInvalidRequiredErrorMessage(propName, componentName, value) {
- return new Error(
- 'The prop `' + propName + '` ' + messages.requiredCore +
- ' in `' + componentName + '`, but its value is `' + value + '`.'
- );
-}
-
-var independentGuardianValue = -1;
-
-function preValidationRequireCheck(isRequired, componentName, propFullName, propValue) {
- var isPropValueUndefined = typeof propValue === 'undefined';
- var isPropValueNull = propValue === null;
-
- if (isRequired) {
- if (isPropValueUndefined) {
- return createInvalidRequiredErrorMessage(propFullName, componentName, 'undefined');
- } else if (isPropValueNull) {
- return createInvalidRequiredErrorMessage(propFullName, componentName, 'null');
- }
- }
-
- if (isPropValueUndefined || isPropValueNull) {
- return null;
- }
-
- return independentGuardianValue;
-}
-
-function createMomentChecker(type, typeValidator, validator, momentType) {
-
- function propValidator(
- isRequired, // Bound parameter to indicate with the propType is required
- predicate, // Bound parameter to allow user to add dynamic validation
- props,
- propName,
- componentName,
- location,
- propFullName
- ) {
- var propValue = props[ propName ];
- var propType = typeof propValue;
-
- componentName = componentName || messages.anonymousMessage;
- propFullName = propFullName || propName;
-
- var preValidationRequireCheckValue = preValidationRequireCheck(
- isRequired, componentName, propFullName, propValue
- );
-
- if (preValidationRequireCheckValue !== independentGuardianValue) {
- return preValidationRequireCheckValue;
- }
-
- if (typeValidator && !typeValidator(propValue)) {
- return new Error(
- messages.invalidTypeCore + ': `' + propName + '` of type `' + propType + '` ' +
- 'supplied to `' + componentName + '`, expected `' + type + '`.'
- );
- }
-
- if (!validator(propValue)) {
- return new Error(
- messages.baseInvalidMessage + location + ' `' + propName + '` of type `' + propType + '` ' +
- 'supplied to `' + componentName + '`, expected `' + momentType + '`.'
- );
- }
-
- if (predicate && !predicate(propValue)) {
- var predicateName = predicate.name || messages.anonymousMessage;
- return new Error(
- messages.baseInvalidMessage + location + ' `' + propName + '` of type `' + propType + '` ' +
- 'supplied to `' + componentName + '`. ' + messages.predicateFailureCore + ' `' +
- predicateName + '`.'
- );
- }
-
- return null;
-
- }
-
- return constructPropValidatorVariations(propValidator);
-
-}
-
-module.exports = {
- constructPropValidatorVariations: constructPropValidatorVariations,
- createMomentChecker: createMomentChecker,
- messages: messages,
-};
-
-
-/***/ }),
-/* 290 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-function noop() {
- return null;
-}
-
-noop.isRequired = noop;
-
-function noopThunk() {
- return noop;
-}
-
-module.exports = {
- and: noopThunk,
- between: noopThunk,
- booleanSome: noopThunk,
- childrenHavePropXorChildren: noopThunk,
- childrenOf: noopThunk,
- childrenOfType: noopThunk,
- childrenSequenceOf: noopThunk,
- componentWithName: noopThunk,
- disallowedIf: noopThunk,
- elementType: noopThunk,
- empty: noopThunk,
- explicitNull: noopThunk,
- forbidExtraProps: Object,
- integer: noopThunk,
- keysOf: noopThunk,
- mutuallyExclusiveProps: noopThunk,
- mutuallyExclusiveTrueProps: noopThunk,
- nChildren: noopThunk,
- nonNegativeInteger: noop,
- nonNegativeNumber: noopThunk,
- numericString: noopThunk,
- object: noopThunk,
- or: noopThunk,
- range: noopThunk,
- ref: noopThunk,
- requiredBy: noopThunk,
- restrictedProp: noopThunk,
- sequenceOf: noopThunk,
- shape: noopThunk,
- stringStartsWith: noopThunk,
- uniqueArray: noopThunk,
- uniqueArrayOf: noopThunk,
- valuesOf: noopThunk,
- withShape: noopThunk
-};
-
-
-/***/ }),
-/* 291 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var isMergeableObject = function isMergeableObject(value) {
- return isNonNullObject(value)
- && !isSpecial(value)
-};
-
-function isNonNullObject(value) {
- return !!value && typeof value === 'object'
-}
-
-function isSpecial(value) {
- var stringValue = Object.prototype.toString.call(value);
-
- return stringValue === '[object RegExp]'
- || stringValue === '[object Date]'
- || isReactElement(value)
-}
-
-// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
-var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
-var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
-
-function isReactElement(value) {
- return value.$$typeof === REACT_ELEMENT_TYPE
-}
-
-function emptyTarget(val) {
- return Array.isArray(val) ? [] : {}
-}
-
-function cloneIfNecessary(value, optionsArgument) {
- var clone = optionsArgument && optionsArgument.clone === true;
- return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value
-}
-
-function defaultArrayMerge(target, source, optionsArgument) {
- var destination = target.slice();
- source.forEach(function(e, i) {
- if (typeof destination[i] === 'undefined') {
- destination[i] = cloneIfNecessary(e, optionsArgument);
- } else if (isMergeableObject(e)) {
- destination[i] = deepmerge(target[i], e, optionsArgument);
- } else if (target.indexOf(e) === -1) {
- destination.push(cloneIfNecessary(e, optionsArgument));
- }
- });
- return destination
-}
-
-function mergeObject(target, source, optionsArgument) {
- var destination = {};
- if (isMergeableObject(target)) {
- Object.keys(target).forEach(function(key) {
- destination[key] = cloneIfNecessary(target[key], optionsArgument);
- });
- }
- Object.keys(source).forEach(function(key) {
- if (!isMergeableObject(source[key]) || !target[key]) {
- destination[key] = cloneIfNecessary(source[key], optionsArgument);
- } else {
- destination[key] = deepmerge(target[key], source[key], optionsArgument);
- }
- });
- return destination
-}
-
-function deepmerge(target, source, optionsArgument) {
- var sourceIsArray = Array.isArray(source);
- var targetIsArray = Array.isArray(target);
- var options = optionsArgument || { arrayMerge: defaultArrayMerge };
- var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
-
- if (!sourceAndTargetTypesMatch) {
- return cloneIfNecessary(source, optionsArgument)
- } else if (sourceIsArray) {
- var arrayMerge = options.arrayMerge || defaultArrayMerge;
- return arrayMerge(target, source, optionsArgument)
- } else {
- return mergeObject(target, source, optionsArgument)
- }
-}
-
-deepmerge.all = function deepmergeAll(array, optionsArgument) {
- if (!Array.isArray(array) || array.length < 2) {
- throw new Error('first argument should be an array with at least two elements')
- }
-
- // we are sure there are at least 2 values, so it is safe to have no initial value
- return array.reduce(function(prev, next) {
- return deepmerge(prev, next, optionsArgument)
- })
-};
-
-var deepmerge_1 = deepmerge;
-
-module.exports = deepmerge_1;
-
-
-/***/ }),
-/* 292 */
-/***/ (function(module, exports) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var CHANNEL = exports.CHANNEL = '__direction__';
-
-var DIRECTIONS = exports.DIRECTIONS = {
- LTR: 'ltr',
- RTL: 'rtl'
-};
-
-/***/ }),
-/* 293 */
-/***/ (function(module, exports, __webpack_require__) {
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-exports['default'] = _propTypes2['default'].shape({
- getState: _propTypes2['default'].func,
- setState: _propTypes2['default'].func,
- subscribe: _propTypes2['default'].func
-});
-
-/***/ }),
-/* 294 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getPhrase;
-function getPhrase(phrase, args) {
- if (typeof phrase === 'string') return phrase;
-
- if (typeof phrase === 'function') {
- return phrase(args);
- }
-
- return '';
-}
-
-/***/ }),
-/* 295 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = CalendarWeek;
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _CalendarDay = __webpack_require__(125);
-
-var _CalendarDay2 = _interopRequireDefault(_CalendarDay);
-
-var _CustomizableCalendarDay = __webpack_require__(296);
-
-var _CustomizableCalendarDay2 = _interopRequireDefault(_CustomizableCalendarDay);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
- children: (0, _airbnbPropTypes.or)([(0, _airbnbPropTypes.childrenOfType)(_CalendarDay2['default']), (0, _airbnbPropTypes.childrenOfType)(_CustomizableCalendarDay2['default'])]).isRequired
-});
-
-function CalendarWeek(_ref) {
- var children = _ref.children;
-
- return _react2['default'].createElement(
- 'tr',
- null,
- children
- );
-}
-
-CalendarWeek.propTypes = propTypes;
-
-/***/ }),
-/* 296 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.PureCustomizableCalendarDay = exports.selectedStyles = exports.lastInRangeStyles = exports.selectedSpanStyles = exports.hoveredSpanStyles = exports.blockedOutOfRangeStyles = exports.blockedCalendarStyles = exports.blockedMinNightsStyles = exports.highlightedCalendarStyles = exports.outsideStyles = exports.defaultStyles = undefined;
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _reactAddonsShallowCompare = __webpack_require__(78);
-
-var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
-
-var _reactMomentProptypes = __webpack_require__(64);
-
-var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _getCalendarDaySettings = __webpack_require__(157);
-
-var _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings);
-
-var _constants = __webpack_require__(39);
-
-var _DefaultTheme = __webpack_require__(154);
-
-var _DefaultTheme2 = _interopRequireDefault(_DefaultTheme);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var color = _DefaultTheme2['default'].reactDates.color;
-
-
-function getStyles(stylesObj, isHovered) {
- if (!stylesObj) return null;
-
- var hover = stylesObj.hover;
-
- if (isHovered && hover) {
- return hover;
- }
-
- return stylesObj;
-}
-
-var DayStyleShape = _propTypes2['default'].shape({
- background: _propTypes2['default'].string,
- border: (0, _airbnbPropTypes.or)([_propTypes2['default'].string, _propTypes2['default'].number]),
- color: _propTypes2['default'].string,
-
- hover: _propTypes2['default'].shape({
- background: _propTypes2['default'].string,
- border: (0, _airbnbPropTypes.or)([_propTypes2['default'].string, _propTypes2['default'].number]),
- color: _propTypes2['default'].string
- })
-});
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- day: _reactMomentProptypes2['default'].momentObj,
- daySize: _airbnbPropTypes.nonNegativeInteger,
- isOutsideDay: _propTypes2['default'].bool,
- modifiers: _propTypes2['default'].instanceOf(Set),
- isFocused: _propTypes2['default'].bool,
- tabIndex: _propTypes2['default'].oneOf([0, -1]),
- onDayClick: _propTypes2['default'].func,
- onDayMouseEnter: _propTypes2['default'].func,
- onDayMouseLeave: _propTypes2['default'].func,
- renderDayContents: _propTypes2['default'].func,
- ariaLabelFormat: _propTypes2['default'].string,
-
- // style overrides
- defaultStyles: DayStyleShape,
- outsideStyles: DayStyleShape,
- todayStyles: DayStyleShape,
- firstDayOfWeekStyles: DayStyleShape,
- lastDayOfWeekStyles: DayStyleShape,
- highlightedCalendarStyles: DayStyleShape,
- blockedMinNightsStyles: DayStyleShape,
- blockedCalendarStyles: DayStyleShape,
- blockedOutOfRangeStyles: DayStyleShape,
- hoveredSpanStyles: DayStyleShape,
- selectedSpanStyles: DayStyleShape,
- lastInRangeStyles: DayStyleShape,
- selectedStyles: DayStyleShape,
- selectedStartStyles: DayStyleShape,
- selectedEndStyles: DayStyleShape,
- afterHoveredStartStyles: DayStyleShape,
-
- // internationalization
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases))
-}));
-
-var defaultStyles = exports.defaultStyles = {
- border: '1px solid ' + String(color.core.borderLight),
- color: color.text,
- background: color.background,
-
- hover: {
- background: color.core.borderLight,
- border: '1px double ' + String(color.core.borderLight),
- color: 'inherit'
- }
-};
-
-var outsideStyles = exports.outsideStyles = {
- background: color.outside.backgroundColor,
- border: 0,
- color: color.outside.color
-};
-
-var highlightedCalendarStyles = exports.highlightedCalendarStyles = {
- background: color.highlighted.backgroundColor,
- color: color.highlighted.color,
-
- hover: {
- background: color.highlighted.backgroundColor_hover,
- color: color.highlighted.color_active
- }
-};
-
-var blockedMinNightsStyles = exports.blockedMinNightsStyles = {
- background: color.minimumNights.backgroundColor,
- border: '1px solid ' + String(color.minimumNights.borderColor),
- color: color.minimumNights.color,
-
- hover: {
- background: color.minimumNights.backgroundColor_hover,
- color: color.minimumNights.color_active
- }
-};
-
-var blockedCalendarStyles = exports.blockedCalendarStyles = {
- background: color.blocked_calendar.backgroundColor,
- border: '1px solid ' + String(color.blocked_calendar.borderColor),
- color: color.blocked_calendar.color,
-
- hover: {
- background: color.blocked_calendar.backgroundColor_hover,
- border: '1px solid ' + String(color.blocked_calendar.borderColor),
- color: color.blocked_calendar.color_active
- }
-};
-
-var blockedOutOfRangeStyles = exports.blockedOutOfRangeStyles = {
- background: color.blocked_out_of_range.backgroundColor,
- border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
- color: color.blocked_out_of_range.color,
-
- hover: {
- background: color.blocked_out_of_range.backgroundColor_hover,
- border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
- color: color.blocked_out_of_range.color_active
- }
-};
-
-var hoveredSpanStyles = exports.hoveredSpanStyles = {
- background: color.hoveredSpan.backgroundColor,
- border: '1px solid ' + String(color.hoveredSpan.borderColor),
- color: color.hoveredSpan.color,
-
- hover: {
- background: color.hoveredSpan.backgroundColor_hover,
- border: '1px solid ' + String(color.hoveredSpan.borderColor),
- color: color.hoveredSpan.color_active
- }
-};
-
-var selectedSpanStyles = exports.selectedSpanStyles = {
- background: color.selectedSpan.backgroundColor,
- border: '1px solid ' + String(color.selectedSpan.borderColor),
- color: color.selectedSpan.color,
-
- hover: {
- background: color.selectedSpan.backgroundColor_hover,
- border: '1px solid ' + String(color.selectedSpan.borderColor),
- color: color.selectedSpan.color_active
- }
-};
-
-var lastInRangeStyles = exports.lastInRangeStyles = {
- borderRight: color.core.primary
-};
-
-var selectedStyles = exports.selectedStyles = {
- background: color.selected.backgroundColor,
- border: '1px solid ' + String(color.selected.borderColor),
- color: color.selected.color,
-
- hover: {
- background: color.selected.backgroundColor_hover,
- border: '1px solid ' + String(color.selected.borderColor),
- color: color.selected.color_active
- }
-};
-
-var defaultProps = {
- day: (0, _moment2['default'])(),
- daySize: _constants.DAY_SIZE,
- isOutsideDay: false,
- modifiers: new Set(),
- isFocused: false,
- tabIndex: -1,
- onDayClick: function () {
- function onDayClick() {}
-
- return onDayClick;
- }(),
- onDayMouseEnter: function () {
- function onDayMouseEnter() {}
-
- return onDayMouseEnter;
- }(),
- onDayMouseLeave: function () {
- function onDayMouseLeave() {}
-
- return onDayMouseLeave;
- }(),
-
- renderDayContents: null,
- ariaLabelFormat: 'dddd, LL',
-
- // style defaults
- defaultStyles: defaultStyles,
- outsideStyles: outsideStyles,
- todayStyles: {},
- highlightedCalendarStyles: highlightedCalendarStyles,
- blockedMinNightsStyles: blockedMinNightsStyles,
- blockedCalendarStyles: blockedCalendarStyles,
- blockedOutOfRangeStyles: blockedOutOfRangeStyles,
- hoveredSpanStyles: hoveredSpanStyles,
- selectedSpanStyles: selectedSpanStyles,
- lastInRangeStyles: lastInRangeStyles,
- selectedStyles: selectedStyles,
- selectedStartStyles: {},
- selectedEndStyles: {},
- afterHoveredStartStyles: {},
- firstDayOfWeekStyles: {},
- lastDayOfWeekStyles: {},
-
- // internationalization
- phrases: _defaultPhrases.CalendarDayPhrases
-};
-
-var CustomizableCalendarDay = function (_React$Component) {
- _inherits(CustomizableCalendarDay, _React$Component);
-
- function CustomizableCalendarDay() {
- var _ref;
-
- _classCallCheck(this, CustomizableCalendarDay);
-
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- var _this = _possibleConstructorReturn(this, (_ref = CustomizableCalendarDay.__proto__ || Object.getPrototypeOf(CustomizableCalendarDay)).call.apply(_ref, [this].concat(args)));
-
- _this.state = {
- isHovered: false
- };
-
- _this.setButtonRef = _this.setButtonRef.bind(_this);
- return _this;
- }
-
- _createClass(CustomizableCalendarDay, [{
- key: 'shouldComponentUpdate',
- value: function () {
- function shouldComponentUpdate(nextProps, nextState) {
- return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
- }
-
- return shouldComponentUpdate;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate(prevProps) {
- var _props = this.props,
- isFocused = _props.isFocused,
- tabIndex = _props.tabIndex;
-
- if (tabIndex === 0) {
- if (isFocused || tabIndex !== prevProps.tabIndex) {
- this.buttonRef.focus();
- }
- }
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'onDayClick',
- value: function () {
- function onDayClick(day, e) {
- var onDayClick = this.props.onDayClick;
-
- onDayClick(day, e);
- }
-
- return onDayClick;
- }()
- }, {
- key: 'onDayMouseEnter',
- value: function () {
- function onDayMouseEnter(day, e) {
- var onDayMouseEnter = this.props.onDayMouseEnter;
-
- this.setState({ isHovered: true });
- onDayMouseEnter(day, e);
- }
-
- return onDayMouseEnter;
- }()
- }, {
- key: 'onDayMouseLeave',
- value: function () {
- function onDayMouseLeave(day, e) {
- var onDayMouseLeave = this.props.onDayMouseLeave;
-
- this.setState({ isHovered: false });
- onDayMouseLeave(day, e);
- }
-
- return onDayMouseLeave;
- }()
- }, {
- key: 'onKeyDown',
- value: function () {
- function onKeyDown(day, e) {
- var onDayClick = this.props.onDayClick;
- var key = e.key;
-
- if (key === 'Enter' || key === ' ') {
- onDayClick(day, e);
- }
- }
-
- return onKeyDown;
- }()
- }, {
- key: 'setButtonRef',
- value: function () {
- function setButtonRef(ref) {
- this.buttonRef = ref;
- }
-
- return setButtonRef;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _this2 = this;
-
- var _props2 = this.props,
- day = _props2.day,
- ariaLabelFormat = _props2.ariaLabelFormat,
- daySize = _props2.daySize,
- isOutsideDay = _props2.isOutsideDay,
- modifiers = _props2.modifiers,
- tabIndex = _props2.tabIndex,
- renderDayContents = _props2.renderDayContents,
- styles = _props2.styles,
- phrases = _props2.phrases,
- defaultStylesWithHover = _props2.defaultStyles,
- outsideStylesWithHover = _props2.outsideStyles,
- todayStylesWithHover = _props2.todayStyles,
- firstDayOfWeekStylesWithHover = _props2.firstDayOfWeekStyles,
- lastDayOfWeekStylesWithHover = _props2.lastDayOfWeekStyles,
- highlightedCalendarStylesWithHover = _props2.highlightedCalendarStyles,
- blockedMinNightsStylesWithHover = _props2.blockedMinNightsStyles,
- blockedCalendarStylesWithHover = _props2.blockedCalendarStyles,
- blockedOutOfRangeStylesWithHover = _props2.blockedOutOfRangeStyles,
- hoveredSpanStylesWithHover = _props2.hoveredSpanStyles,
- selectedSpanStylesWithHover = _props2.selectedSpanStyles,
- lastInRangeStylesWithHover = _props2.lastInRangeStyles,
- selectedStylesWithHover = _props2.selectedStyles,
- selectedStartStylesWithHover = _props2.selectedStartStyles,
- selectedEndStylesWithHover = _props2.selectedEndStyles,
- afterHoveredStartStylesWithHover = _props2.afterHoveredStartStyles;
- var isHovered = this.state.isHovered;
-
-
- if (!day) return _react2['default'].createElement('td', null);
-
- var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases),
- daySizeStyles = _getCalendarDaySettin.daySizeStyles,
- useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,
- selected = _getCalendarDaySettin.selected,
- hoveredSpan = _getCalendarDaySettin.hoveredSpan,
- isOutsideRange = _getCalendarDaySettin.isOutsideRange,
- ariaLabel = _getCalendarDaySettin.ariaLabel;
-
- return _react2['default'].createElement(
- 'td',
- _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, daySizeStyles, getStyles(defaultStylesWithHover, isHovered), isOutsideDay && getStyles(outsideStylesWithHover, isHovered), modifiers.has('today') && getStyles(todayStylesWithHover, isHovered), modifiers.has('first-day-of-week') && getStyles(firstDayOfWeekStylesWithHover, isHovered), modifiers.has('last-day-of-week') && getStyles(lastDayOfWeekStylesWithHover, isHovered), modifiers.has('highlighted-calendar') && getStyles(highlightedCalendarStylesWithHover, isHovered), modifiers.has('blocked-minimum-nights') && getStyles(blockedMinNightsStylesWithHover, isHovered), modifiers.has('blocked-calendar') && getStyles(blockedCalendarStylesWithHover, isHovered), hoveredSpan && getStyles(hoveredSpanStylesWithHover, isHovered), modifiers.has('after-hovered-start') && getStyles(afterHoveredStartStylesWithHover, isHovered), modifiers.has('selected-span') && getStyles(selectedSpanStylesWithHover, isHovered), modifiers.has('last-in-range') && getStyles(lastInRangeStylesWithHover, isHovered), selected && getStyles(selectedStylesWithHover, isHovered), modifiers.has('selected-start') && getStyles(selectedStartStylesWithHover, isHovered), modifiers.has('selected-end') && getStyles(selectedEndStylesWithHover, isHovered), isOutsideRange && getStyles(blockedOutOfRangeStylesWithHover, isHovered)), {
- role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role
- , ref: this.setButtonRef,
- 'aria-label': ariaLabel,
- onMouseEnter: function () {
- function onMouseEnter(e) {
- _this2.onDayMouseEnter(day, e);
- }
-
- return onMouseEnter;
- }(),
- onMouseLeave: function () {
- function onMouseLeave(e) {
- _this2.onDayMouseLeave(day, e);
- }
-
- return onMouseLeave;
- }(),
- onMouseUp: function () {
- function onMouseUp(e) {
- e.currentTarget.blur();
- }
-
- return onMouseUp;
- }(),
- onClick: function () {
- function onClick(e) {
- _this2.onDayClick(day, e);
- }
-
- return onClick;
- }(),
- onKeyDown: function () {
- function onKeyDown(e) {
- _this2.onKeyDown(day, e);
- }
-
- return onKeyDown;
- }(),
- tabIndex: tabIndex
- }),
- renderDayContents ? renderDayContents(day, modifiers) : day.format('D')
- );
- }
-
- return render;
- }()
- }]);
-
- return CustomizableCalendarDay;
-}(_react2['default'].Component);
-
-CustomizableCalendarDay.propTypes = propTypes;
-CustomizableCalendarDay.defaultProps = defaultProps;
-
-exports.PureCustomizableCalendarDay = CustomizableCalendarDay;
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var font = _ref2.reactDates.font;
- return {
- CalendarDay: {
- boxSizing: 'border-box',
- cursor: 'pointer',
- fontSize: font.size,
- textAlign: 'center',
-
- ':active': {
- outline: 0
- }
- },
-
- CalendarDay__defaultCursor: {
- cursor: 'default'
- }
- };
-})(CustomizableCalendarDay);
-
-/***/ }),
-/* 297 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getCalendarMonthWeeks;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function getCalendarMonthWeeks(month, enableOutsideDays) {
- var firstDayOfWeek = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _moment2['default'].localeData().firstDayOfWeek();
-
- if (!_moment2['default'].isMoment(month) || !month.isValid()) {
- throw new TypeError('`month` must be a valid moment object');
- }
- if (_constants.WEEKDAYS.indexOf(firstDayOfWeek) === -1) {
- throw new TypeError('`firstDayOfWeek` must be an integer between 0 and 6');
- }
-
- // set utc offset to get correct dates in future (when timezone changes)
- var firstOfMonth = month.clone().startOf('month').hour(12);
- var lastOfMonth = month.clone().endOf('month').hour(12);
-
- // calculate the exact first and last days to fill the entire matrix
- // (considering days outside month)
- var prevDays = (firstOfMonth.day() + 7 - firstDayOfWeek) % 7;
- var nextDays = (firstDayOfWeek + 6 - lastOfMonth.day()) % 7;
- var firstDay = firstOfMonth.clone().subtract(prevDays, 'day');
- var lastDay = lastOfMonth.clone().add(nextDays, 'day');
-
- var totalDays = lastDay.diff(firstDay, 'days') + 1;
-
- var currentDay = firstDay.clone();
- var weeksInMonth = [];
-
- for (var i = 0; i < totalDays; i += 1) {
- if (i % 7 === 0) {
- weeksInMonth.push([]);
- }
-
- var day = null;
- if (i >= prevDays && i < totalDays - nextDays || enableOutsideDays) {
- day = currentDay.clone();
- }
-
- weeksInMonth[weeksInMonth.length - 1].push(day);
-
- currentDay.add(1, 'day');
- }
-
- return weeksInMonth;
-}
-
-/***/ }),
-/* 298 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isTransitionEndSupported;
-function isTransitionEndSupported() {
- return !!(typeof window !== 'undefined' && 'TransitionEvent' in window);
-}
-
-/***/ }),
-/* 299 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports["default"] = getTransformStyles;
-function getTransformStyles(transformValue) {
- return {
- transform: transformValue,
- msTransform: transformValue,
- MozTransform: transformValue,
- WebkitTransform: transformValue
- };
-}
-
-/***/ }),
-/* 300 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isPrevMonth;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _isSameMonth = __webpack_require__(162);
-
-var _isSameMonth2 = _interopRequireDefault(_isSameMonth);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isPrevMonth(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- return (0, _isSameMonth2['default'])(a.clone().subtract(1, 'month'), b);
-}
-
-/***/ }),
-/* 301 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isNextMonth;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _isSameMonth = __webpack_require__(162);
-
-var _isSameMonth2 = _interopRequireDefault(_isSameMonth);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function isNextMonth(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- return (0, _isSameMonth2['default'])(a.clone().add(1, 'month'), b);
-}
-
-/***/ }),
-/* 302 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.PureDateRangePicker = undefined;
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _reactAddonsShallowCompare = __webpack_require__(78);
-
-var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _reactPortal = __webpack_require__(203);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _consolidatedEvents = __webpack_require__(103);
-
-var _isTouchDevice = __webpack_require__(82);
-
-var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
-
-var _reactOutsideClickHandler = __webpack_require__(126);
-
-var _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler);
-
-var _DateRangePickerShape = __webpack_require__(172);
-
-var _DateRangePickerShape2 = _interopRequireDefault(_DateRangePickerShape);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getResponsiveContainerStyles = __webpack_require__(176);
-
-var _getResponsiveContainerStyles2 = _interopRequireDefault(_getResponsiveContainerStyles);
-
-var _getDetachedContainerStyles = __webpack_require__(177);
-
-var _getDetachedContainerStyles2 = _interopRequireDefault(_getDetachedContainerStyles);
-
-var _getInputHeight = __webpack_require__(127);
-
-var _getInputHeight2 = _interopRequireDefault(_getInputHeight);
-
-var _isInclusivelyAfterDay = __webpack_require__(94);
-
-var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
-
-var _disableScroll2 = __webpack_require__(178);
-
-var _disableScroll3 = _interopRequireDefault(_disableScroll2);
-
-var _DateRangePickerInputController = __webpack_require__(179);
-
-var _DateRangePickerInputController2 = _interopRequireDefault(_DateRangePickerInputController);
-
-var _DayPickerRangeController = __webpack_require__(188);
-
-var _DayPickerRangeController2 = _interopRequireDefault(_DayPickerRangeController);
-
-var _CloseButton = __webpack_require__(96);
-
-var _CloseButton2 = _interopRequireDefault(_CloseButton);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, _DateRangePickerShape2['default']));
-
-var defaultProps = {
- // required props for a functional interactive DateRangePicker
- startDate: null,
- endDate: null,
- focusedInput: null,
-
- // input related props
- startDatePlaceholderText: 'Start Date',
- endDatePlaceholderText: 'End Date',
- disabled: false,
- required: false,
- readOnly: false,
- screenReaderInputMessage: '',
- showClearDates: false,
- showDefaultInputIcon: false,
- inputIconPosition: _constants.ICON_BEFORE_POSITION,
- customInputIcon: null,
- customArrowIcon: null,
- customCloseIcon: null,
- noBorder: false,
- block: false,
- small: false,
- regular: false,
- keepFocusOnInput: false,
-
- // calendar presentation and interaction related props
- renderMonthText: null,
- orientation: _constants.HORIZONTAL_ORIENTATION,
- anchorDirection: _constants.ANCHOR_LEFT,
- openDirection: _constants.OPEN_DOWN,
- horizontalMargin: 0,
- withPortal: false,
- withFullScreenPortal: false,
- appendToBody: false,
- disableScroll: false,
- initialVisibleMonth: null,
- numberOfMonths: 2,
- keepOpenOnDateSelect: false,
- reopenPickerOnClearDates: false,
- renderCalendarInfo: null,
- calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,
- hideKeyboardShortcutsPanel: false,
- daySize: _constants.DAY_SIZE,
- isRTL: false,
- firstDayOfWeek: null,
- verticalHeight: null,
- transitionDuration: undefined,
- verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,
-
- // navigation related props
- navPrev: null,
- navNext: null,
-
- onPrevMonthClick: function () {
- function onPrevMonthClick() {}
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: function () {
- function onNextMonthClick() {}
-
- return onNextMonthClick;
- }(),
- onClose: function () {
- function onClose() {}
-
- return onClose;
- }(),
-
-
- // day presentation and interaction related props
- renderCalendarDay: undefined,
- renderDayContents: null,
- renderMonthElement: null,
- minimumNights: 1,
- enableOutsideDays: false,
- isDayBlocked: function () {
- function isDayBlocked() {
- return false;
- }
-
- return isDayBlocked;
- }(),
- isOutsideRange: function () {
- function isOutsideRange(day) {
- return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());
- }
-
- return isOutsideRange;
- }(),
- isDayHighlighted: function () {
- function isDayHighlighted() {
- return false;
- }
-
- return isDayHighlighted;
- }(),
-
- // internationalization
- displayFormat: function () {
- function displayFormat() {
- return _moment2['default'].localeData().longDateFormat('L');
- }
-
- return displayFormat;
- }(),
- monthFormat: 'MMMM YYYY',
- weekDayFormat: 'dd',
- phrases: _defaultPhrases.DateRangePickerPhrases,
- dayAriaLabelFormat: undefined
-};
-
-var DateRangePicker = function (_React$Component) {
- _inherits(DateRangePicker, _React$Component);
-
- function DateRangePicker(props) {
- _classCallCheck(this, DateRangePicker);
-
- var _this = _possibleConstructorReturn(this, (DateRangePicker.__proto__ || Object.getPrototypeOf(DateRangePicker)).call(this, props));
-
- _this.state = {
- dayPickerContainerStyles: {},
- isDateRangePickerInputFocused: false,
- isDayPickerFocused: false,
- showKeyboardShortcuts: false
- };
-
- _this.isTouchDevice = false;
-
- _this.onOutsideClick = _this.onOutsideClick.bind(_this);
- _this.onDateRangePickerInputFocus = _this.onDateRangePickerInputFocus.bind(_this);
- _this.onDayPickerFocus = _this.onDayPickerFocus.bind(_this);
- _this.onDayPickerBlur = _this.onDayPickerBlur.bind(_this);
- _this.showKeyboardShortcutsPanel = _this.showKeyboardShortcutsPanel.bind(_this);
-
- _this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_this);
- _this.disableScroll = _this.disableScroll.bind(_this);
-
- _this.setDayPickerContainerRef = _this.setDayPickerContainerRef.bind(_this);
- _this.setContainerRef = _this.setContainerRef.bind(_this);
- return _this;
- }
-
- _createClass(DateRangePicker, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- this.removeEventListener = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, { passive: true });
- this.responsivizePickerPosition();
- this.disableScroll();
-
- var focusedInput = this.props.focusedInput;
-
- if (focusedInput) {
- this.setState({
- isDateRangePickerInputFocused: true
- });
- }
-
- this.isTouchDevice = (0, _isTouchDevice2['default'])();
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'shouldComponentUpdate',
- value: function () {
- function shouldComponentUpdate(nextProps, nextState) {
- return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
- }
-
- return shouldComponentUpdate;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate(prevProps) {
- var focusedInput = this.props.focusedInput;
-
- if (!prevProps.focusedInput && focusedInput && this.isOpened()) {
- // The date picker just changed from being closed to being open.
- this.responsivizePickerPosition();
- this.disableScroll();
- } else if (prevProps.focusedInput && !focusedInput && !this.isOpened()) {
- // The date picker just changed from being open to being closed.
- if (this.enableScroll) this.enableScroll();
- }
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'componentWillUnmount',
- value: function () {
- function componentWillUnmount() {
- if (this.removeEventListener) this.removeEventListener();
- if (this.enableScroll) this.enableScroll();
- }
-
- return componentWillUnmount;
- }()
- }, {
- key: 'onOutsideClick',
- value: function () {
- function onOutsideClick(event) {
- var _props = this.props,
- onFocusChange = _props.onFocusChange,
- onClose = _props.onClose,
- startDate = _props.startDate,
- endDate = _props.endDate,
- appendToBody = _props.appendToBody;
-
- if (!this.isOpened()) return;
- if (appendToBody && this.dayPickerContainer.contains(event.target)) return;
-
- this.setState({
- isDateRangePickerInputFocused: false,
- isDayPickerFocused: false,
- showKeyboardShortcuts: false
- });
-
- onFocusChange(null);
- onClose({ startDate: startDate, endDate: endDate });
- }
-
- return onOutsideClick;
- }()
- }, {
- key: 'onDateRangePickerInputFocus',
- value: function () {
- function onDateRangePickerInputFocus(focusedInput) {
- var _props2 = this.props,
- onFocusChange = _props2.onFocusChange,
- readOnly = _props2.readOnly,
- withPortal = _props2.withPortal,
- withFullScreenPortal = _props2.withFullScreenPortal,
- keepFocusOnInput = _props2.keepFocusOnInput;
-
-
- if (focusedInput) {
- var withAnyPortal = withPortal || withFullScreenPortal;
- var moveFocusToDayPicker = withAnyPortal || readOnly && !keepFocusOnInput || this.isTouchDevice && !keepFocusOnInput;
-
- if (moveFocusToDayPicker) {
- this.onDayPickerFocus();
- } else {
- this.onDayPickerBlur();
- }
- }
-
- onFocusChange(focusedInput);
- }
-
- return onDateRangePickerInputFocus;
- }()
- }, {
- key: 'onDayPickerFocus',
- value: function () {
- function onDayPickerFocus() {
- var _props3 = this.props,
- focusedInput = _props3.focusedInput,
- onFocusChange = _props3.onFocusChange;
-
- if (!focusedInput) onFocusChange(_constants.START_DATE);
-
- this.setState({
- isDateRangePickerInputFocused: false,
- isDayPickerFocused: true,
- showKeyboardShortcuts: false
- });
- }
-
- return onDayPickerFocus;
- }()
- }, {
- key: 'onDayPickerBlur',
- value: function () {
- function onDayPickerBlur() {
- this.setState({
- isDateRangePickerInputFocused: true,
- isDayPickerFocused: false,
- showKeyboardShortcuts: false
- });
- }
-
- return onDayPickerBlur;
- }()
- }, {
- key: 'setDayPickerContainerRef',
- value: function () {
- function setDayPickerContainerRef(ref) {
- this.dayPickerContainer = ref;
- }
-
- return setDayPickerContainerRef;
- }()
- }, {
- key: 'setContainerRef',
- value: function () {
- function setContainerRef(ref) {
- this.container = ref;
- }
-
- return setContainerRef;
- }()
- }, {
- key: 'isOpened',
- value: function () {
- function isOpened() {
- var focusedInput = this.props.focusedInput;
-
- return focusedInput === _constants.START_DATE || focusedInput === _constants.END_DATE;
- }
-
- return isOpened;
- }()
- }, {
- key: 'disableScroll',
- value: function () {
- function disableScroll() {
- var _props4 = this.props,
- appendToBody = _props4.appendToBody,
- propDisableScroll = _props4.disableScroll;
-
- if (!appendToBody && !propDisableScroll) return;
- if (!this.isOpened()) return;
-
- // Disable scroll for every ancestor of this DateRangePicker up to the
- // document level. This ensures the input and the picker never move. Other
- // sibling elements or the picker itself can scroll.
- this.enableScroll = (0, _disableScroll3['default'])(this.container);
- }
-
- return disableScroll;
- }()
- }, {
- key: 'responsivizePickerPosition',
- value: function () {
- function responsivizePickerPosition() {
- // It's possible the portal props have been changed in response to window resizes
- // So let's ensure we reset this back to the base state each time
- this.setState({ dayPickerContainerStyles: {} });
-
- if (!this.isOpened()) {
- return;
- }
-
- var _props5 = this.props,
- openDirection = _props5.openDirection,
- anchorDirection = _props5.anchorDirection,
- horizontalMargin = _props5.horizontalMargin,
- withPortal = _props5.withPortal,
- withFullScreenPortal = _props5.withFullScreenPortal,
- appendToBody = _props5.appendToBody;
- var dayPickerContainerStyles = this.state.dayPickerContainerStyles;
-
-
- var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;
- if (!withPortal && !withFullScreenPortal) {
- var containerRect = this.dayPickerContainer.getBoundingClientRect();
- var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;
- var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];
-
- this.setState({
- dayPickerContainerStyles: (0, _object2['default'])({}, (0, _getResponsiveContainerStyles2['default'])(anchorDirection, currentOffset, containerEdge, horizontalMargin), appendToBody && (0, _getDetachedContainerStyles2['default'])(openDirection, anchorDirection, this.container))
- });
- }
- }
-
- return responsivizePickerPosition;
- }()
- }, {
- key: 'showKeyboardShortcutsPanel',
- value: function () {
- function showKeyboardShortcutsPanel() {
- this.setState({
- isDateRangePickerInputFocused: false,
- isDayPickerFocused: true,
- showKeyboardShortcuts: true
- });
- }
-
- return showKeyboardShortcutsPanel;
- }()
- }, {
- key: 'maybeRenderDayPickerWithPortal',
- value: function () {
- function maybeRenderDayPickerWithPortal() {
- var _props6 = this.props,
- withPortal = _props6.withPortal,
- withFullScreenPortal = _props6.withFullScreenPortal,
- appendToBody = _props6.appendToBody;
-
-
- if (!this.isOpened()) {
- return null;
- }
-
- if (withPortal || withFullScreenPortal || appendToBody) {
- return _react2['default'].createElement(
- _reactPortal.Portal,
- null,
- this.renderDayPicker()
- );
- }
-
- return this.renderDayPicker();
- }
-
- return maybeRenderDayPickerWithPortal;
- }()
- }, {
- key: 'renderDayPicker',
- value: function () {
- function renderDayPicker() {
- var _props7 = this.props,
- anchorDirection = _props7.anchorDirection,
- openDirection = _props7.openDirection,
- isDayBlocked = _props7.isDayBlocked,
- isDayHighlighted = _props7.isDayHighlighted,
- isOutsideRange = _props7.isOutsideRange,
- numberOfMonths = _props7.numberOfMonths,
- orientation = _props7.orientation,
- monthFormat = _props7.monthFormat,
- renderMonthText = _props7.renderMonthText,
- navPrev = _props7.navPrev,
- navNext = _props7.navNext,
- onPrevMonthClick = _props7.onPrevMonthClick,
- onNextMonthClick = _props7.onNextMonthClick,
- onDatesChange = _props7.onDatesChange,
- onFocusChange = _props7.onFocusChange,
- withPortal = _props7.withPortal,
- withFullScreenPortal = _props7.withFullScreenPortal,
- daySize = _props7.daySize,
- enableOutsideDays = _props7.enableOutsideDays,
- focusedInput = _props7.focusedInput,
- startDate = _props7.startDate,
- endDate = _props7.endDate,
- minimumNights = _props7.minimumNights,
- keepOpenOnDateSelect = _props7.keepOpenOnDateSelect,
- renderCalendarDay = _props7.renderCalendarDay,
- renderDayContents = _props7.renderDayContents,
- renderCalendarInfo = _props7.renderCalendarInfo,
- renderMonthElement = _props7.renderMonthElement,
- calendarInfoPosition = _props7.calendarInfoPosition,
- firstDayOfWeek = _props7.firstDayOfWeek,
- initialVisibleMonth = _props7.initialVisibleMonth,
- hideKeyboardShortcutsPanel = _props7.hideKeyboardShortcutsPanel,
- customCloseIcon = _props7.customCloseIcon,
- onClose = _props7.onClose,
- phrases = _props7.phrases,
- dayAriaLabelFormat = _props7.dayAriaLabelFormat,
- isRTL = _props7.isRTL,
- weekDayFormat = _props7.weekDayFormat,
- styles = _props7.styles,
- verticalHeight = _props7.verticalHeight,
- transitionDuration = _props7.transitionDuration,
- verticalSpacing = _props7.verticalSpacing,
- small = _props7.small,
- disabled = _props7.disabled,
- reactDates = _props7.theme.reactDates;
- var _state = this.state,
- dayPickerContainerStyles = _state.dayPickerContainerStyles,
- isDayPickerFocused = _state.isDayPickerFocused,
- showKeyboardShortcuts = _state.showKeyboardShortcuts;
-
-
- var onOutsideClick = !withFullScreenPortal && withPortal ? this.onOutsideClick : undefined;
- var initialVisibleMonthThunk = initialVisibleMonth || function () {
- return startDate || endDate || (0, _moment2['default'])();
- };
-
- var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.DateRangePicker_closeButton_svg));
-
- var inputHeight = (0, _getInputHeight2['default'])(reactDates, small);
-
- var withAnyPortal = withPortal || withFullScreenPortal;
-
- return _react2['default'].createElement(
- 'div',
- _extends({ // eslint-disable-line jsx-a11y/no-static-element-interactions
- ref: this.setDayPickerContainerRef
- }, (0, _reactWithStyles.css)(styles.DateRangePicker_picker, anchorDirection === _constants.ANCHOR_LEFT && styles.DateRangePicker_picker__directionLeft, anchorDirection === _constants.ANCHOR_RIGHT && styles.DateRangePicker_picker__directionRight, orientation === _constants.HORIZONTAL_ORIENTATION && styles.DateRangePicker_picker__horizontal, orientation === _constants.VERTICAL_ORIENTATION && styles.DateRangePicker_picker__vertical, !withAnyPortal && openDirection === _constants.OPEN_DOWN && {
- top: inputHeight + verticalSpacing
- }, !withAnyPortal && openDirection === _constants.OPEN_UP && {
- bottom: inputHeight + verticalSpacing
- }, withAnyPortal && styles.DateRangePicker_picker__portal, withFullScreenPortal && styles.DateRangePicker_picker__fullScreenPortal, isRTL && styles.DateRangePicker_picker__rtl, dayPickerContainerStyles), {
- onClick: onOutsideClick
- }),
- _react2['default'].createElement(_DayPickerRangeController2['default'], {
- orientation: orientation,
- enableOutsideDays: enableOutsideDays,
- numberOfMonths: numberOfMonths,
- onPrevMonthClick: onPrevMonthClick,
- onNextMonthClick: onNextMonthClick,
- onDatesChange: onDatesChange,
- onFocusChange: onFocusChange,
- onClose: onClose,
- focusedInput: focusedInput,
- startDate: startDate,
- endDate: endDate,
- monthFormat: monthFormat,
- renderMonthText: renderMonthText,
- withPortal: withAnyPortal,
- daySize: daySize,
- initialVisibleMonth: initialVisibleMonthThunk,
- hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
- navPrev: navPrev,
- navNext: navNext,
- minimumNights: minimumNights,
- isOutsideRange: isOutsideRange,
- isDayHighlighted: isDayHighlighted,
- isDayBlocked: isDayBlocked,
- keepOpenOnDateSelect: keepOpenOnDateSelect,
- renderCalendarDay: renderCalendarDay,
- renderDayContents: renderDayContents,
- renderCalendarInfo: renderCalendarInfo,
- renderMonthElement: renderMonthElement,
- calendarInfoPosition: calendarInfoPosition,
- isFocused: isDayPickerFocused,
- showKeyboardShortcuts: showKeyboardShortcuts,
- onBlur: this.onDayPickerBlur,
- phrases: phrases,
- dayAriaLabelFormat: dayAriaLabelFormat,
- isRTL: isRTL,
- firstDayOfWeek: firstDayOfWeek,
- weekDayFormat: weekDayFormat,
- verticalHeight: verticalHeight,
- transitionDuration: transitionDuration,
- disabled: disabled
- }),
- withFullScreenPortal && _react2['default'].createElement(
- 'button',
- _extends({}, (0, _reactWithStyles.css)(styles.DateRangePicker_closeButton), {
- type: 'button',
- onClick: this.onOutsideClick,
- 'aria-label': phrases.closeDatePicker
- }),
- closeIcon
- )
- );
- }
-
- return renderDayPicker;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props8 = this.props,
- startDate = _props8.startDate,
- startDateId = _props8.startDateId,
- startDatePlaceholderText = _props8.startDatePlaceholderText,
- endDate = _props8.endDate,
- endDateId = _props8.endDateId,
- endDatePlaceholderText = _props8.endDatePlaceholderText,
- focusedInput = _props8.focusedInput,
- screenReaderInputMessage = _props8.screenReaderInputMessage,
- showClearDates = _props8.showClearDates,
- showDefaultInputIcon = _props8.showDefaultInputIcon,
- inputIconPosition = _props8.inputIconPosition,
- customInputIcon = _props8.customInputIcon,
- customArrowIcon = _props8.customArrowIcon,
- customCloseIcon = _props8.customCloseIcon,
- disabled = _props8.disabled,
- required = _props8.required,
- readOnly = _props8.readOnly,
- openDirection = _props8.openDirection,
- phrases = _props8.phrases,
- isOutsideRange = _props8.isOutsideRange,
- minimumNights = _props8.minimumNights,
- withPortal = _props8.withPortal,
- withFullScreenPortal = _props8.withFullScreenPortal,
- displayFormat = _props8.displayFormat,
- reopenPickerOnClearDates = _props8.reopenPickerOnClearDates,
- keepOpenOnDateSelect = _props8.keepOpenOnDateSelect,
- onDatesChange = _props8.onDatesChange,
- onClose = _props8.onClose,
- isRTL = _props8.isRTL,
- noBorder = _props8.noBorder,
- block = _props8.block,
- verticalSpacing = _props8.verticalSpacing,
- small = _props8.small,
- regular = _props8.regular,
- styles = _props8.styles;
- var isDateRangePickerInputFocused = this.state.isDateRangePickerInputFocused;
-
-
- var enableOutsideClick = !withPortal && !withFullScreenPortal;
-
- var hideFang = verticalSpacing < _constants.FANG_HEIGHT_PX;
-
- var input = _react2['default'].createElement(_DateRangePickerInputController2['default'], {
- startDate: startDate,
- startDateId: startDateId,
- startDatePlaceholderText: startDatePlaceholderText,
- isStartDateFocused: focusedInput === _constants.START_DATE,
- endDate: endDate,
- endDateId: endDateId,
- endDatePlaceholderText: endDatePlaceholderText,
- isEndDateFocused: focusedInput === _constants.END_DATE,
- displayFormat: displayFormat,
- showClearDates: showClearDates,
- showCaret: !withPortal && !withFullScreenPortal && !hideFang,
- showDefaultInputIcon: showDefaultInputIcon,
- inputIconPosition: inputIconPosition,
- customInputIcon: customInputIcon,
- customArrowIcon: customArrowIcon,
- customCloseIcon: customCloseIcon,
- disabled: disabled,
- required: required,
- readOnly: readOnly,
- openDirection: openDirection,
- reopenPickerOnClearDates: reopenPickerOnClearDates,
- keepOpenOnDateSelect: keepOpenOnDateSelect,
- isOutsideRange: isOutsideRange,
- minimumNights: minimumNights,
- withFullScreenPortal: withFullScreenPortal,
- onDatesChange: onDatesChange,
- onFocusChange: this.onDateRangePickerInputFocus,
- onKeyDownArrowDown: this.onDayPickerFocus,
- onKeyDownQuestionMark: this.showKeyboardShortcutsPanel,
- onClose: onClose,
- phrases: phrases,
- screenReaderMessage: screenReaderInputMessage,
- isFocused: isDateRangePickerInputFocused,
- isRTL: isRTL,
- noBorder: noBorder,
- block: block,
- small: small,
- regular: regular,
- verticalSpacing: verticalSpacing
- });
-
- return _react2['default'].createElement(
- 'div',
- _extends({
- ref: this.setContainerRef
- }, (0, _reactWithStyles.css)(styles.DateRangePicker, block && styles.DateRangePicker__block)),
- enableOutsideClick && _react2['default'].createElement(
- _reactOutsideClickHandler2['default'],
- { onOutsideClick: this.onOutsideClick },
- input,
- this.maybeRenderDayPickerWithPortal()
- ),
- !enableOutsideClick && input,
- !enableOutsideClick && this.maybeRenderDayPickerWithPortal()
- );
- }
-
- return render;
- }()
- }]);
-
- return DateRangePicker;
-}(_react2['default'].Component);
-
-DateRangePicker.propTypes = propTypes;
-DateRangePicker.defaultProps = defaultProps;
-
-exports.PureDateRangePicker = DateRangePicker;
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {
- var _ref$reactDates = _ref.reactDates,
- color = _ref$reactDates.color,
- zIndex = _ref$reactDates.zIndex;
- return {
- DateRangePicker: {
- position: 'relative',
- display: 'inline-block'
- },
-
- DateRangePicker__block: {
- display: 'block'
- },
-
- DateRangePicker_picker: {
- zIndex: zIndex + 1,
- backgroundColor: color.background,
- position: 'absolute'
- },
-
- DateRangePicker_picker__rtl: {
- direction: 'rtl'
- },
-
- DateRangePicker_picker__directionLeft: {
- left: 0
- },
-
- DateRangePicker_picker__directionRight: {
- right: 0
- },
-
- DateRangePicker_picker__portal: {
- backgroundColor: 'rgba(0, 0, 0, 0.3)',
- position: 'fixed',
- top: 0,
- left: 0,
- height: '100%',
- width: '100%'
- },
-
- DateRangePicker_picker__fullScreenPortal: {
- backgroundColor: color.background
- },
-
- DateRangePicker_closeButton: {
- background: 'none',
- border: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
- cursor: 'pointer',
-
- position: 'absolute',
- top: 0,
- right: 0,
- padding: 15,
- zIndex: zIndex + 2,
-
- ':hover': {
- color: 'darken(' + String(color.core.grayLighter) + ', 10%)',
- textDecoration: 'none'
- },
-
- ':focus': {
- color: 'darken(' + String(color.core.grayLighter) + ', 10%)',
- textDecoration: 'none'
- }
- },
-
- DateRangePicker_closeButton_svg: {
- height: 15,
- width: 15,
- fill: color.core.grayLighter
- }
- };
-})(DateRangePicker);
-
-/***/ }),
-/* 303 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; }; }();
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(304);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _consolidatedEvents = __webpack_require__(103);
-
-var _object = __webpack_require__(307);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _document = __webpack_require__(311);
-
-var _document2 = _interopRequireDefault(_document);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var DISPLAY = {
- BLOCK: 'block',
- FLEX: 'flex',
- INLINE_BLOCK: 'inline-block'
-};
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)({
- children: _propTypes2['default'].node.isRequired,
- onOutsideClick: _propTypes2['default'].func.isRequired,
- disabled: _propTypes2['default'].bool,
- useCapture: _propTypes2['default'].bool,
- display: _propTypes2['default'].oneOf((0, _object2['default'])(DISPLAY))
-});
-
-var defaultProps = {
- disabled: false,
-
- // `useCapture` is set to true by default so that a `stopPropagation` in the
- // children will not prevent all outside click handlers from firing - maja
- useCapture: true,
- display: DISPLAY.BLOCK
-};
-
-var OutsideClickHandler = function (_React$Component) {
- _inherits(OutsideClickHandler, _React$Component);
-
- function OutsideClickHandler() {
- var _ref;
-
- _classCallCheck(this, OutsideClickHandler);
-
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- var _this = _possibleConstructorReturn(this, (_ref = OutsideClickHandler.__proto__ || Object.getPrototypeOf(OutsideClickHandler)).call.apply(_ref, [this].concat(args)));
-
- _this.onMouseDown = _this.onMouseDown.bind(_this);
- _this.onMouseUp = _this.onMouseUp.bind(_this);
- _this.setChildNodeRef = _this.setChildNodeRef.bind(_this);
- return _this;
- }
-
- _createClass(OutsideClickHandler, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- var _props = this.props,
- disabled = _props.disabled,
- useCapture = _props.useCapture;
-
-
- if (!disabled) this.addMouseDownEventListener(useCapture);
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(_ref2) {
- var disabled = _ref2.disabled,
- useCapture = _ref2.useCapture;
- var prevDisabled = this.props.disabled;
-
- if (prevDisabled !== disabled) {
- if (disabled) {
- this.removeEventListeners();
- } else {
- this.addMouseDownEventListener(useCapture);
- }
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'componentWillUnmount',
- value: function () {
- function componentWillUnmount() {
- this.removeEventListeners();
- }
-
- return componentWillUnmount;
- }()
-
- // Use mousedown/mouseup to enforce that clicks remain outside the root's
- // descendant tree, even when dragged. This should also get triggered on
- // touch devices.
-
- }, {
- key: 'onMouseDown',
- value: function () {
- function onMouseDown(e) {
- var useCapture = this.props.useCapture;
-
-
- var isDescendantOfRoot = this.childNode && (0, _document2['default'])(this.childNode, e.target);
- if (!isDescendantOfRoot) {
- this.removeMouseUp = (0, _consolidatedEvents.addEventListener)(document, 'mouseup', this.onMouseUp, { capture: useCapture });
- }
- }
-
- return onMouseDown;
- }()
-
- // Use mousedown/mouseup to enforce that clicks remain outside the root's
- // descendant tree, even when dragged. This should also get triggered on
- // touch devices.
-
- }, {
- key: 'onMouseUp',
- value: function () {
- function onMouseUp(e) {
- var onOutsideClick = this.props.onOutsideClick;
-
-
- var isDescendantOfRoot = this.childNode && (0, _document2['default'])(this.childNode, e.target);
- if (this.removeMouseUp) this.removeMouseUp();
- this.removeMouseUp = null;
-
- if (!isDescendantOfRoot) {
- onOutsideClick(e);
- }
- }
-
- return onMouseUp;
- }()
- }, {
- key: 'setChildNodeRef',
- value: function () {
- function setChildNodeRef(ref) {
- this.childNode = ref;
- }
-
- return setChildNodeRef;
- }()
- }, {
- key: 'addMouseDownEventListener',
- value: function () {
- function addMouseDownEventListener(useCapture) {
- this.removeMouseDown = (0, _consolidatedEvents.addEventListener)(document, 'mousedown', this.onMouseDown, { capture: useCapture });
- }
-
- return addMouseDownEventListener;
- }()
- }, {
- key: 'removeEventListeners',
- value: function () {
- function removeEventListeners() {
- if (this.removeMouseDown) this.removeMouseDown();
- if (this.removeMouseUp) this.removeMouseUp();
- }
-
- return removeEventListeners;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props2 = this.props,
- children = _props2.children,
- display = _props2.display;
-
-
- return _react2['default'].createElement(
- 'div',
- {
- ref: this.setChildNodeRef,
- style: display !== DISPLAY.BLOCK && (0, _object2['default'])(DISPLAY).includes(display) ? { display: display } : undefined
- },
- children
- );
- }
-
- return render;
- }()
- }]);
-
- return OutsideClickHandler;
-}(_react2['default'].Component);
-
-exports['default'] = OutsideClickHandler;
-
-
-OutsideClickHandler.propTypes = propTypes;
-OutsideClickHandler.defaultProps = defaultProps;
-
-/***/ }),
-/* 304 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-if (false) { var throwOnDirectAccess, ReactIs; } else {
- // By explicitly using `prop-types` you are opting into new production behavior.
- // http://fb.me/prop-types-in-prod
- module.exports = __webpack_require__(305)();
-}
-
-
-/***/ }),
-/* 305 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var ReactPropTypesSecret = __webpack_require__(306);
+var ReactPropTypesSecret = __webpack_require__(139);
function emptyFunction() {}
function emptyFunctionWithReset() {}
@@ -20899,7 +12398,7 @@
/***/ }),
-/* 306 */
+/* 139 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20918,2031 +12417,75 @@
/***/ }),
-/* 307 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(163);
-
-var implementation = __webpack_require__(165);
-var getPolyfill = __webpack_require__(167);
-var shim = __webpack_require__(310);
-
-var polyfill = getPolyfill();
-
-define(polyfill, {
- getPolyfill: getPolyfill,
- implementation: implementation,
- shim: shim
-});
-
-module.exports = polyfill;
-
-
-/***/ }),
-/* 308 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var slice = Array.prototype.slice;
-var isArgs = __webpack_require__(164);
-
-var origKeys = Object.keys;
-var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(309);
-
-var originalKeys = Object.keys;
-
-keysShim.shim = function shimObjectKeys() {
- if (Object.keys) {
- var keysWorksWithArguments = (function () {
- // Safari 5.0 bug
- var args = Object.keys(arguments);
- return args && args.length === arguments.length;
- }(1, 2));
- if (!keysWorksWithArguments) {
- Object.keys = function keys(object) { // eslint-disable-line func-name-matching
- if (isArgs(object)) {
- return originalKeys(slice.call(object));
- }
- return originalKeys(object);
- };
- }
- } else {
- Object.keys = keysShim;
- }
- return Object.keys || keysShim;
-};
-
-module.exports = keysShim;
-
-
-/***/ }),
-/* 309 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var keysShim;
-if (!Object.keys) {
- // modified from https://github.com/es-shims/es5-shim
- var has = Object.prototype.hasOwnProperty;
- var toStr = Object.prototype.toString;
- var isArgs = __webpack_require__(164); // eslint-disable-line global-require
- var isEnumerable = Object.prototype.propertyIsEnumerable;
- var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
- var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
- var dontEnums = [
- 'toString',
- 'toLocaleString',
- 'valueOf',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'constructor'
- ];
- var equalsConstructorPrototype = function (o) {
- var ctor = o.constructor;
- return ctor && ctor.prototype === o;
- };
- var excludedKeys = {
- $applicationCache: true,
- $console: true,
- $external: true,
- $frame: true,
- $frameElement: true,
- $frames: true,
- $innerHeight: true,
- $innerWidth: true,
- $onmozfullscreenchange: true,
- $onmozfullscreenerror: true,
- $outerHeight: true,
- $outerWidth: true,
- $pageXOffset: true,
- $pageYOffset: true,
- $parent: true,
- $scrollLeft: true,
- $scrollTop: true,
- $scrollX: true,
- $scrollY: true,
- $self: true,
- $webkitIndexedDB: true,
- $webkitStorageInfo: true,
- $window: true
- };
- var hasAutomationEqualityBug = (function () {
- /* global window */
- if (typeof window === 'undefined') { return false; }
- for (var k in window) {
- try {
- if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
- try {
- equalsConstructorPrototype(window[k]);
- } catch (e) {
- return true;
- }
- }
- } catch (e) {
- return true;
- }
- }
- return false;
- }());
- var equalsConstructorPrototypeIfNotBuggy = function (o) {
- /* global window */
- if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
- return equalsConstructorPrototype(o);
- }
- try {
- return equalsConstructorPrototype(o);
- } catch (e) {
- return false;
- }
- };
-
- keysShim = function keys(object) {
- var isObject = object !== null && typeof object === 'object';
- var isFunction = toStr.call(object) === '[object Function]';
- var isArguments = isArgs(object);
- var isString = isObject && toStr.call(object) === '[object String]';
- var theKeys = [];
-
- if (!isObject && !isFunction && !isArguments) {
- throw new TypeError('Object.keys called on a non-object');
- }
-
- var skipProto = hasProtoEnumBug && isFunction;
- if (isString && object.length > 0 && !has.call(object, 0)) {
- for (var i = 0; i < object.length; ++i) {
- theKeys.push(String(i));
- }
- }
-
- if (isArguments && object.length > 0) {
- for (var j = 0; j < object.length; ++j) {
- theKeys.push(String(j));
- }
- } else {
- for (var name in object) {
- if (!(skipProto && name === 'prototype') && has.call(object, name)) {
- theKeys.push(String(name));
- }
- }
- }
-
- if (hasDontEnumBug) {
- var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
-
- for (var k = 0; k < dontEnums.length; ++k) {
- if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
- theKeys.push(dontEnums[k]);
- }
- }
- }
- return theKeys;
- };
-}
-module.exports = keysShim;
-
-
-/***/ }),
-/* 310 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var getPolyfill = __webpack_require__(167);
-var define = __webpack_require__(163);
-
-module.exports = function shimValues() {
- var polyfill = getPolyfill();
- define(Object, { values: polyfill }, {
- values: function testValues() {
- return Object.values !== polyfill;
- }
- });
- return polyfill;
-};
-
-
-/***/ }),
-/* 311 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(168);
-
-var implementation = __webpack_require__(170);
-var getPolyfill = __webpack_require__(171);
-var polyfill = getPolyfill();
-var shim = __webpack_require__(314);
-
-var boundContains = function contains(node, other) {
- return polyfill.apply(node, [other]);
-};
-
-define(boundContains, {
- getPolyfill: getPolyfill,
- implementation: implementation,
- shim: shim
-});
-
-module.exports = boundContains;
-
-
-/***/ }),
-/* 312 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var slice = Array.prototype.slice;
-var isArgs = __webpack_require__(169);
-
-var origKeys = Object.keys;
-var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(313);
-
-var originalKeys = Object.keys;
-
-keysShim.shim = function shimObjectKeys() {
- if (Object.keys) {
- var keysWorksWithArguments = (function () {
- // Safari 5.0 bug
- var args = Object.keys(arguments);
- return args && args.length === arguments.length;
- }(1, 2));
- if (!keysWorksWithArguments) {
- Object.keys = function keys(object) { // eslint-disable-line func-name-matching
- if (isArgs(object)) {
- return originalKeys(slice.call(object));
- }
- return originalKeys(object);
- };
- }
- } else {
- Object.keys = keysShim;
- }
- return Object.keys || keysShim;
-};
-
-module.exports = keysShim;
-
-
-/***/ }),
-/* 313 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var keysShim;
-if (!Object.keys) {
- // modified from https://github.com/es-shims/es5-shim
- var has = Object.prototype.hasOwnProperty;
- var toStr = Object.prototype.toString;
- var isArgs = __webpack_require__(169); // eslint-disable-line global-require
- var isEnumerable = Object.prototype.propertyIsEnumerable;
- var hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');
- var hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');
- var dontEnums = [
- 'toString',
- 'toLocaleString',
- 'valueOf',
- 'hasOwnProperty',
- 'isPrototypeOf',
- 'propertyIsEnumerable',
- 'constructor'
- ];
- var equalsConstructorPrototype = function (o) {
- var ctor = o.constructor;
- return ctor && ctor.prototype === o;
- };
- var excludedKeys = {
- $applicationCache: true,
- $console: true,
- $external: true,
- $frame: true,
- $frameElement: true,
- $frames: true,
- $innerHeight: true,
- $innerWidth: true,
- $onmozfullscreenchange: true,
- $onmozfullscreenerror: true,
- $outerHeight: true,
- $outerWidth: true,
- $pageXOffset: true,
- $pageYOffset: true,
- $parent: true,
- $scrollLeft: true,
- $scrollTop: true,
- $scrollX: true,
- $scrollY: true,
- $self: true,
- $webkitIndexedDB: true,
- $webkitStorageInfo: true,
- $window: true
- };
- var hasAutomationEqualityBug = (function () {
- /* global window */
- if (typeof window === 'undefined') { return false; }
- for (var k in window) {
- try {
- if (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {
- try {
- equalsConstructorPrototype(window[k]);
- } catch (e) {
- return true;
- }
- }
- } catch (e) {
- return true;
- }
- }
- return false;
- }());
- var equalsConstructorPrototypeIfNotBuggy = function (o) {
- /* global window */
- if (typeof window === 'undefined' || !hasAutomationEqualityBug) {
- return equalsConstructorPrototype(o);
- }
- try {
- return equalsConstructorPrototype(o);
- } catch (e) {
- return false;
- }
- };
-
- keysShim = function keys(object) {
- var isObject = object !== null && typeof object === 'object';
- var isFunction = toStr.call(object) === '[object Function]';
- var isArguments = isArgs(object);
- var isString = isObject && toStr.call(object) === '[object String]';
- var theKeys = [];
-
- if (!isObject && !isFunction && !isArguments) {
- throw new TypeError('Object.keys called on a non-object');
- }
-
- var skipProto = hasProtoEnumBug && isFunction;
- if (isString && object.length > 0 && !has.call(object, 0)) {
- for (var i = 0; i < object.length; ++i) {
- theKeys.push(String(i));
- }
- }
-
- if (isArguments && object.length > 0) {
- for (var j = 0; j < object.length; ++j) {
- theKeys.push(String(j));
- }
- } else {
- for (var name in object) {
- if (!(skipProto && name === 'prototype') && has.call(object, name)) {
- theKeys.push(String(name));
- }
- }
- }
-
- if (hasDontEnumBug) {
- var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
-
- for (var k = 0; k < dontEnums.length; ++k) {
- if (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {
- theKeys.push(dontEnums[k]);
- }
- }
- }
- return theKeys;
- };
-}
-module.exports = keysShim;
-
-
-/***/ }),
-/* 314 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var define = __webpack_require__(168);
-var getPolyfill = __webpack_require__(171);
-
-module.exports = function shimContains() {
- var polyfill = getPolyfill();
- if (typeof document !== 'undefined') {
- define(
- document,
- { contains: polyfill },
- { contains: function () { return document.contains !== polyfill; } }
- );
- if (typeof Element !== 'undefined') {
- define(
- Element.prototype,
- { contains: polyfill },
- { contains: function () { return Element.prototype.contains !== polyfill; } }
- );
- }
- }
- return polyfill;
-};
-
-
-/***/ }),
-/* 315 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(128),
- now = __webpack_require__(316),
- toNumber = __webpack_require__(318);
-
-/** Error message constants. */
-var FUNC_ERROR_TEXT = 'Expected a function';
-
-/* Built-in method references for those with the same name as other `lodash` methods. */
-var nativeMax = Math.max,
- nativeMin = Math.min;
-
-/**
- * Creates a debounced function that delays invoking `func` until after `wait`
- * milliseconds have elapsed since the last time the debounced function was
- * invoked. The debounced function comes with a `cancel` method to cancel
- * delayed `func` invocations and a `flush` method to immediately invoke them.
- * Provide `options` to indicate whether `func` should be invoked on the
- * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
- * with the last arguments provided to the debounced function. Subsequent
- * calls to the debounced function return the result of the last `func`
- * invocation.
- *
- * **Note:** If `leading` and `trailing` options are `true`, `func` is
- * invoked on the trailing edge of the timeout only if the debounced function
- * is invoked more than once during the `wait` timeout.
- *
- * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
- * until to the next tick, similar to `setTimeout` with a timeout of `0`.
- *
- * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
- * for details over the differences between `_.debounce` and `_.throttle`.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Function
- * @param {Function} func The function to debounce.
- * @param {number} [wait=0] The number of milliseconds to delay.
- * @param {Object} [options={}] The options object.
- * @param {boolean} [options.leading=false]
- * Specify invoking on the leading edge of the timeout.
- * @param {number} [options.maxWait]
- * The maximum time `func` is allowed to be delayed before it's invoked.
- * @param {boolean} [options.trailing=true]
- * Specify invoking on the trailing edge of the timeout.
- * @returns {Function} Returns the new debounced function.
- * @example
- *
- * // Avoid costly calculations while the window size is in flux.
- * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
- *
- * // Invoke `sendMail` when clicked, debouncing subsequent calls.
- * jQuery(element).on('click', _.debounce(sendMail, 300, {
- * 'leading': true,
- * 'trailing': false
- * }));
- *
- * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
- * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
- * var source = new EventSource('/stream');
- * jQuery(source).on('message', debounced);
- *
- * // Cancel the trailing debounced invocation.
- * jQuery(window).on('popstate', debounced.cancel);
- */
-function debounce(func, wait, options) {
- var lastArgs,
- lastThis,
- maxWait,
- result,
- timerId,
- lastCallTime,
- lastInvokeTime = 0,
- leading = false,
- maxing = false,
- trailing = true;
-
- if (typeof func != 'function') {
- throw new TypeError(FUNC_ERROR_TEXT);
- }
- wait = toNumber(wait) || 0;
- if (isObject(options)) {
- leading = !!options.leading;
- maxing = 'maxWait' in options;
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
- trailing = 'trailing' in options ? !!options.trailing : trailing;
- }
-
- function invokeFunc(time) {
- var args = lastArgs,
- thisArg = lastThis;
-
- lastArgs = lastThis = undefined;
- lastInvokeTime = time;
- result = func.apply(thisArg, args);
- return result;
- }
-
- function leadingEdge(time) {
- // Reset any `maxWait` timer.
- lastInvokeTime = time;
- // Start the timer for the trailing edge.
- timerId = setTimeout(timerExpired, wait);
- // Invoke the leading edge.
- return leading ? invokeFunc(time) : result;
- }
-
- function remainingWait(time) {
- var timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime,
- timeWaiting = wait - timeSinceLastCall;
-
- return maxing
- ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)
- : timeWaiting;
- }
-
- function shouldInvoke(time) {
- var timeSinceLastCall = time - lastCallTime,
- timeSinceLastInvoke = time - lastInvokeTime;
-
- // Either this is the first call, activity has stopped and we're at the
- // trailing edge, the system time has gone backwards and we're treating
- // it as the trailing edge, or we've hit the `maxWait` limit.
- return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
- (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
- }
-
- function timerExpired() {
- var time = now();
- if (shouldInvoke(time)) {
- return trailingEdge(time);
- }
- // Restart the timer.
- timerId = setTimeout(timerExpired, remainingWait(time));
- }
-
- function trailingEdge(time) {
- timerId = undefined;
-
- // Only invoke if we have `lastArgs` which means `func` has been
- // debounced at least once.
- if (trailing && lastArgs) {
- return invokeFunc(time);
- }
- lastArgs = lastThis = undefined;
- return result;
- }
-
- function cancel() {
- if (timerId !== undefined) {
- clearTimeout(timerId);
- }
- lastInvokeTime = 0;
- lastArgs = lastCallTime = lastThis = timerId = undefined;
- }
-
- function flush() {
- return timerId === undefined ? result : trailingEdge(now());
- }
-
- function debounced() {
- var time = now(),
- isInvoking = shouldInvoke(time);
-
- lastArgs = arguments;
- lastThis = this;
- lastCallTime = time;
-
- if (isInvoking) {
- if (timerId === undefined) {
- return leadingEdge(lastCallTime);
- }
- if (maxing) {
- // Handle invocations in a tight loop.
- timerId = setTimeout(timerExpired, wait);
- return invokeFunc(lastCallTime);
- }
- }
- if (timerId === undefined) {
- timerId = setTimeout(timerExpired, wait);
- }
- return result;
- }
- debounced.cancel = cancel;
- debounced.flush = flush;
- return debounced;
-}
-
-module.exports = debounce;
-
-
-/***/ }),
-/* 316 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var root = __webpack_require__(183);
-
-/**
- * Gets the timestamp of the number of milliseconds that have elapsed since
- * the Unix epoch (1 January 1970 00:00:00 UTC).
- *
- * @static
- * @memberOf _
- * @since 2.4.0
- * @category Date
- * @returns {number} Returns the timestamp.
- * @example
- *
- * _.defer(function(stamp) {
- * console.log(_.now() - stamp);
- * }, _.now());
- * // => Logs the number of milliseconds it took for the deferred invocation.
- */
-var now = function() {
- return root.Date.now();
-};
-
-module.exports = now;
-
-
-/***/ }),
-/* 317 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */
-var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
-
-module.exports = freeGlobal;
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(59)))
-
-/***/ }),
-/* 318 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var isObject = __webpack_require__(128),
- isSymbol = __webpack_require__(319);
-
-/** Used as references for various `Number` constants. */
-var NAN = 0 / 0;
-
-/** Used to match leading and trailing whitespace. */
-var reTrim = /^\s+|\s+$/g;
-
-/** Used to detect bad signed hexadecimal string values. */
-var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
-
-/** Used to detect binary string values. */
-var reIsBinary = /^0b[01]+$/i;
-
-/** Used to detect octal string values. */
-var reIsOctal = /^0o[0-7]+$/i;
-
-/** Built-in method references without a dependency on `root`. */
-var freeParseInt = parseInt;
-
-/**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
-function toNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, '');
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
-}
-
-module.exports = toNumber;
-
-
-/***/ }),
-/* 319 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var baseGetTag = __webpack_require__(320),
- isObjectLike = __webpack_require__(323);
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && baseGetTag(value) == symbolTag);
-}
-
-module.exports = isSymbol;
-
-
-/***/ }),
-/* 320 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Symbol = __webpack_require__(184),
- getRawTag = __webpack_require__(321),
- objectToString = __webpack_require__(322);
-
-/** `Object#toString` result references. */
-var nullTag = '[object Null]',
- undefinedTag = '[object Undefined]';
-
-/** Built-in value references. */
-var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
-
-/**
- * The base implementation of `getTag` without fallbacks for buggy environments.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the `toStringTag`.
- */
-function baseGetTag(value) {
- if (value == null) {
- return value === undefined ? undefinedTag : nullTag;
- }
- return (symToStringTag && symToStringTag in Object(value))
- ? getRawTag(value)
- : objectToString(value);
-}
-
-module.exports = baseGetTag;
-
-
-/***/ }),
-/* 321 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Symbol = __webpack_require__(184);
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/** Used to check objects for own properties. */
-var hasOwnProperty = objectProto.hasOwnProperty;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
-var nativeObjectToString = objectProto.toString;
-
-/** Built-in value references. */
-var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
-
-/**
- * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
- *
- * @private
- * @param {*} value The value to query.
- * @returns {string} Returns the raw `toStringTag`.
- */
-function getRawTag(value) {
- var isOwn = hasOwnProperty.call(value, symToStringTag),
- tag = value[symToStringTag];
-
- try {
- value[symToStringTag] = undefined;
- var unmasked = true;
- } catch (e) {}
-
- var result = nativeObjectToString.call(value);
- if (unmasked) {
- if (isOwn) {
- value[symToStringTag] = tag;
- } else {
- delete value[symToStringTag];
- }
- }
- return result;
-}
-
-module.exports = getRawTag;
-
-
-/***/ }),
-/* 322 */
-/***/ (function(module, exports) {
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
- * of values.
- */
-var nativeObjectToString = objectProto.toString;
-
-/**
- * Converts `value` to a string using `Object.prototype.toString`.
- *
- * @private
- * @param {*} value The value to convert.
- * @returns {string} Returns the converted string.
- */
-function objectToString(value) {
- return nativeObjectToString.call(value);
-}
-
-module.exports = objectToString;
-
-
-/***/ }),
-/* 323 */
-/***/ (function(module, exports) {
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return value != null && typeof value == 'object';
-}
-
-module.exports = isObjectLike;
-
-
-/***/ }),
-/* 324 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var getPolyfill = __webpack_require__(191);
-var define = __webpack_require__(73);
-
-module.exports = function shimValues() {
- var polyfill = getPolyfill();
- define(Object, { values: polyfill }, {
- values: function testValues() {
- return Object.values !== polyfill;
- }
- });
- return polyfill;
-};
-
-
-/***/ }),
-/* 325 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports["default"] = getSelectedDateOffset;
-var defaultModifier = function defaultModifier(day) {
- return day;
-};
-
-function getSelectedDateOffset(fn, day) {
- var modifier = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultModifier;
-
- if (!fn) return day;
- return modifier(fn(day.clone()));
-}
-
-/***/ }),
-/* 326 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _LeftArrow = __webpack_require__(186);
-
-var _LeftArrow2 = _interopRequireDefault(_LeftArrow);
-
-var _RightArrow = __webpack_require__(185);
-
-var _RightArrow2 = _interopRequireDefault(_RightArrow);
-
-var _ChevronUp = __webpack_require__(327);
-
-var _ChevronUp2 = _interopRequireDefault(_ChevronUp);
-
-var _ChevronDown = __webpack_require__(328);
-
-var _ChevronDown2 = _interopRequireDefault(_ChevronDown);
-
-var _ScrollableOrientationShape = __webpack_require__(81);
-
-var _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- navPrev: _propTypes2['default'].node,
- navNext: _propTypes2['default'].node,
- orientation: _ScrollableOrientationShape2['default'],
-
- onPrevMonthClick: _propTypes2['default'].func,
- onNextMonthClick: _propTypes2['default'].func,
-
- // internationalization
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerNavigationPhrases)),
-
- isRTL: _propTypes2['default'].bool
-}));
-
-var defaultProps = {
- navPrev: null,
- navNext: null,
- orientation: _constants.HORIZONTAL_ORIENTATION,
-
- onPrevMonthClick: function () {
- function onPrevMonthClick() {}
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: function () {
- function onNextMonthClick() {}
-
- return onNextMonthClick;
- }(),
-
-
- // internationalization
- phrases: _defaultPhrases.DayPickerNavigationPhrases,
- isRTL: false
-};
-
-function DayPickerNavigation(_ref) {
- var navPrev = _ref.navPrev,
- navNext = _ref.navNext,
- onPrevMonthClick = _ref.onPrevMonthClick,
- onNextMonthClick = _ref.onNextMonthClick,
- orientation = _ref.orientation,
- phrases = _ref.phrases,
- isRTL = _ref.isRTL,
- styles = _ref.styles;
-
- var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION;
- var isVertical = orientation !== _constants.HORIZONTAL_ORIENTATION;
- var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;
-
- var navPrevIcon = navPrev;
- var navNextIcon = navNext;
- var isDefaultNavPrev = false;
- var isDefaultNavNext = false;
- if (!navPrevIcon) {
- isDefaultNavPrev = true;
- var Icon = isVertical ? _ChevronUp2['default'] : _LeftArrow2['default'];
- if (isRTL && !isVertical) {
- Icon = _RightArrow2['default'];
- }
- navPrevIcon = _react2['default'].createElement(Icon, (0, _reactWithStyles.css)(isHorizontal && styles.DayPickerNavigation_svg__horizontal, isVertical && styles.DayPickerNavigation_svg__vertical));
- }
-
- if (!navNextIcon) {
- isDefaultNavNext = true;
- var _Icon = isVertical ? _ChevronDown2['default'] : _RightArrow2['default'];
- if (isRTL && !isVertical) {
- _Icon = _LeftArrow2['default'];
- }
- navNextIcon = _react2['default'].createElement(_Icon, (0, _reactWithStyles.css)(isHorizontal && styles.DayPickerNavigation_svg__horizontal, isVertical && styles.DayPickerNavigation_svg__vertical));
- }
-
- var isDefaultNav = isVerticalScrollable ? isDefaultNavNext : isDefaultNavNext || isDefaultNavPrev;
-
- return _react2['default'].createElement(
- 'div',
- _reactWithStyles.css.apply(undefined, [styles.DayPickerNavigation, isHorizontal && styles.DayPickerNavigation__horizontal].concat(_toConsumableArray(isVertical && [styles.DayPickerNavigation__vertical, isDefaultNav && styles.DayPickerNavigation__verticalDefault]), _toConsumableArray(isVerticalScrollable && [styles.DayPickerNavigation__verticalScrollable, isDefaultNav && styles.DayPickerNavigation__verticalScrollableDefault]))),
- !isVerticalScrollable && _react2['default'].createElement(
- 'div',
- _extends({
- role: 'button',
- tabIndex: '0'
- }, _reactWithStyles.css.apply(undefined, [styles.DayPickerNavigation_button, isDefaultNavPrev && styles.DayPickerNavigation_button__default].concat(_toConsumableArray(isHorizontal && [styles.DayPickerNavigation_button__horizontal].concat(_toConsumableArray(isDefaultNavPrev && [styles.DayPickerNavigation_button__horizontalDefault, !isRTL && styles.DayPickerNavigation_leftButton__horizontalDefault, isRTL && styles.DayPickerNavigation_rightButton__horizontalDefault]))), _toConsumableArray(isVertical && [styles.DayPickerNavigation_button__vertical].concat(_toConsumableArray(isDefaultNavPrev && [styles.DayPickerNavigation_button__verticalDefault, styles.DayPickerNavigation_prevButton__verticalDefault]))))), {
- 'aria-label': phrases.jumpToPrevMonth,
- onClick: onPrevMonthClick,
- onKeyUp: function () {
- function onKeyUp(e) {
- var key = e.key;
-
- if (key === 'Enter' || key === ' ') onPrevMonthClick(e);
- }
-
- return onKeyUp;
- }(),
- onMouseUp: function () {
- function onMouseUp(e) {
- e.currentTarget.blur();
- }
-
- return onMouseUp;
- }()
- }),
- navPrevIcon
- ),
- _react2['default'].createElement(
- 'div',
- _extends({
- role: 'button',
- tabIndex: '0'
- }, _reactWithStyles.css.apply(undefined, [styles.DayPickerNavigation_button, isDefaultNavNext && styles.DayPickerNavigation_button__default].concat(_toConsumableArray(isHorizontal && [styles.DayPickerNavigation_button__horizontal].concat(_toConsumableArray(isDefaultNavNext && [styles.DayPickerNavigation_button__horizontalDefault, isRTL && styles.DayPickerNavigation_leftButton__horizontalDefault, !isRTL && styles.DayPickerNavigation_rightButton__horizontalDefault]))), _toConsumableArray(isVertical && [styles.DayPickerNavigation_button__vertical, styles.DayPickerNavigation_nextButton__vertical].concat(_toConsumableArray(isDefaultNavNext && [styles.DayPickerNavigation_button__verticalDefault, styles.DayPickerNavigation_nextButton__verticalDefault, isVerticalScrollable && styles.DayPickerNavigation_nextButton__verticalScrollableDefault]))))), {
- 'aria-label': phrases.jumpToNextMonth,
- onClick: onNextMonthClick,
- onKeyUp: function () {
- function onKeyUp(e) {
- var key = e.key;
-
- if (key === 'Enter' || key === ' ') onNextMonthClick(e);
- }
-
- return onKeyUp;
- }(),
- onMouseUp: function () {
- function onMouseUp(e) {
- e.currentTarget.blur();
- }
-
- return onMouseUp;
- }()
- }),
- navNextIcon
- )
- );
-}
-
-DayPickerNavigation.propTypes = propTypes;
-DayPickerNavigation.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var _ref2$reactDates = _ref2.reactDates,
- color = _ref2$reactDates.color,
- zIndex = _ref2$reactDates.zIndex;
- return {
- DayPickerNavigation: {
- position: 'relative',
- zIndex: zIndex + 2
- },
-
- DayPickerNavigation__horizontal: {
- height: 0
- },
-
- DayPickerNavigation__vertical: {},
- DayPickerNavigation__verticalScrollable: {},
-
- DayPickerNavigation__verticalDefault: {
- position: 'absolute',
- width: '100%',
- height: 52,
- bottom: 0,
- left: 0
- },
-
- DayPickerNavigation__verticalScrollableDefault: {
- position: 'relative'
- },
-
- DayPickerNavigation_button: {
- cursor: 'pointer',
- userSelect: 'none',
- border: 0,
- padding: 0,
- margin: 0
- },
-
- DayPickerNavigation_button__default: {
- border: '1px solid ' + String(color.core.borderLight),
- backgroundColor: color.background,
- color: color.placeholderText,
-
- ':focus': {
- border: '1px solid ' + String(color.core.borderMedium)
- },
-
- ':hover': {
- border: '1px solid ' + String(color.core.borderMedium)
- },
-
- ':active': {
- background: color.backgroundDark
- }
- },
-
- DayPickerNavigation_button__horizontal: {},
-
- DayPickerNavigation_button__horizontalDefault: {
- position: 'absolute',
- top: 18,
- lineHeight: 0.78,
- borderRadius: 3,
- padding: '6px 9px'
- },
-
- DayPickerNavigation_leftButton__horizontalDefault: {
- left: 22
- },
-
- DayPickerNavigation_rightButton__horizontalDefault: {
- right: 22
- },
-
- DayPickerNavigation_button__vertical: {},
-
- DayPickerNavigation_button__verticalDefault: {
- padding: 5,
- background: color.background,
- boxShadow: '0 0 5px 2px rgba(0, 0, 0, 0.1)',
- position: 'relative',
- display: 'inline-block',
- height: '100%',
- width: '50%'
- },
-
- DayPickerNavigation_prevButton__verticalDefault: {},
-
- DayPickerNavigation_nextButton__verticalDefault: {
- borderLeft: 0
- },
-
- DayPickerNavigation_nextButton__verticalScrollableDefault: {
- width: '100%'
- },
-
- DayPickerNavigation_svg__horizontal: {
- height: 19,
- width: 19,
- fill: color.core.grayLight,
- display: 'block'
- },
-
- DayPickerNavigation_svg__vertical: {
- height: 42,
- width: 42,
- fill: color.text,
- display: 'block'
- }
- };
-})(DayPickerNavigation);
-
-/***/ }),
-/* 327 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var ChevronUp = function () {
- function ChevronUp(props) {
- return _react2['default'].createElement(
- 'svg',
- props,
- _react2['default'].createElement('path', {
- d: 'M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z'
- })
- );
- }
-
- return ChevronUp;
-}();
-
-ChevronUp.defaultProps = {
- viewBox: '0 0 1000 1000'
-};
-exports['default'] = ChevronUp;
-
-/***/ }),
-/* 328 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var ChevronDown = function () {
- function ChevronDown(props) {
- return _react2['default'].createElement(
- 'svg',
- props,
- _react2['default'].createElement('path', {
- d: 'M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z'
- })
- );
- }
-
- return ChevronDown;
-}();
-
-ChevronDown.defaultProps = {
- viewBox: '0 0 1000 1000'
-};
-exports['default'] = ChevronDown;
-
-/***/ }),
-/* 329 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports.BOTTOM_RIGHT = exports.TOP_RIGHT = exports.TOP_LEFT = undefined;
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _getPhrasePropTypes = __webpack_require__(51);
-
-var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
-
-var _KeyboardShortcutRow = __webpack_require__(330);
-
-var _KeyboardShortcutRow2 = _interopRequireDefault(_KeyboardShortcutRow);
-
-var _CloseButton = __webpack_require__(96);
-
-var _CloseButton2 = _interopRequireDefault(_CloseButton);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var TOP_LEFT = exports.TOP_LEFT = 'top-left';
-var TOP_RIGHT = exports.TOP_RIGHT = 'top-right';
-var BOTTOM_RIGHT = exports.BOTTOM_RIGHT = 'bottom-right';
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- block: _propTypes2['default'].bool,
- buttonLocation: _propTypes2['default'].oneOf([TOP_LEFT, TOP_RIGHT, BOTTOM_RIGHT]),
- showKeyboardShortcutsPanel: _propTypes2['default'].bool,
- openKeyboardShortcutsPanel: _propTypes2['default'].func,
- closeKeyboardShortcutsPanel: _propTypes2['default'].func,
- phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerKeyboardShortcutsPhrases))
-}));
-
-var defaultProps = {
- block: false,
- buttonLocation: BOTTOM_RIGHT,
- showKeyboardShortcutsPanel: false,
- openKeyboardShortcutsPanel: function () {
- function openKeyboardShortcutsPanel() {}
-
- return openKeyboardShortcutsPanel;
- }(),
- closeKeyboardShortcutsPanel: function () {
- function closeKeyboardShortcutsPanel() {}
-
- return closeKeyboardShortcutsPanel;
- }(),
-
- phrases: _defaultPhrases.DayPickerKeyboardShortcutsPhrases
-};
-
-function getKeyboardShortcuts(phrases) {
- return [{
- unicode: '↵',
- label: phrases.enterKey,
- action: phrases.selectFocusedDate
- }, {
- unicode: '←/→',
- label: phrases.leftArrowRightArrow,
- action: phrases.moveFocusByOneDay
- }, {
- unicode: '↑/↓',
- label: phrases.upArrowDownArrow,
- action: phrases.moveFocusByOneWeek
- }, {
- unicode: 'PgUp/PgDn',
- label: phrases.pageUpPageDown,
- action: phrases.moveFocusByOneMonth
- }, {
- unicode: 'Home/End',
- label: phrases.homeEnd,
- action: phrases.moveFocustoStartAndEndOfWeek
- }, {
- unicode: 'Esc',
- label: phrases.escape,
- action: phrases.returnFocusToInput
- }, {
- unicode: '?',
- label: phrases.questionMark,
- action: phrases.openThisPanel
- }];
-}
-
-var DayPickerKeyboardShortcuts = function (_React$Component) {
- _inherits(DayPickerKeyboardShortcuts, _React$Component);
-
- function DayPickerKeyboardShortcuts() {
- var _ref;
-
- _classCallCheck(this, DayPickerKeyboardShortcuts);
-
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
-
- var _this = _possibleConstructorReturn(this, (_ref = DayPickerKeyboardShortcuts.__proto__ || Object.getPrototypeOf(DayPickerKeyboardShortcuts)).call.apply(_ref, [this].concat(args)));
-
- var phrases = _this.props.phrases;
-
- _this.keyboardShortcuts = getKeyboardShortcuts(phrases);
-
- _this.onShowKeyboardShortcutsButtonClick = _this.onShowKeyboardShortcutsButtonClick.bind(_this);
- _this.setShowKeyboardShortcutsButtonRef = _this.setShowKeyboardShortcutsButtonRef.bind(_this);
- _this.setHideKeyboardShortcutsButtonRef = _this.setHideKeyboardShortcutsButtonRef.bind(_this);
- _this.handleFocus = _this.handleFocus.bind(_this);
- _this.onKeyDown = _this.onKeyDown.bind(_this);
- return _this;
- }
-
- _createClass(DayPickerKeyboardShortcuts, [{
- key: 'componentWillReceiveProps',
- value: function () {
- function componentWillReceiveProps(nextProps) {
- var phrases = this.props.phrases;
-
- if (nextProps.phrases !== phrases) {
- this.keyboardShortcuts = getKeyboardShortcuts(nextProps.phrases);
- }
- }
-
- return componentWillReceiveProps;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate() {
- this.handleFocus();
- }
-
- return componentDidUpdate;
- }()
- }, {
- key: 'onKeyDown',
- value: function () {
- function onKeyDown(e) {
- e.stopPropagation();
-
- var closeKeyboardShortcutsPanel = this.props.closeKeyboardShortcutsPanel;
- // Because the close button is the only focusable element inside of the panel, this
- // amounts to a very basic focus trap. The user can exit the panel by "pressing" the
- // close button or hitting escape
-
- switch (e.key) {
- case 'Enter':
- case ' ':
- case 'Spacebar': // for older browsers
- case 'Escape':
- closeKeyboardShortcutsPanel();
- break;
-
- // do nothing - this allows the up and down arrows continue their
- // default behavior of scrolling the content of the Keyboard Shortcuts Panel
- // which is needed when only a single month is shown for instance.
- case 'ArrowUp':
- case 'ArrowDown':
- break;
-
- // completely block the rest of the keys that have functionality outside of this panel
- case 'Tab':
- case 'Home':
- case 'End':
- case 'PageUp':
- case 'PageDown':
- case 'ArrowLeft':
- case 'ArrowRight':
- e.preventDefault();
- break;
-
- default:
- break;
- }
- }
-
- return onKeyDown;
- }()
- }, {
- key: 'onShowKeyboardShortcutsButtonClick',
- value: function () {
- function onShowKeyboardShortcutsButtonClick() {
- var _this2 = this;
-
- var openKeyboardShortcutsPanel = this.props.openKeyboardShortcutsPanel;
-
- // we want to return focus to this button after closing the keyboard shortcuts panel
-
- openKeyboardShortcutsPanel(function () {
- _this2.showKeyboardShortcutsButton.focus();
- });
- }
-
- return onShowKeyboardShortcutsButtonClick;
- }()
- }, {
- key: 'setShowKeyboardShortcutsButtonRef',
- value: function () {
- function setShowKeyboardShortcutsButtonRef(ref) {
- this.showKeyboardShortcutsButton = ref;
- }
-
- return setShowKeyboardShortcutsButtonRef;
- }()
- }, {
- key: 'setHideKeyboardShortcutsButtonRef',
- value: function () {
- function setHideKeyboardShortcutsButtonRef(ref) {
- this.hideKeyboardShortcutsButton = ref;
- }
-
- return setHideKeyboardShortcutsButtonRef;
- }()
- }, {
- key: 'handleFocus',
- value: function () {
- function handleFocus() {
- if (this.hideKeyboardShortcutsButton) {
- // automatically move focus into the dialog by moving
- // to the only interactive element, the hide button
- this.hideKeyboardShortcutsButton.focus();
- }
- }
-
- return handleFocus;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _this3 = this;
-
- var _props = this.props,
- block = _props.block,
- buttonLocation = _props.buttonLocation,
- showKeyboardShortcutsPanel = _props.showKeyboardShortcutsPanel,
- closeKeyboardShortcutsPanel = _props.closeKeyboardShortcutsPanel,
- styles = _props.styles,
- phrases = _props.phrases;
-
-
- var toggleButtonText = showKeyboardShortcutsPanel ? phrases.hideKeyboardShortcutsPanel : phrases.showKeyboardShortcutsPanel;
-
- var bottomRight = buttonLocation === BOTTOM_RIGHT;
- var topRight = buttonLocation === TOP_RIGHT;
- var topLeft = buttonLocation === TOP_LEFT;
-
- return _react2['default'].createElement(
- 'div',
- null,
- _react2['default'].createElement(
- 'button',
- _extends({
- ref: this.setShowKeyboardShortcutsButtonRef
- }, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_buttonReset, styles.DayPickerKeyboardShortcuts_show, bottomRight && styles.DayPickerKeyboardShortcuts_show__bottomRight, topRight && styles.DayPickerKeyboardShortcuts_show__topRight, topLeft && styles.DayPickerKeyboardShortcuts_show__topLeft), {
- type: 'button',
- 'aria-label': toggleButtonText,
- onClick: this.onShowKeyboardShortcutsButtonClick,
- onKeyDown: function () {
- function onKeyDown(e) {
- if (e.key === 'Enter') {
- e.preventDefault();
- } else if (e.key === 'Space') {
- _this3.onShowKeyboardShortcutsButtonClick(e);
- }
- }
-
- return onKeyDown;
- }(),
- onMouseUp: function () {
- function onMouseUp(e) {
- e.currentTarget.blur();
- }
-
- return onMouseUp;
- }()
- }),
- _react2['default'].createElement(
- 'span',
- (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_showSpan, bottomRight && styles.DayPickerKeyboardShortcuts_showSpan__bottomRight, topRight && styles.DayPickerKeyboardShortcuts_showSpan__topRight, topLeft && styles.DayPickerKeyboardShortcuts_showSpan__topLeft),
- '?'
- )
- ),
- showKeyboardShortcutsPanel && _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_panel), {
- role: 'dialog',
- 'aria-labelledby': 'DayPickerKeyboardShortcuts_title',
- 'aria-describedby': 'DayPickerKeyboardShortcuts_description'
- }),
- _react2['default'].createElement(
- 'div',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_title), {
- id: 'DayPickerKeyboardShortcuts_title'
- }),
- phrases.keyboardShortcuts
- ),
- _react2['default'].createElement(
- 'button',
- _extends({
- ref: this.setHideKeyboardShortcutsButtonRef
- }, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_buttonReset, styles.DayPickerKeyboardShortcuts_close), {
- type: 'button',
- tabIndex: '0',
- 'aria-label': phrases.hideKeyboardShortcutsPanel,
- onClick: closeKeyboardShortcutsPanel,
- onKeyDown: this.onKeyDown
- }),
- _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_closeSvg))
- ),
- _react2['default'].createElement(
- 'ul',
- _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_list), {
- id: 'DayPickerKeyboardShortcuts_description'
- }),
- this.keyboardShortcuts.map(function (_ref2) {
- var unicode = _ref2.unicode,
- label = _ref2.label,
- action = _ref2.action;
- return _react2['default'].createElement(_KeyboardShortcutRow2['default'], {
- key: label,
- unicode: unicode,
- label: label,
- action: action,
- block: block
- });
- })
- )
- )
- );
- }
-
- return render;
- }()
- }]);
-
- return DayPickerKeyboardShortcuts;
-}(_react2['default'].Component);
-
-DayPickerKeyboardShortcuts.propTypes = propTypes;
-DayPickerKeyboardShortcuts.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref3) {
- var _ref3$reactDates = _ref3.reactDates,
- color = _ref3$reactDates.color,
- font = _ref3$reactDates.font,
- zIndex = _ref3$reactDates.zIndex;
- return {
- DayPickerKeyboardShortcuts_buttonReset: {
- background: 'none',
- border: 0,
- borderRadius: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
- padding: 0,
- cursor: 'pointer',
- fontSize: font.size,
-
- ':active': {
- outline: 'none'
- }
- },
-
- DayPickerKeyboardShortcuts_show: {
- width: 22,
- position: 'absolute',
- zIndex: zIndex + 2
- },
-
- DayPickerKeyboardShortcuts_show__bottomRight: {
- borderTop: '26px solid transparent',
- borderRight: '33px solid ' + String(color.core.primary),
- bottom: 0,
- right: 0,
-
- ':hover': {
- borderRight: '33px solid ' + String(color.core.primary_dark)
- }
- },
-
- DayPickerKeyboardShortcuts_show__topRight: {
- borderBottom: '26px solid transparent',
- borderRight: '33px solid ' + String(color.core.primary),
- top: 0,
- right: 0,
-
- ':hover': {
- borderRight: '33px solid ' + String(color.core.primary_dark)
- }
- },
-
- DayPickerKeyboardShortcuts_show__topLeft: {
- borderBottom: '26px solid transparent',
- borderLeft: '33px solid ' + String(color.core.primary),
- top: 0,
- left: 0,
-
- ':hover': {
- borderLeft: '33px solid ' + String(color.core.primary_dark)
- }
- },
-
- DayPickerKeyboardShortcuts_showSpan: {
- color: color.core.white,
- position: 'absolute'
- },
-
- DayPickerKeyboardShortcuts_showSpan__bottomRight: {
- bottom: 0,
- right: -28
- },
-
- DayPickerKeyboardShortcuts_showSpan__topRight: {
- top: 1,
- right: -28
- },
-
- DayPickerKeyboardShortcuts_showSpan__topLeft: {
- top: 1,
- left: -28
- },
-
- DayPickerKeyboardShortcuts_panel: {
- overflow: 'auto',
- background: color.background,
- border: '1px solid ' + String(color.core.border),
- borderRadius: 2,
- position: 'absolute',
- top: 0,
- bottom: 0,
- right: 0,
- left: 0,
- zIndex: zIndex + 2,
- padding: 22,
- margin: 33
- },
-
- DayPickerKeyboardShortcuts_title: {
- fontSize: 16,
- fontWeight: 'bold',
- margin: 0
- },
-
- DayPickerKeyboardShortcuts_list: {
- listStyle: 'none',
- padding: 0,
- fontSize: font.size
- },
-
- DayPickerKeyboardShortcuts_close: {
- position: 'absolute',
- right: 22,
- top: 22,
- zIndex: zIndex + 2,
-
- ':active': {
- outline: 'none'
- }
- },
-
- DayPickerKeyboardShortcuts_closeSvg: {
- height: 15,
- width: 15,
- fill: color.core.grayLighter,
-
- ':hover': {
- fill: color.core.grayLight
- },
-
- ':focus': {
- fill: color.core.grayLight
- }
- }
- };
-})(DayPickerKeyboardShortcuts);
-
-/***/ }),
-/* 330 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-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; };
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _propTypes = __webpack_require__(31);
-
-var _propTypes2 = _interopRequireDefault(_propTypes);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _reactWithStyles = __webpack_require__(56);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
- unicode: _propTypes2['default'].string.isRequired,
- label: _propTypes2['default'].string.isRequired,
- action: _propTypes2['default'].string.isRequired,
- block: _propTypes2['default'].bool
-}));
-
-var defaultProps = {
- block: false
-};
-
-function KeyboardShortcutRow(_ref) {
- var unicode = _ref.unicode,
- label = _ref.label,
- action = _ref.action,
- block = _ref.block,
- styles = _ref.styles;
-
- return _react2['default'].createElement(
- 'li',
- (0, _reactWithStyles.css)(styles.KeyboardShortcutRow, block && styles.KeyboardShortcutRow__block),
- _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_keyContainer, block && styles.KeyboardShortcutRow_keyContainer__block),
- _react2['default'].createElement(
- 'span',
- _extends({}, (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_key), {
- role: 'img',
- 'aria-label': String(label) + ',' // add comma so screen readers will pause before reading action
- }),
- unicode
- )
- ),
- _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_action),
- action
- )
- );
-}
-
-KeyboardShortcutRow.propTypes = propTypes;
-KeyboardShortcutRow.defaultProps = defaultProps;
-
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
- var color = _ref2.reactDates.color;
- return {
- KeyboardShortcutRow: {
- listStyle: 'none',
- margin: '6px 0'
- },
-
- KeyboardShortcutRow__block: {
- marginBottom: 16
- },
-
- KeyboardShortcutRow_keyContainer: {
- display: 'inline-block',
- whiteSpace: 'nowrap',
- textAlign: 'right',
- marginRight: 6
- },
-
- KeyboardShortcutRow_keyContainer__block: {
- textAlign: 'left',
- display: 'inline'
- },
-
- KeyboardShortcutRow_key: {
- fontFamily: 'monospace',
- fontSize: 12,
- textTransform: 'uppercase',
- background: color.core.grayLightest,
- padding: '2px 6px'
- },
-
- KeyboardShortcutRow_action: {
- display: 'inline',
- wordBreak: 'break-word',
- marginLeft: 8
- }
- };
-})(KeyboardShortcutRow);
-
-/***/ }),
-/* 331 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getNumberOfCalendarMonthWeeks;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek) {
- var weekDayDiff = firstDayOfMonth.day() - firstDayOfWeek;
- return (weekDayDiff + 7) % 7;
-}
-
-function getNumberOfCalendarMonthWeeks(month) {
- var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _moment2['default'].localeData().firstDayOfWeek();
-
- var firstDayOfMonth = month.clone().startOf('month');
- var numBlankDays = getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek);
- return Math.ceil((numBlankDays + month.daysInMonth()) / 7);
-}
-
-/***/ }),
-/* 332 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = getActiveElement;
-function getActiveElement() {
- return typeof document !== 'undefined' && document.activeElement;
-}
-
-/***/ }),
-/* 333 */
+/* 140 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(58);
+
+var callBind = __webpack_require__(182);
+
+var $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));
+
+module.exports = function callBoundIntrinsic(name, allowMissing) {
+ var intrinsic = GetIntrinsic(name, !!allowMissing);
+ if (typeof intrinsic === 'function' && $indexOf(name, '.prototype.')) {
+ return callBind(intrinsic);
+ }
+ return intrinsic;
+};
+
+
+/***/ }),
+/* 141 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var moment = __webpack_require__(43);
+var momentValidationWrapper = __webpack_require__(354);
+var core = __webpack_require__(355);
+
+module.exports = {
+
+ momentObj : core.createMomentChecker(
+ 'object',
+ function(obj) {
+ return typeof obj === 'object';
+ },
+ function isValid(value) {
+ return momentValidationWrapper.isValidMoment(value);
+ },
+ 'Moment'
+ ),
+
+ momentString : core.createMomentChecker(
+ 'string',
+ function(str) {
+ return typeof str === 'string';
+ },
+ function isValid(value) {
+ return momentValidationWrapper.isValidMoment(moment(value));
+ },
+ 'Moment'
+ ),
+
+ momentDurationObj : core.createMomentChecker(
+ 'object',
+ function(obj) {
+ return typeof obj === 'object';
+ },
+ function isValid(value) {
+ return moment.isDuration(value);
+ },
+ 'Duration'
+ ),
+
+};
+
+
+/***/ }),
+/* 142 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -22951,2047 +12494,94 @@
Object.defineProperty(exports, "__esModule", {
value: true
});
-exports.PureSingleDatePicker = undefined;
-
-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; };
-
-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; }; }();
-
-var _object = __webpack_require__(46);
-
-var _object2 = _interopRequireDefault(_object);
-
-var _react = __webpack_require__(27);
-
-var _react2 = _interopRequireDefault(_react);
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _reactWithStyles = __webpack_require__(56);
-
-var _reactPortal = __webpack_require__(203);
-
-var _airbnbPropTypes = __webpack_require__(43);
-
-var _consolidatedEvents = __webpack_require__(103);
-
-var _isTouchDevice = __webpack_require__(82);
-
-var _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);
-
-var _reactOutsideClickHandler = __webpack_require__(126);
-
-var _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler);
-
-var _SingleDatePickerShape = __webpack_require__(195);
-
-var _SingleDatePickerShape2 = _interopRequireDefault(_SingleDatePickerShape);
-
-var _defaultPhrases = __webpack_require__(47);
-
-var _toMomentObject = __webpack_require__(80);
-
-var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
-
-var _toLocalizedDateString = __webpack_require__(129);
-
-var _toLocalizedDateString2 = _interopRequireDefault(_toLocalizedDateString);
-
-var _getResponsiveContainerStyles = __webpack_require__(176);
-
-var _getResponsiveContainerStyles2 = _interopRequireDefault(_getResponsiveContainerStyles);
-
-var _getDetachedContainerStyles = __webpack_require__(177);
-
-var _getDetachedContainerStyles2 = _interopRequireDefault(_getDetachedContainerStyles);
-
-var _getInputHeight = __webpack_require__(127);
-
-var _getInputHeight2 = _interopRequireDefault(_getInputHeight);
-
-var _isInclusivelyAfterDay = __webpack_require__(94);
-
-var _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);
-
-var _disableScroll2 = __webpack_require__(178);
-
-var _disableScroll3 = _interopRequireDefault(_disableScroll2);
-
-var _SingleDatePickerInput = __webpack_require__(196);
-
-var _SingleDatePickerInput2 = _interopRequireDefault(_SingleDatePickerInput);
-
-var _DayPickerSingleDateController = __webpack_require__(194);
-
-var _DayPickerSingleDateController2 = _interopRequireDefault(_DayPickerSingleDateController);
-
-var _CloseButton = __webpack_require__(96);
-
-var _CloseButton2 = _interopRequireDefault(_CloseButton);
-
-var _constants = __webpack_require__(39);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-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; }
-
-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; }
-
-var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, _SingleDatePickerShape2['default']));
-
-var defaultProps = {
- // required props for a functional interactive SingleDatePicker
- date: null,
- focused: false,
-
- // input related props
- id: 'date',
- placeholder: 'Date',
- disabled: false,
- required: false,
- readOnly: false,
- screenReaderInputMessage: '',
- showClearDate: false,
- showDefaultInputIcon: false,
- inputIconPosition: _constants.ICON_BEFORE_POSITION,
- customInputIcon: null,
- customCloseIcon: null,
- noBorder: false,
- block: false,
- small: false,
- regular: false,
- verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,
- keepFocusOnInput: false,
-
- // calendar presentation and interaction related props
- orientation: _constants.HORIZONTAL_ORIENTATION,
- anchorDirection: _constants.ANCHOR_LEFT,
- openDirection: _constants.OPEN_DOWN,
- horizontalMargin: 0,
- withPortal: false,
- withFullScreenPortal: false,
- appendToBody: false,
- disableScroll: false,
- initialVisibleMonth: null,
- firstDayOfWeek: null,
- numberOfMonths: 2,
- keepOpenOnDateSelect: false,
- reopenPickerOnClearDate: false,
- renderCalendarInfo: null,
- calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,
- hideKeyboardShortcutsPanel: false,
- daySize: _constants.DAY_SIZE,
- isRTL: false,
- verticalHeight: null,
- transitionDuration: undefined,
- horizontalMonthPadding: 13,
-
- // navigation related props
- navPrev: null,
- navNext: null,
-
- onPrevMonthClick: function () {
- function onPrevMonthClick() {}
-
- return onPrevMonthClick;
- }(),
- onNextMonthClick: function () {
- function onNextMonthClick() {}
-
- return onNextMonthClick;
- }(),
- onClose: function () {
- function onClose() {}
-
- return onClose;
- }(),
-
-
- // month presentation and interaction related props
- renderMonthText: null,
-
- // day presentation and interaction related props
- renderCalendarDay: undefined,
- renderDayContents: null,
- renderMonthElement: null,
- enableOutsideDays: false,
- isDayBlocked: function () {
- function isDayBlocked() {
- return false;
- }
-
- return isDayBlocked;
- }(),
- isOutsideRange: function () {
- function isOutsideRange(day) {
- return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());
- }
-
- return isOutsideRange;
- }(),
- isDayHighlighted: function () {
- function isDayHighlighted() {}
-
- return isDayHighlighted;
- }(),
-
- // internationalization props
- displayFormat: function () {
- function displayFormat() {
- return _moment2['default'].localeData().longDateFormat('L');
- }
-
- return displayFormat;
- }(),
- monthFormat: 'MMMM YYYY',
- weekDayFormat: 'dd',
- phrases: _defaultPhrases.SingleDatePickerPhrases,
- dayAriaLabelFormat: undefined
-};
-
-var SingleDatePicker = function (_React$Component) {
- _inherits(SingleDatePicker, _React$Component);
-
- function SingleDatePicker(props) {
- _classCallCheck(this, SingleDatePicker);
-
- var _this = _possibleConstructorReturn(this, (SingleDatePicker.__proto__ || Object.getPrototypeOf(SingleDatePicker)).call(this, props));
-
- _this.isTouchDevice = false;
-
- _this.state = {
- dayPickerContainerStyles: {},
- isDayPickerFocused: false,
- isInputFocused: false,
- showKeyboardShortcuts: false
- };
-
- _this.onDayPickerFocus = _this.onDayPickerFocus.bind(_this);
- _this.onDayPickerBlur = _this.onDayPickerBlur.bind(_this);
- _this.showKeyboardShortcutsPanel = _this.showKeyboardShortcutsPanel.bind(_this);
-
- _this.onChange = _this.onChange.bind(_this);
- _this.onFocus = _this.onFocus.bind(_this);
- _this.onClearFocus = _this.onClearFocus.bind(_this);
- _this.clearDate = _this.clearDate.bind(_this);
-
- _this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_this);
- _this.disableScroll = _this.disableScroll.bind(_this);
-
- _this.setDayPickerContainerRef = _this.setDayPickerContainerRef.bind(_this);
- _this.setContainerRef = _this.setContainerRef.bind(_this);
- return _this;
- }
-
- /* istanbul ignore next */
-
-
- _createClass(SingleDatePicker, [{
- key: 'componentDidMount',
- value: function () {
- function componentDidMount() {
- this.removeEventListener = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, { passive: true });
- this.responsivizePickerPosition();
- this.disableScroll();
-
- var focused = this.props.focused;
-
-
- if (focused) {
- this.setState({
- isInputFocused: true
- });
- }
-
- this.isTouchDevice = (0, _isTouchDevice2['default'])();
- }
-
- return componentDidMount;
- }()
- }, {
- key: 'componentDidUpdate',
- value: function () {
- function componentDidUpdate(prevProps) {
- var focused = this.props.focused;
-
- if (!prevProps.focused && focused) {
- this.responsivizePickerPosition();
- this.disableScroll();
- } else if (prevProps.focused && !focused) {
- if (this.enableScroll) this.enableScroll();
- }
- }
-
- return componentDidUpdate;
- }()
-
- /* istanbul ignore next */
-
- }, {
- key: 'componentWillUnmount',
- value: function () {
- function componentWillUnmount() {
- if (this.removeEventListener) this.removeEventListener();
- if (this.enableScroll) this.enableScroll();
- }
-
- return componentWillUnmount;
- }()
- }, {
- key: 'onChange',
- value: function () {
- function onChange(dateString) {
- var _props = this.props,
- isOutsideRange = _props.isOutsideRange,
- keepOpenOnDateSelect = _props.keepOpenOnDateSelect,
- onDateChange = _props.onDateChange,
- onFocusChange = _props.onFocusChange,
- onClose = _props.onClose;
-
- var newDate = (0, _toMomentObject2['default'])(dateString, this.getDisplayFormat());
-
- var isValid = newDate && !isOutsideRange(newDate);
- if (isValid) {
- onDateChange(newDate);
- if (!keepOpenOnDateSelect) {
- onFocusChange({ focused: false });
- onClose({ date: newDate });
- }
- } else {
- onDateChange(null);
- }
- }
-
- return onChange;
- }()
- }, {
- key: 'onFocus',
- value: function () {
- function onFocus() {
- var _props2 = this.props,
- disabled = _props2.disabled,
- onFocusChange = _props2.onFocusChange,
- readOnly = _props2.readOnly,
- withPortal = _props2.withPortal,
- withFullScreenPortal = _props2.withFullScreenPortal,
- keepFocusOnInput = _props2.keepFocusOnInput;
-
-
- var withAnyPortal = withPortal || withFullScreenPortal;
- var moveFocusToDayPicker = withAnyPortal || readOnly && !keepFocusOnInput || this.isTouchDevice && !keepFocusOnInput;
-
- if (moveFocusToDayPicker) {
- this.onDayPickerFocus();
- } else {
- this.onDayPickerBlur();
- }
-
- if (!disabled) {
- onFocusChange({ focused: true });
- }
- }
-
- return onFocus;
- }()
- }, {
- key: 'onClearFocus',
- value: function () {
- function onClearFocus(event) {
- var _props3 = this.props,
- date = _props3.date,
- focused = _props3.focused,
- onFocusChange = _props3.onFocusChange,
- onClose = _props3.onClose,
- appendToBody = _props3.appendToBody;
-
- if (!focused) return;
- if (appendToBody && this.dayPickerContainer.contains(event.target)) return;
-
- this.setState({
- isInputFocused: false,
- isDayPickerFocused: false
- });
-
- onFocusChange({ focused: false });
- onClose({ date: date });
- }
-
- return onClearFocus;
- }()
- }, {
- key: 'onDayPickerFocus',
- value: function () {
- function onDayPickerFocus() {
- this.setState({
- isInputFocused: false,
- isDayPickerFocused: true,
- showKeyboardShortcuts: false
- });
- }
-
- return onDayPickerFocus;
- }()
- }, {
- key: 'onDayPickerBlur',
- value: function () {
- function onDayPickerBlur() {
- this.setState({
- isInputFocused: true,
- isDayPickerFocused: false,
- showKeyboardShortcuts: false
- });
- }
-
- return onDayPickerBlur;
- }()
- }, {
- key: 'getDateString',
- value: function () {
- function getDateString(date) {
- var displayFormat = this.getDisplayFormat();
- if (date && displayFormat) {
- return date && date.format(displayFormat);
- }
- return (0, _toLocalizedDateString2['default'])(date);
- }
-
- return getDateString;
- }()
- }, {
- key: 'getDisplayFormat',
- value: function () {
- function getDisplayFormat() {
- var displayFormat = this.props.displayFormat;
-
- return typeof displayFormat === 'string' ? displayFormat : displayFormat();
- }
-
- return getDisplayFormat;
- }()
- }, {
- key: 'setDayPickerContainerRef',
- value: function () {
- function setDayPickerContainerRef(ref) {
- this.dayPickerContainer = ref;
- }
-
- return setDayPickerContainerRef;
- }()
- }, {
- key: 'setContainerRef',
- value: function () {
- function setContainerRef(ref) {
- this.container = ref;
- }
-
- return setContainerRef;
- }()
- }, {
- key: 'clearDate',
- value: function () {
- function clearDate() {
- var _props4 = this.props,
- onDateChange = _props4.onDateChange,
- reopenPickerOnClearDate = _props4.reopenPickerOnClearDate,
- onFocusChange = _props4.onFocusChange;
-
- onDateChange(null);
- if (reopenPickerOnClearDate) {
- onFocusChange({ focused: true });
- }
- }
-
- return clearDate;
- }()
- }, {
- key: 'disableScroll',
- value: function () {
- function disableScroll() {
- var _props5 = this.props,
- appendToBody = _props5.appendToBody,
- propDisableScroll = _props5.disableScroll,
- focused = _props5.focused;
-
- if (!appendToBody && !propDisableScroll) return;
- if (!focused) return;
-
- // Disable scroll for every ancestor of this up to the
- // document level. This ensures the input and the picker never move. Other
- // sibling elements or the picker itself can scroll.
- this.enableScroll = (0, _disableScroll3['default'])(this.container);
- }
-
- return disableScroll;
- }()
-
- /* istanbul ignore next */
-
- }, {
- key: 'responsivizePickerPosition',
- value: function () {
- function responsivizePickerPosition() {
- // It's possible the portal props have been changed in response to window resizes
- // So let's ensure we reset this back to the base state each time
- this.setState({ dayPickerContainerStyles: {} });
-
- var _props6 = this.props,
- openDirection = _props6.openDirection,
- anchorDirection = _props6.anchorDirection,
- horizontalMargin = _props6.horizontalMargin,
- withPortal = _props6.withPortal,
- withFullScreenPortal = _props6.withFullScreenPortal,
- appendToBody = _props6.appendToBody,
- focused = _props6.focused;
- var dayPickerContainerStyles = this.state.dayPickerContainerStyles;
-
-
- if (!focused) {
- return;
- }
-
- var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;
-
- if (!withPortal && !withFullScreenPortal) {
- var containerRect = this.dayPickerContainer.getBoundingClientRect();
- var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;
- var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];
-
- this.setState({
- dayPickerContainerStyles: (0, _object2['default'])({}, (0, _getResponsiveContainerStyles2['default'])(anchorDirection, currentOffset, containerEdge, horizontalMargin), appendToBody && (0, _getDetachedContainerStyles2['default'])(openDirection, anchorDirection, this.container))
- });
- }
- }
-
- return responsivizePickerPosition;
- }()
- }, {
- key: 'showKeyboardShortcutsPanel',
- value: function () {
- function showKeyboardShortcutsPanel() {
- this.setState({
- isInputFocused: false,
- isDayPickerFocused: true,
- showKeyboardShortcuts: true
- });
- }
-
- return showKeyboardShortcutsPanel;
- }()
- }, {
- key: 'maybeRenderDayPickerWithPortal',
- value: function () {
- function maybeRenderDayPickerWithPortal() {
- var _props7 = this.props,
- focused = _props7.focused,
- withPortal = _props7.withPortal,
- withFullScreenPortal = _props7.withFullScreenPortal,
- appendToBody = _props7.appendToBody;
-
-
- if (!focused) {
- return null;
- }
-
- if (withPortal || withFullScreenPortal || appendToBody) {
- return _react2['default'].createElement(
- _reactPortal.Portal,
- null,
- this.renderDayPicker()
- );
- }
-
- return this.renderDayPicker();
- }
-
- return maybeRenderDayPickerWithPortal;
- }()
- }, {
- key: 'renderDayPicker',
- value: function () {
- function renderDayPicker() {
- var _props8 = this.props,
- anchorDirection = _props8.anchorDirection,
- openDirection = _props8.openDirection,
- onDateChange = _props8.onDateChange,
- date = _props8.date,
- onFocusChange = _props8.onFocusChange,
- focused = _props8.focused,
- enableOutsideDays = _props8.enableOutsideDays,
- numberOfMonths = _props8.numberOfMonths,
- orientation = _props8.orientation,
- monthFormat = _props8.monthFormat,
- navPrev = _props8.navPrev,
- navNext = _props8.navNext,
- onPrevMonthClick = _props8.onPrevMonthClick,
- onNextMonthClick = _props8.onNextMonthClick,
- onClose = _props8.onClose,
- withPortal = _props8.withPortal,
- withFullScreenPortal = _props8.withFullScreenPortal,
- keepOpenOnDateSelect = _props8.keepOpenOnDateSelect,
- initialVisibleMonth = _props8.initialVisibleMonth,
- renderMonthText = _props8.renderMonthText,
- renderCalendarDay = _props8.renderCalendarDay,
- renderDayContents = _props8.renderDayContents,
- renderCalendarInfo = _props8.renderCalendarInfo,
- renderMonthElement = _props8.renderMonthElement,
- calendarInfoPosition = _props8.calendarInfoPosition,
- hideKeyboardShortcutsPanel = _props8.hideKeyboardShortcutsPanel,
- firstDayOfWeek = _props8.firstDayOfWeek,
- customCloseIcon = _props8.customCloseIcon,
- phrases = _props8.phrases,
- dayAriaLabelFormat = _props8.dayAriaLabelFormat,
- daySize = _props8.daySize,
- isRTL = _props8.isRTL,
- isOutsideRange = _props8.isOutsideRange,
- isDayBlocked = _props8.isDayBlocked,
- isDayHighlighted = _props8.isDayHighlighted,
- weekDayFormat = _props8.weekDayFormat,
- styles = _props8.styles,
- verticalHeight = _props8.verticalHeight,
- transitionDuration = _props8.transitionDuration,
- verticalSpacing = _props8.verticalSpacing,
- horizontalMonthPadding = _props8.horizontalMonthPadding,
- small = _props8.small,
- reactDates = _props8.theme.reactDates;
- var _state = this.state,
- dayPickerContainerStyles = _state.dayPickerContainerStyles,
- isDayPickerFocused = _state.isDayPickerFocused,
- showKeyboardShortcuts = _state.showKeyboardShortcuts;
-
-
- var onOutsideClick = !withFullScreenPortal && withPortal ? this.onClearFocus : undefined;
- var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], null);
-
- var inputHeight = (0, _getInputHeight2['default'])(reactDates, small);
-
- var withAnyPortal = withPortal || withFullScreenPortal;
-
- return _react2['default'].createElement(
- 'div',
- _extends({ // eslint-disable-line jsx-a11y/no-static-element-interactions
- ref: this.setDayPickerContainerRef
- }, (0, _reactWithStyles.css)(styles.SingleDatePicker_picker, anchorDirection === _constants.ANCHOR_LEFT && styles.SingleDatePicker_picker__directionLeft, anchorDirection === _constants.ANCHOR_RIGHT && styles.SingleDatePicker_picker__directionRight, openDirection === _constants.OPEN_DOWN && styles.SingleDatePicker_picker__openDown, openDirection === _constants.OPEN_UP && styles.SingleDatePicker_picker__openUp, !withAnyPortal && openDirection === _constants.OPEN_DOWN && {
- top: inputHeight + verticalSpacing
- }, !withAnyPortal && openDirection === _constants.OPEN_UP && {
- bottom: inputHeight + verticalSpacing
- }, orientation === _constants.HORIZONTAL_ORIENTATION && styles.SingleDatePicker_picker__horizontal, orientation === _constants.VERTICAL_ORIENTATION && styles.SingleDatePicker_picker__vertical, withAnyPortal && styles.SingleDatePicker_picker__portal, withFullScreenPortal && styles.SingleDatePicker_picker__fullScreenPortal, isRTL && styles.SingleDatePicker_picker__rtl, dayPickerContainerStyles), {
- onClick: onOutsideClick
- }),
- _react2['default'].createElement(_DayPickerSingleDateController2['default'], {
- date: date,
- onDateChange: onDateChange,
- onFocusChange: onFocusChange,
- orientation: orientation,
- enableOutsideDays: enableOutsideDays,
- numberOfMonths: numberOfMonths,
- monthFormat: monthFormat,
- withPortal: withAnyPortal,
- focused: focused,
- keepOpenOnDateSelect: keepOpenOnDateSelect,
- hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,
- initialVisibleMonth: initialVisibleMonth,
- navPrev: navPrev,
- navNext: navNext,
- onPrevMonthClick: onPrevMonthClick,
- onNextMonthClick: onNextMonthClick,
- onClose: onClose,
- renderMonthText: renderMonthText,
- renderCalendarDay: renderCalendarDay,
- renderDayContents: renderDayContents,
- renderCalendarInfo: renderCalendarInfo,
- renderMonthElement: renderMonthElement,
- calendarInfoPosition: calendarInfoPosition,
- isFocused: isDayPickerFocused,
- showKeyboardShortcuts: showKeyboardShortcuts,
- onBlur: this.onDayPickerBlur,
- phrases: phrases,
- dayAriaLabelFormat: dayAriaLabelFormat,
- daySize: daySize,
- isRTL: isRTL,
- isOutsideRange: isOutsideRange,
- isDayBlocked: isDayBlocked,
- isDayHighlighted: isDayHighlighted,
- firstDayOfWeek: firstDayOfWeek,
- weekDayFormat: weekDayFormat,
- verticalHeight: verticalHeight,
- transitionDuration: transitionDuration,
- horizontalMonthPadding: horizontalMonthPadding
- }),
- withFullScreenPortal && _react2['default'].createElement(
- 'button',
- _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePicker_closeButton), {
- 'aria-label': phrases.closeDatePicker,
- type: 'button',
- onClick: this.onClearFocus
- }),
- _react2['default'].createElement(
- 'div',
- (0, _reactWithStyles.css)(styles.SingleDatePicker_closeButton_svg),
- closeIcon
- )
- )
- );
- }
-
- return renderDayPicker;
- }()
- }, {
- key: 'render',
- value: function () {
- function render() {
- var _props9 = this.props,
- id = _props9.id,
- placeholder = _props9.placeholder,
- disabled = _props9.disabled,
- focused = _props9.focused,
- required = _props9.required,
- readOnly = _props9.readOnly,
- openDirection = _props9.openDirection,
- showClearDate = _props9.showClearDate,
- showDefaultInputIcon = _props9.showDefaultInputIcon,
- inputIconPosition = _props9.inputIconPosition,
- customCloseIcon = _props9.customCloseIcon,
- customInputIcon = _props9.customInputIcon,
- date = _props9.date,
- phrases = _props9.phrases,
- withPortal = _props9.withPortal,
- withFullScreenPortal = _props9.withFullScreenPortal,
- screenReaderInputMessage = _props9.screenReaderInputMessage,
- isRTL = _props9.isRTL,
- noBorder = _props9.noBorder,
- block = _props9.block,
- small = _props9.small,
- regular = _props9.regular,
- verticalSpacing = _props9.verticalSpacing,
- styles = _props9.styles;
- var isInputFocused = this.state.isInputFocused;
-
-
- var displayValue = this.getDateString(date);
-
- var enableOutsideClick = !withPortal && !withFullScreenPortal;
-
- var hideFang = verticalSpacing < _constants.FANG_HEIGHT_PX;
-
- var input = _react2['default'].createElement(_SingleDatePickerInput2['default'], {
- id: id,
- placeholder: placeholder,
- focused: focused,
- isFocused: isInputFocused,
- disabled: disabled,
- required: required,
- readOnly: readOnly,
- openDirection: openDirection,
- showCaret: !withPortal && !withFullScreenPortal && !hideFang,
- onClearDate: this.clearDate,
- showClearDate: showClearDate,
- showDefaultInputIcon: showDefaultInputIcon,
- inputIconPosition: inputIconPosition,
- customCloseIcon: customCloseIcon,
- customInputIcon: customInputIcon,
- displayValue: displayValue,
- onChange: this.onChange,
- onFocus: this.onFocus,
- onKeyDownShiftTab: this.onClearFocus,
- onKeyDownTab: this.onClearFocus,
- onKeyDownArrowDown: this.onDayPickerFocus,
- onKeyDownQuestionMark: this.showKeyboardShortcutsPanel,
- screenReaderMessage: screenReaderInputMessage,
- phrases: phrases,
- isRTL: isRTL,
- noBorder: noBorder,
- block: block,
- small: small,
- regular: regular,
- verticalSpacing: verticalSpacing
- });
-
- return _react2['default'].createElement(
- 'div',
- _extends({
- ref: this.setContainerRef
- }, (0, _reactWithStyles.css)(styles.SingleDatePicker, block && styles.SingleDatePicker__block)),
- enableOutsideClick && _react2['default'].createElement(
- _reactOutsideClickHandler2['default'],
- { onOutsideClick: this.onClearFocus },
- input,
- this.maybeRenderDayPickerWithPortal()
- ),
- !enableOutsideClick && input,
- !enableOutsideClick && this.maybeRenderDayPickerWithPortal()
- );
- }
-
- return render;
- }()
- }]);
-
- return SingleDatePicker;
-}(_react2['default'].Component);
-
-SingleDatePicker.propTypes = propTypes;
-SingleDatePicker.defaultProps = defaultProps;
-
-exports.PureSingleDatePicker = SingleDatePicker;
-exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {
- var _ref$reactDates = _ref.reactDates,
- color = _ref$reactDates.color,
- zIndex = _ref$reactDates.zIndex;
- return {
- SingleDatePicker: {
- position: 'relative',
- display: 'inline-block'
- },
-
- SingleDatePicker__block: {
- display: 'block'
- },
-
- SingleDatePicker_picker: {
- zIndex: zIndex + 1,
- backgroundColor: color.background,
- position: 'absolute'
- },
-
- SingleDatePicker_picker__rtl: {
- direction: 'rtl'
- },
-
- SingleDatePicker_picker__directionLeft: {
- left: 0
- },
-
- SingleDatePicker_picker__directionRight: {
- right: 0
- },
-
- SingleDatePicker_picker__portal: {
- backgroundColor: 'rgba(0, 0, 0, 0.3)',
- position: 'fixed',
- top: 0,
- left: 0,
- height: '100%',
- width: '100%'
- },
-
- SingleDatePicker_picker__fullScreenPortal: {
- backgroundColor: color.background
- },
-
- SingleDatePicker_closeButton: {
- background: 'none',
- border: 0,
- color: 'inherit',
- font: 'inherit',
- lineHeight: 'normal',
- overflow: 'visible',
- cursor: 'pointer',
-
- position: 'absolute',
- top: 0,
- right: 0,
- padding: 15,
- zIndex: zIndex + 2,
-
- ':hover': {
- color: 'darken(' + String(color.core.grayLighter) + ', 10%)',
- textDecoration: 'none'
- },
-
- ':focus': {
- color: 'darken(' + String(color.core.grayLighter) + ', 10%)',
- textDecoration: 'none'
- }
- },
-
- SingleDatePicker_closeButton_svg: {
- height: 15,
- width: 15,
- fill: color.core.grayLighter
- }
- };
-})(SingleDatePicker);
-
-/***/ }),
-/* 334 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-exports['default'] = isInclusivelyBeforeDay;
-
-var _moment = __webpack_require__(29);
-
-var _moment2 = _interopRequireDefault(_moment);
-
-var _isAfterDay = __webpack_require__(106);
-
-var _isAfterDay2 = _interopRequireDefault(_isAfterDay);
+
+var _propTypes = __webpack_require__(28);
+
+var _propTypes2 = _interopRequireDefault(_propTypes);
+
+var _constants = __webpack_require__(77);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-function isInclusivelyBeforeDay(a, b) {
- if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
- return !(0, _isAfterDay2['default'])(a, b);
-}
-
-/***/ }),
-/* 335 */,
-/* 336 */,
-/* 337 */,
-/* 338 */,
-/* 339 */,
-/* 340 */,
-/* 341 */,
-/* 342 */,
-/* 343 */,
-/* 344 */,
-/* 345 */,
-/* 346 */,
-/* 347 */,
-/* 348 */,
-/* 349 */,
-/* 350 */,
-/* 351 */,
-/* 352 */,
-/* 353 */,
-/* 354 */,
-/* 355 */,
-/* 356 */,
-/* 357 */,
-/* 358 */,
-/* 359 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread.js
-var objectSpread = __webpack_require__(7);
-
-// EXTERNAL MODULE: external {"this":["wp","element"]}
-var external_this_wp_element_ = __webpack_require__(0);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/primitives/svg/index.js
-
-
-/**
- * WordPress dependencies
- */
-
-var svg_Circle = function Circle(props) {
- return Object(external_this_wp_element_["createElement"])('circle', props);
-};
-var svg_G = function G(props) {
- return Object(external_this_wp_element_["createElement"])('g', props);
-};
-var svg_Path = function Path(props) {
- return Object(external_this_wp_element_["createElement"])('path', props);
-};
-var svg_Polygon = function Polygon(props) {
- return Object(external_this_wp_element_["createElement"])('polygon', props);
-};
-var svg_Rect = function Rect(props) {
- return Object(external_this_wp_element_["createElement"])('rect', props);
-};
-var svg_SVG = function SVG(props) {
- var appliedProps = Object(objectSpread["a" /* default */])({}, props, {
- role: 'img',
- 'aria-hidden': 'true',
- focusable: 'false'
- }); // Disable reason: We need to have a way to render HTML tag for web.
- // eslint-disable-next-line react/forbid-elements
-
-
- return Object(external_this_wp_element_["createElement"])("svg", appliedProps);
-};
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/primitives/index.js
-
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
-var defineProperty = __webpack_require__(15);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
-var slicedToArray = __webpack_require__(28);
-
-// EXTERNAL MODULE: ./node_modules/classnames/index.js
-var classnames = __webpack_require__(16);
-var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/animate/index.js
-
-
-
-/**
- * External dependencies
- */
-
-
-function Animate(_ref) {
- var type = _ref.type,
- _ref$options = _ref.options,
- options = _ref$options === void 0 ? {} : _ref$options,
- children = _ref.children;
-
- if (type === 'appear') {
- var _classnames;
-
- var _options$origin = options.origin,
- origin = _options$origin === void 0 ? 'top' : _options$origin;
-
- var _origin$split = origin.split(' '),
- _origin$split2 = Object(slicedToArray["a" /* default */])(_origin$split, 2),
- yAxis = _origin$split2[0],
- _origin$split2$ = _origin$split2[1],
- xAxis = _origin$split2$ === void 0 ? 'center' : _origin$split2$;
-
- return children({
- className: classnames_default()('components-animate__appear', (_classnames = {}, Object(defineProperty["a" /* default */])(_classnames, 'is-from-' + xAxis, xAxis !== 'center'), Object(defineProperty["a" /* default */])(_classnames, 'is-from-' + yAxis, yAxis !== 'middle'), _classnames))
- });
- }
-
- if (type === 'slide-in') {
- var _options$origin2 = options.origin,
- _origin = _options$origin2 === void 0 ? 'left' : _options$origin2;
-
- return children({
- className: classnames_default()('components-animate__slide-in', 'is-from-' + _origin)
- });
- }
-
- return children({});
-}
-
-/* harmony default export */ var build_module_animate = (Animate);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
-var classCallCheck = __webpack_require__(10);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
-var possibleConstructorReturn = __webpack_require__(11);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
-var getPrototypeOf = __webpack_require__(12);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
-var createClass = __webpack_require__(9);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
-var inherits = __webpack_require__(13);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
-var assertThisInitialized = __webpack_require__(3);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
-var toConsumableArray = __webpack_require__(17);
-
-// EXTERNAL MODULE: external "lodash"
-var external_lodash_ = __webpack_require__(2);
-
-// EXTERNAL MODULE: external {"this":["wp","keycodes"]}
-var external_this_wp_keycodes_ = __webpack_require__(18);
-
-// EXTERNAL MODULE: external {"this":["wp","i18n"]}
-var external_this_wp_i18n_ = __webpack_require__(1);
-
-// EXTERNAL MODULE: external {"this":["wp","compose"]}
-var external_this_wp_compose_ = __webpack_require__(6);
-
-// EXTERNAL MODULE: external {"this":["wp","richText"]}
-var external_this_wp_richText_ = __webpack_require__(20);
-
-// EXTERNAL MODULE: external {"this":["wp","dom"]}
-var external_this_wp_dom_ = __webpack_require__(24);
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
-var esm_extends = __webpack_require__(19);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-outside/index.js
-
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-
-/**
- * Input types which are classified as button types, for use in considering
- * whether element is a (focus-normalized) button.
- *
- * @type {string[]}
- */
-
-var INPUT_BUTTON_TYPES = ['button', 'submit'];
-/**
- * Returns true if the given element is a button element subject to focus
- * normalization, or false otherwise.
- *
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
- *
- * @param {Element} element Element to test.
- *
- * @return {boolean} Whether element is a button.
- */
-
-function isFocusNormalizedButton(element) {
- switch (element.nodeName) {
- case 'A':
- case 'BUTTON':
- return true;
-
- case 'INPUT':
- return Object(external_lodash_["includes"])(INPUT_BUTTON_TYPES, element.type);
- }
-
- return false;
-}
-
-/* harmony default export */ var with_focus_outside = (Object(external_this_wp_compose_["createHigherOrderComponent"])(function (WrappedComponent) {
+exports['default'] = _propTypes2['default'].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION, _constants.VERTICAL_SCROLLABLE]);
+
+/***/ }),
+/* 143 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/**
+ * Copyright (c) 2013-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ * @providesModule shallowCompare
+ */
+
+
+
+var shallowEqual = __webpack_require__(369);
+
+/**
+ * Does a shallow comparison for props and state.
+ * See ReactComponentWithPureRenderMixin
+ * See also https://facebook.github.io/react/docs/shallow-compare.html
+ */
+function shallowCompare(instance, nextProps, nextState) {
return (
- /*#__PURE__*/
- function (_Component) {
- Object(inherits["a" /* default */])(_class, _Component);
-
- function _class() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, _class);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(_class).apply(this, arguments));
- _this.bindNode = _this.bindNode.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.cancelBlurCheck = _this.cancelBlurCheck.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.queueBlurCheck = _this.queueBlurCheck.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.normalizeButtonFocus = _this.normalizeButtonFocus.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- return _this;
- }
-
- Object(createClass["a" /* default */])(_class, [{
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- this.cancelBlurCheck();
- }
- }, {
- key: "bindNode",
- value: function bindNode(node) {
- if (node) {
- this.node = node;
- } else {
- delete this.node;
- this.cancelBlurCheck();
- }
- }
- }, {
- key: "queueBlurCheck",
- value: function queueBlurCheck(event) {
- var _this2 = this;
-
- // React does not allow using an event reference asynchronously
- // due to recycling behavior, except when explicitly persisted.
- event.persist(); // Skip blur check if clicking button. See `normalizeButtonFocus`.
-
- if (this.preventBlurCheck) {
- return;
- }
-
- this.blurCheckTimeout = setTimeout(function () {
- if ('function' === typeof _this2.node.handleFocusOutside) {
- _this2.node.handleFocusOutside(event);
- }
- }, 0);
- }
- }, {
- key: "cancelBlurCheck",
- value: function cancelBlurCheck() {
- clearTimeout(this.blurCheckTimeout);
- }
- /**
- * Handles a mousedown or mouseup event to respectively assign and
- * unassign a flag for preventing blur check on button elements. Some
- * browsers, namely Firefox and Safari, do not emit a focus event on
- * button elements when clicked, while others do. The logic here
- * intends to normalize this as treating click on buttons as focus.
- *
- * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus
- *
- * @param {MouseEvent} event Event for mousedown or mouseup.
- */
-
- }, {
- key: "normalizeButtonFocus",
- value: function normalizeButtonFocus(event) {
- var type = event.type,
- target = event.target;
- var isInteractionEnd = Object(external_lodash_["includes"])(['mouseup', 'touchend'], type);
-
- if (isInteractionEnd) {
- this.preventBlurCheck = false;
- } else if (isFocusNormalizedButton(target)) {
- this.preventBlurCheck = true;
- }
- }
- }, {
- key: "render",
- value: function render() {
- // Disable reason: See `normalizeButtonFocus` for browser-specific
- // focus event normalization.
-
- /* eslint-disable jsx-a11y/no-static-element-interactions */
- return Object(external_this_wp_element_["createElement"])("div", {
- onFocus: this.cancelBlurCheck,
- onMouseDown: this.normalizeButtonFocus,
- onMouseUp: this.normalizeButtonFocus,
- onTouchStart: this.normalizeButtonFocus,
- onTouchEnd: this.normalizeButtonFocus,
- onBlur: this.queueBlurCheck
- }, Object(external_this_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({
- ref: this.bindNode
- }, this.props)));
- /* eslint-enable jsx-a11y/no-static-element-interactions */
- }
- }]);
-
- return _class;
- }(external_this_wp_element_["Component"])
+ !shallowEqual(instance.props, nextProps) ||
+ !shallowEqual(instance.state, nextState)
);
-}, 'withFocusOutside'));
-
-// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules
-var objectWithoutProperties = __webpack_require__(21);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-function Button(props, ref) {
- var href = props.href,
- target = props.target,
- isPrimary = props.isPrimary,
- isLarge = props.isLarge,
- isSmall = props.isSmall,
- isTertiary = props.isTertiary,
- isToggled = props.isToggled,
- isBusy = props.isBusy,
- isDefault = props.isDefault,
- isLink = props.isLink,
- isDestructive = props.isDestructive,
- className = props.className,
- disabled = props.disabled,
- additionalProps = Object(objectWithoutProperties["a" /* default */])(props, ["href", "target", "isPrimary", "isLarge", "isSmall", "isTertiary", "isToggled", "isBusy", "isDefault", "isLink", "isDestructive", "className", "disabled"]);
-
- var classes = classnames_default()('components-button', className, {
- 'is-button': isDefault || isPrimary || isLarge || isSmall,
- 'is-default': isDefault || isLarge || isSmall,
- 'is-primary': isPrimary,
- 'is-large': isLarge,
- 'is-small': isSmall,
- 'is-tertiary': isTertiary,
- 'is-toggled': isToggled,
- 'is-busy': isBusy,
- 'is-link': isLink,
- 'is-destructive': isDestructive
- });
- var tag = href !== undefined && !disabled ? 'a' : 'button';
- var tagProps = tag === 'a' ? {
- href: href,
- target: target
- } : {
- type: 'button',
- disabled: disabled
- };
- return Object(external_this_wp_element_["createElement"])(tag, Object(objectSpread["a" /* default */])({}, tagProps, additionalProps, {
- className: classes,
- ref: ref
- }));
-}
-/* harmony default export */ var build_module_button = (Object(external_this_wp_element_["forwardRef"])(Button));
-
-// EXTERNAL MODULE: external {"this":["wp","isShallowEqual"]}
-var external_this_wp_isShallowEqual_ = __webpack_require__(42);
-var external_this_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_this_wp_isShallowEqual_);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/utils.js
-
-
-
-/**
- * Module constants
- */
-var HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space
-
-var isMobileViewport = function isMobileViewport() {
- return window.innerWidth < 782;
-};
-
-var isRTL = function isRTL() {
- return document.documentElement.dir === 'rtl';
-};
-/**
- * Utility used to compute the popover position over the xAxis
- *
- * @param {Object} anchorRect Anchor Rect.
- * @param {Object} contentSize Content Size.
- * @param {string} xAxis Desired xAxis.
- * @param {string} chosenYAxis yAxis to be used.
- * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.
- *
- * @return {Object} Popover xAxis position and constraints.
- */
-
-
-function computePopoverXAxisPosition(anchorRect, contentSize, xAxis, chosenYAxis) {
- var width = contentSize.width; // Correct xAxis for RTL support
-
- if (xAxis === 'left' && isRTL()) {
- xAxis = 'right';
- } else if (xAxis === 'right' && isRTL()) {
- xAxis = 'left';
- } // x axis alignment choices
-
-
- var anchorMidPoint = Math.round(anchorRect.left + anchorRect.width / 2);
- var centerAlignment = {
- popoverLeft: anchorMidPoint,
- contentWidth: (anchorMidPoint - width / 2 > 0 ? width / 2 : anchorMidPoint) + (anchorMidPoint + width / 2 > window.innerWidth ? window.innerWidth - anchorMidPoint : width / 2)
- };
- var leftAlignmentX = chosenYAxis === 'middle' ? anchorRect.left : anchorMidPoint;
- var leftAlignment = {
- popoverLeft: leftAlignmentX,
- contentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX
- };
- var rightAlignmentX = chosenYAxis === 'middle' ? anchorRect.right : anchorMidPoint;
- var rightAlignment = {
- popoverLeft: rightAlignmentX,
- contentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width
- }; // Choosing the x axis
-
- var chosenXAxis;
- var contentWidth = null;
-
- if (xAxis === 'center' && centerAlignment.contentWidth === width) {
- chosenXAxis = 'center';
- } else if (xAxis === 'left' && leftAlignment.contentWidth === width) {
- chosenXAxis = 'left';
- } else if (xAxis === 'right' && rightAlignment.contentWidth === width) {
- chosenXAxis = 'right';
- } else {
- chosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';
- var chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;
- contentWidth = chosenWidth !== width ? chosenWidth : null;
- }
-
- var popoverLeft;
-
- if (chosenXAxis === 'center') {
- popoverLeft = centerAlignment.popoverLeft;
- } else if (chosenXAxis === 'left') {
- popoverLeft = leftAlignment.popoverLeft;
- } else {
- popoverLeft = rightAlignment.popoverLeft;
- }
-
- return {
- xAxis: chosenXAxis,
- popoverLeft: popoverLeft,
- contentWidth: contentWidth
- };
-}
-/**
- * Utility used to compute the popover position over the yAxis
- *
- * @param {Object} anchorRect Anchor Rect.
- * @param {Object} contentSize Content Size.
- * @param {string} yAxis Desired yAxis.
- * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.
- *
- * @return {Object} Popover xAxis position and constraints.
- */
-
-function computePopoverYAxisPosition(anchorRect, contentSize, yAxis) {
- var height = contentSize.height; // y axis alignment choices
-
- var anchorMidPoint = anchorRect.top + anchorRect.height / 2;
- var middleAlignment = {
- popoverTop: anchorMidPoint,
- contentHeight: (anchorMidPoint - height / 2 > 0 ? height / 2 : anchorMidPoint) + (anchorMidPoint + height / 2 > window.innerHeight ? window.innerHeight - anchorMidPoint : height / 2)
- };
- var topAlignment = {
- popoverTop: anchorRect.top,
- contentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET
- };
- var bottomAlignment = {
- popoverTop: anchorRect.bottom,
- contentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height
- }; // Choosing the y axis
-
- var chosenYAxis;
- var contentHeight = null;
-
- if (yAxis === 'middle' && middleAlignment.contentHeight === height) {
- chosenYAxis = 'middle';
- } else if (yAxis === 'top' && topAlignment.contentHeight === height) {
- chosenYAxis = 'top';
- } else if (yAxis === 'bottom' && bottomAlignment.contentHeight === height) {
- chosenYAxis = 'bottom';
- } else {
- chosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';
- var chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;
- contentHeight = chosenHeight !== height ? chosenHeight : null;
- }
-
- var popoverTop;
-
- if (chosenYAxis === 'middle') {
- popoverTop = middleAlignment.popoverTop;
- } else if (chosenYAxis === 'top') {
- popoverTop = topAlignment.popoverTop;
- } else {
- popoverTop = bottomAlignment.popoverTop;
- }
-
- return {
- yAxis: chosenYAxis,
- popoverTop: popoverTop,
- contentHeight: contentHeight
- };
-}
-/**
- * Utility used to compute the popover position and the content max width/height for a popover
- * given its anchor rect and its content size.
- *
- * @param {Object} anchorRect Anchor Rect.
- * @param {Object} contentSize Content Size.
- * @param {string} position Position.
- * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.
- *
- * @return {Object} Popover position and constraints.
- */
-
-function utils_computePopoverPosition(anchorRect, contentSize) {
- var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'top';
- var expandOnMobile = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
-
- var _position$split = position.split(' '),
- _position$split2 = Object(slicedToArray["a" /* default */])(_position$split, 2),
- yAxis = _position$split2[0],
- _position$split2$ = _position$split2[1],
- xAxis = _position$split2$ === void 0 ? 'center' : _position$split2$;
-
- var yAxisPosition = computePopoverYAxisPosition(anchorRect, contentSize, yAxis);
- var xAxisPosition = computePopoverXAxisPosition(anchorRect, contentSize, xAxis, yAxisPosition.yAxis);
- return Object(objectSpread["a" /* default */])({
- isMobile: isMobileViewport() && expandOnMobile
- }, xAxisPosition, yAxisPosition);
-}
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/context.js
-
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-
-var _createContext = Object(external_this_wp_element_["createContext"])({
- focusHistory: []
-}),
- Provider = _createContext.Provider,
- Consumer = _createContext.Consumer;
-
-Provider.displayName = 'FocusReturnProvider';
-Consumer.displayName = 'FocusReturnConsumer';
-/**
- * The maximum history length to capture for the focus stack. When exceeded,
- * items should be shifted from the stack for each consecutive push.
- *
- * @type {number}
- */
-
-var MAX_STACK_LENGTH = 100;
-
-var context_FocusReturnProvider =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(FocusReturnProvider, _Component);
-
- function FocusReturnProvider() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, FocusReturnProvider);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FocusReturnProvider).apply(this, arguments));
- _this.onFocus = _this.onFocus.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.state = {
- focusHistory: []
- };
- return _this;
- }
-
- Object(createClass["a" /* default */])(FocusReturnProvider, [{
- key: "onFocus",
- value: function onFocus(event) {
- var focusHistory = this.state.focusHistory; // Push the focused element to the history stack, keeping only unique
- // members but preferring the _last_ occurrence of any duplicates.
- // Lodash's `uniq` behavior favors the first occurrence, so the array
- // is temporarily reversed prior to it being called upon. Uniqueness
- // helps avoid situations where, such as in a constrained tabbing area,
- // the user changes focus enough within a transient element that the
- // stack may otherwise only consist of members pending destruction, at
- // which point focus might have been lost.
-
- var nextFocusHistory = Object(external_lodash_["uniq"])([].concat(Object(toConsumableArray["a" /* default */])(focusHistory), [event.target]).slice(-1 * MAX_STACK_LENGTH).reverse()).reverse();
- this.setState({
- focusHistory: nextFocusHistory
- });
- }
- }, {
- key: "render",
- value: function render() {
- var _this$props = this.props,
- children = _this$props.children,
- className = _this$props.className;
- return Object(external_this_wp_element_["createElement"])(Provider, {
- value: this.state
- }, Object(external_this_wp_element_["createElement"])("div", {
- onFocus: this.onFocus,
- className: className
- }, children));
- }
- }]);
-
- return FocusReturnProvider;
-}(external_this_wp_element_["Component"]);
-
-/* harmony default export */ var with_focus_return_context = (context_FocusReturnProvider);
-
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-focus-return/index.js
-
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-
-/**
- * Internal dependencies
- */
-
-
-/**
- * Returns true if the given object is component-like. An object is component-
- * like if it is an instance of wp.element.Component, or is a function.
- *
- * @param {*} object Object to test.
- *
- * @return {boolean} Whether object is component-like.
- */
-
-function isComponentLike(object) {
- return object instanceof external_this_wp_element_["Component"] || typeof object === 'function';
-}
-/**
- * Higher Order Component used to be used to wrap disposable elements like
- * sidebars, modals, dropdowns. When mounting the wrapped component, we track a
- * reference to the current active element so we know where to restore focus
- * when the component is unmounted.
- *
- * @param {(WPComponent|Object)} options The component to be enhanced with
- * focus return behavior, or an object
- * describing the component and the
- * focus return characteristics.
- *
- * @return {Component} Component with the focus restauration behaviour.
- */
-
-
-function withFocusReturn(options) {
- // Normalize as overloaded form `withFocusReturn( options )( Component )`
- // or as `withFocusReturn( Component )`.
- if (isComponentLike(options)) {
- var WrappedComponent = options;
- return withFocusReturn({})(WrappedComponent);
- }
-
- var _options$onFocusRetur = options.onFocusReturn,
- onFocusReturn = _options$onFocusRetur === void 0 ? external_lodash_["stubTrue"] : _options$onFocusRetur;
- return function (WrappedComponent) {
- var FocusReturn =
- /*#__PURE__*/
- function (_Component) {
- Object(inherits["a" /* default */])(FocusReturn, _Component);
-
- function FocusReturn() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, FocusReturn);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FocusReturn).apply(this, arguments));
- _this.ownFocusedElements = new Set();
- _this.activeElementOnMount = document.activeElement;
-
- _this.setIsFocusedFalse = function () {
- return _this.isFocused = false;
- };
-
- _this.setIsFocusedTrue = function (event) {
- _this.ownFocusedElements.add(event.target);
-
- _this.isFocused = true;
- };
-
- return _this;
- }
-
- Object(createClass["a" /* default */])(FocusReturn, [{
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- var activeElementOnMount = this.activeElementOnMount,
- isFocused = this.isFocused,
- ownFocusedElements = this.ownFocusedElements;
-
- if (!isFocused) {
- return;
- } // Defer to the component's own explicit focus return behavior,
- // if specified. The function should return `false` to prevent
- // the default behavior otherwise occurring here. This allows
- // for support that the `onFocusReturn` decides to allow the
- // default behavior to occur under some conditions.
-
-
- if (onFocusReturn() === false) {
- return;
- }
-
- var stack = [].concat(Object(toConsumableArray["a" /* default */])(external_lodash_["without"].apply(void 0, [this.props.focusHistory].concat(Object(toConsumableArray["a" /* default */])(ownFocusedElements)))), [activeElementOnMount]);
- var candidate;
-
- while (candidate = stack.pop()) {
- if (document.body.contains(candidate)) {
- candidate.focus();
- return;
- }
- }
- }
- }, {
- key: "render",
- value: function render() {
- return Object(external_this_wp_element_["createElement"])("div", {
- onFocus: this.setIsFocusedTrue,
- onBlur: this.setIsFocusedFalse
- }, Object(external_this_wp_element_["createElement"])(WrappedComponent, this.props));
- }
- }]);
-
- return FocusReturn;
- }(external_this_wp_element_["Component"]);
-
- return function (props) {
- return Object(external_this_wp_element_["createElement"])(Consumer, null, function (context) {
- return Object(external_this_wp_element_["createElement"])(FocusReturn, Object(esm_extends["a" /* default */])({}, props, context));
- });
- };
- };
-}
-
-/* harmony default export */ var with_focus_return = (Object(external_this_wp_compose_["createHigherOrderComponent"])(withFocusReturn, 'withFocusReturn'));
-
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-constrained-tabbing/index.js
-
-
-
-
-
-
-
-
-/**
- * WordPress dependencies
- */
-
-
-
-
-var withConstrainedTabbing = Object(external_this_wp_compose_["createHigherOrderComponent"])(function (WrappedComponent) {
- return (
- /*#__PURE__*/
- function (_Component) {
- Object(inherits["a" /* default */])(_class, _Component);
-
- function _class() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, _class);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(_class).apply(this, arguments));
- _this.focusContainRef = Object(external_this_wp_element_["createRef"])();
- _this.handleTabBehaviour = _this.handleTabBehaviour.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- return _this;
- }
-
- Object(createClass["a" /* default */])(_class, [{
- key: "handleTabBehaviour",
- value: function handleTabBehaviour(event) {
- if (event.keyCode !== external_this_wp_keycodes_["TAB"]) {
- return;
- }
-
- var tabbables = external_this_wp_dom_["focus"].tabbable.find(this.focusContainRef.current);
-
- if (!tabbables.length) {
- return;
- }
-
- var firstTabbable = tabbables[0];
- var lastTabbable = tabbables[tabbables.length - 1];
-
- if (event.shiftKey && event.target === firstTabbable) {
- event.preventDefault();
- lastTabbable.focus();
- } else if (!event.shiftKey && event.target === lastTabbable) {
- event.preventDefault();
- firstTabbable.focus();
- /*
- * When pressing Tab and none of the tabbables has focus, the keydown
- * event happens on the wrapper div: move focus on the first tabbable.
- */
- } else if (!tabbables.includes(event.target)) {
- event.preventDefault();
- firstTabbable.focus();
- }
- }
- }, {
- key: "render",
- value: function render() {
- // Disable reason: this component is non-interactive, but must capture
- // events from the wrapped component to determine when the Tab key is used.
-
- /* eslint-disable jsx-a11y/no-static-element-interactions */
- return Object(external_this_wp_element_["createElement"])("div", {
- onKeyDown: this.handleTabBehaviour,
- ref: this.focusContainRef,
- tabIndex: "-1"
- }, Object(external_this_wp_element_["createElement"])(WrappedComponent, this.props));
- /* eslint-enable jsx-a11y/no-static-element-interactions */
- }
- }]);
-
- return _class;
- }(external_this_wp_element_["Component"])
- );
-}, 'withConstrainedTabbing');
-/* harmony default export */ var with_constrained_tabbing = (withConstrainedTabbing);
-
-// EXTERNAL MODULE: ./node_modules/react-click-outside/dist/index.js
-var dist = __webpack_require__(108);
-var dist_default = /*#__PURE__*/__webpack_require__.n(dist);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/detect-outside.js
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-
-var detect_outside_PopoverDetectOutside =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(PopoverDetectOutside, _Component);
-
- function PopoverDetectOutside() {
- Object(classCallCheck["a" /* default */])(this, PopoverDetectOutside);
-
- return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(PopoverDetectOutside).apply(this, arguments));
- }
-
- Object(createClass["a" /* default */])(PopoverDetectOutside, [{
- key: "handleClickOutside",
- value: function handleClickOutside(event) {
- var onClickOutside = this.props.onClickOutside;
-
- if (onClickOutside) {
- onClickOutside(event);
- }
- }
- }, {
- key: "render",
- value: function render() {
- return this.props.children;
- }
- }]);
-
- return PopoverDetectOutside;
-}(external_this_wp_element_["Component"]);
-
-/* harmony default export */ var detect_outside = (dist_default()(detect_outside_PopoverDetectOutside));
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/shortcut/index.js
-
-
-/**
- * External dependencies
- */
-
-
-function Shortcut(_ref) {
- var shortcut = _ref.shortcut,
- className = _ref.className;
-
- if (!shortcut) {
- return null;
- }
-
- var displayText;
- var ariaLabel;
-
- if (Object(external_lodash_["isString"])(shortcut)) {
- displayText = shortcut;
- }
-
- if (Object(external_lodash_["isObject"])(shortcut)) {
- displayText = shortcut.display;
- ariaLabel = shortcut.ariaLabel;
- }
-
- return Object(external_this_wp_element_["createElement"])("span", {
- className: className,
- "aria-label": ariaLabel
- }, displayText);
-}
-
-/* harmony default export */ var build_module_shortcut = (Shortcut);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/tooltip/index.js
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-/**
- * Internal dependencies
- */
-
-
-
-/**
- * Time over children to wait before showing tooltip
- *
- * @type {Number}
- */
-
-var TOOLTIP_DELAY = 700;
-
-var tooltip_Tooltip =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(Tooltip, _Component);
-
- function Tooltip() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, Tooltip);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(Tooltip).apply(this, arguments));
- _this.delayedSetIsOver = Object(external_lodash_["debounce"])(function (isOver) {
- return _this.setState({
- isOver: isOver
- });
- }, TOOLTIP_DELAY);
- _this.state = {
- isOver: false
- };
- return _this;
- }
-
- Object(createClass["a" /* default */])(Tooltip, [{
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- this.delayedSetIsOver.cancel();
- }
- }, {
- key: "emitToChild",
- value: function emitToChild(eventName, event) {
- var children = this.props.children;
-
- if (external_this_wp_element_["Children"].count(children) !== 1) {
- return;
- }
-
- var child = external_this_wp_element_["Children"].only(children);
-
- if (typeof child.props[eventName] === 'function') {
- child.props[eventName](event);
- }
- }
- }, {
- key: "createToggleIsOver",
- value: function createToggleIsOver(eventName, isDelayed) {
- var _this2 = this;
-
- return function (event) {
- // Preserve original child callback behavior
- _this2.emitToChild(eventName, event); // Mouse events behave unreliably in React for disabled elements,
- // firing on mouseenter but not mouseleave. Further, the default
- // behavior for disabled elements in some browsers is to ignore
- // mouse events. Don't bother trying to to handle them.
- //
- // See: https://github.com/facebook/react/issues/4251
-
-
- if (event.currentTarget.disabled) {
- return;
- } // Needed in case unsetting is over while delayed set pending, i.e.
- // quickly blur/mouseleave before delayedSetIsOver is called
-
-
- _this2.delayedSetIsOver.cancel();
-
- var isOver = Object(external_lodash_["includes"])(['focus', 'mouseenter'], event.type);
-
- if (isOver === _this2.state.isOver) {
- return;
- }
-
- if (isDelayed) {
- _this2.delayedSetIsOver(isOver);
- } else {
- _this2.setState({
- isOver: isOver
- });
- }
- };
- }
- }, {
- key: "render",
- value: function render() {
- var _this$props = this.props,
- children = _this$props.children,
- position = _this$props.position,
- text = _this$props.text,
- shortcut = _this$props.shortcut;
-
- if (external_this_wp_element_["Children"].count(children) !== 1) {
- if (false) {}
-
- return children;
- }
-
- var child = external_this_wp_element_["Children"].only(children);
- var isOver = this.state.isOver;
- return Object(external_this_wp_element_["cloneElement"])(child, {
- onMouseEnter: this.createToggleIsOver('onMouseEnter', true),
- onMouseLeave: this.createToggleIsOver('onMouseLeave'),
- onClick: this.createToggleIsOver('onClick'),
- onFocus: this.createToggleIsOver('onFocus'),
- onBlur: this.createToggleIsOver('onBlur'),
- children: Object(external_this_wp_element_["concatChildren"])(child.props.children, isOver && Object(external_this_wp_element_["createElement"])(popover, {
- focusOnMount: false,
- position: position,
- className: "components-tooltip",
- "aria-hidden": "true",
- animate: false
- }, text, Object(external_this_wp_element_["createElement"])(build_module_shortcut, {
- className: "components-tooltip__shortcut",
- shortcut: shortcut
- })))
- });
- }
- }]);
-
- return Tooltip;
-}(external_this_wp_element_["Component"]);
-
-/* harmony default export */ var build_module_tooltip = (tooltip_Tooltip);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/dashicon/icon-class.js
-var IconClass = function IconClass(props) {
- var icon = props.icon,
- className = props.className;
- return ['dashicon', 'dashicons-' + icon, className].filter(Boolean).join(' ');
-};
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/dashicon/index.js
-
-
-
-
-
-
+}
+
+module.exports = shallowCompare;
+
+
+/***/ }),
+/* 144 */,
+/* 145 */
+/***/ (function(module, exports) {
+
+function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+}
+
+module.exports = _inheritsLoose;
+
+/***/ }),
+/* 146 */,
+/* 147 */,
+/* 148 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Dashicon; });
+/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
+/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_8__);
+
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
/* !!!
IF YOU ARE EDITING dashicon/index.jsx
@@ -25004,36 +12594,29 @@
* WordPress dependencies
*/
-/**
- * Internal dependencies
- */
-
-
-
-
-var dashicon_Dashicon =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(Dashicon, _Component);
+
+
+var Dashicon = /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(Dashicon, _Component);
+
+ var _super = _createSuper(Dashicon);
function Dashicon() {
- Object(classCallCheck["a" /* default */])(this, Dashicon);
-
- return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(Dashicon).apply(this, arguments));
- }
-
- Object(createClass["a" /* default */])(Dashicon, [{
- key: "shouldComponentUpdate",
- value: function shouldComponentUpdate(nextProps) {
- return this.props.icon !== nextProps.icon || this.props.size !== nextProps.size || this.props.className !== nextProps.className || this.props.ariaPressed !== nextProps.ariaPressed;
- }
- }, {
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, Dashicon);
+
+ return _super.apply(this, arguments);
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Dashicon, [{
key: "render",
value: function render() {
var _this$props = this.props,
icon = _this$props.icon,
_this$props$size = _this$props.size,
- size = _this$props$size === void 0 ? 20 : _this$props$size;
+ size = _this$props$size === void 0 ? 20 : _this$props$size,
+ className = _this$props.className,
+ extraProps = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_this$props, ["icon", "size", "className"]);
+
var path;
switch (icon) {
@@ -26194,8 +13777,8 @@
return null;
}
- var iconClass = IconClass(this.props);
- return Object(external_this_wp_element_["createElement"])(svg_SVG, {
+ var iconClass = ['dashicon', 'dashicons-' + icon, className].filter(Boolean).join(' ');
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_8__["SVG"], Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])({
"aria-hidden": true,
role: "img",
focusable: "false",
@@ -26204,91 +13787,281 @@
width: size,
height: size,
viewBox: "0 0 20 20"
- }, Object(external_this_wp_element_["createElement"])(svg_Path, {
+ }, extraProps), Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_8__["Path"], {
d: path
}));
}
}]);
return Dashicon;
-}(external_this_wp_element_["Component"]);
-
-
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/icon-button/index.js
-
-
-
-
-/**
- * External dependencies
- */
-
-
-/**
- * WordPress dependencies
- */
-
-
-/**
- * Internal dependencies
- */
-
-
-
-
-
-function IconButton(props, ref) {
- var icon = props.icon,
- children = props.children,
- label = props.label,
- className = props.className,
- tooltip = props.tooltip,
- shortcut = props.shortcut,
- labelPosition = props.labelPosition,
- additionalProps = Object(objectWithoutProperties["a" /* default */])(props, ["icon", "children", "label", "className", "tooltip", "shortcut", "labelPosition"]);
-
- var ariaPressed = additionalProps['aria-pressed'];
- var classes = classnames_default()('components-icon-button', className, {
- 'has-text': children
- });
- var tooltipText = tooltip || label; // Should show the tooltip if...
-
- var showTooltip = !additionalProps.disabled && ( // an explicit tooltip is passed or...
- tooltip || // there's a shortcut or...
- shortcut || // there's a label and...
- !!label && ( // the children are empty and...
- !children || Object(external_lodash_["isArray"])(children) && !children.length) && // the tooltip is not explicitly disabled.
- false !== tooltip);
- var element = Object(external_this_wp_element_["createElement"])(build_module_button, Object(esm_extends["a" /* default */])({
- "aria-label": label
- }, additionalProps, {
- className: classes,
- ref: ref
- }), Object(external_lodash_["isString"])(icon) ? Object(external_this_wp_element_["createElement"])(dashicon_Dashicon, {
- icon: icon,
- ariaPressed: ariaPressed
- }) : icon, children);
-
- if (showTooltip) {
- element = Object(external_this_wp_element_["createElement"])(build_module_tooltip, {
- text: tooltipText,
- shortcut: shortcut,
- position: labelPosition
- }, element);
- }
-
- return element;
-}
-
-/* harmony default export */ var icon_button = (Object(external_this_wp_element_["forwardRef"])(IconButton));
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/scroll-lock/index.js
-
-
-
-
-
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"]);
+
+
+
+
+/***/ }),
+/* 149 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var e=__webpack_require__(13),n={display:"block",opacity:0,position:"absolute",top:0,left:0,height:"100%",width:"100%",overflow:"hidden",pointerEvents:"none",zIndex:-1},t=function(t){var r=t.onResize,u=e.useRef();return function(n,t){var r=function(){return n.current&&n.current.contentDocument&&n.current.contentDocument.defaultView};function u(){t();var e=r();e&&e.addEventListener("resize",t)}e.useEffect((function(){return r()?u():n.current&&n.current.addEventListener&&n.current.addEventListener("load",u),function(){var e=r();e&&"function"==typeof e.removeEventListener&&e.removeEventListener("resize",t)}}),[])}(u,(function(){return r(u)})),e.createElement("iframe",{style:n,src:"about:blank",ref:u,"aria-hidden":!0,tabIndex:-1,frameBorder:0})},r=function(e){return{width:null!=e?e.offsetWidth:null,height:null!=e?e.offsetHeight:null}};module.exports=function(n){void 0===n&&(n=r);var u=e.useState(n(null)),o=u[0],i=u[1],c=e.useCallback((function(e){return i(n(e.current))}),[n]);return[e.useMemo((function(){return e.createElement(t,{onResize:c})}),[c]),o]};
+
+
+/***/ }),
+/* 150 */,
+/* 151 */,
+/* 152 */,
+/* 153 */,
+/* 154 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * WordPress dependencies
+ */
+
+var close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
+ d: "M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"
+}));
+/* harmony default export */ __webpack_exports__["a"] = (close);
+
+
+/***/ }),
+/* 155 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * WordPress dependencies
+ */
+
+var check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
+ d: "M9 18.6L3.5 13l1-1L9 16.4l9.5-9.9 1 1z"
+}));
+/* harmony default export */ __webpack_exports__["a"] = (check);
+
+
+/***/ }),
+/* 156 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _propTypes = __webpack_require__(28);
+
+var _propTypes2 = _interopRequireDefault(_propTypes);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+exports['default'] = _propTypes2['default'].oneOf(_constants.WEEKDAYS);
+
+/***/ }),
+/* 157 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _propTypes = __webpack_require__(28);
+
+var _propTypes2 = _interopRequireDefault(_propTypes);
+
+var _airbnbPropTypes = __webpack_require__(85);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+
+function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
+
+exports['default'] = (0, _airbnbPropTypes.and)([_propTypes2['default'].instanceOf(Set), function () {
+ function modifiers(props, propName) {
+ for (var _len = arguments.length, rest = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
+ rest[_key - 2] = arguments[_key];
+ }
+
+ var propValue = props[propName];
+
+ var firstError = void 0;
+ [].concat(_toConsumableArray(propValue)).some(function (v, i) {
+ var _PropTypes$string;
+
+ var fakePropName = String(propName) + ': index ' + String(i);
+ firstError = (_PropTypes$string = _propTypes2['default'].string).isRequired.apply(_PropTypes$string, [_defineProperty({}, fakePropName, v), fakePropName].concat(rest));
+ return firstError != null;
+ });
+ return firstError == null ? null : firstError;
+ }
+
+ return modifiers;
+}()], 'Modifiers (Set of Strings)');
+
+/***/ }),
+/* 158 */,
+/* 159 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useSlot; });
+/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var _slot_fill_context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(133);
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+function useSlot(name) {
+ var registry = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useContext"])(_slot_fill_context__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]);
+ var slot = registry.slots[name] || {};
+ var slotFills = registry.fills[name];
+ var fills = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(function () {
+ return slotFills || [];
+ }, [slotFills]);
+ var updateSlot = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(function (fillProps) {
+ registry.updateSlot(name, fillProps);
+ }, [name, registry.updateSlot]);
+ var unregisterSlot = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(function (slotRef) {
+ registry.unregisterSlot(name, slotRef);
+ }, [name, registry.unregisterSlot]);
+ var registerFill = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(function (fillRef) {
+ registry.registerFill(name, fillRef);
+ }, [name, registry.registerFill]);
+ var unregisterFill = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useCallback"])(function (fillRef) {
+ registry.unregisterFill(name, fillRef);
+ }, [name, registry.unregisterFill]);
+ return _objectSpread({}, slot, {
+ updateSlot: updateSlot,
+ unregisterSlot: unregisterSlot,
+ fills: fills,
+ registerFill: registerFill,
+ unregisterFill: unregisterFill
+ });
+}
+
+
+/***/ }),
+/* 160 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
+/* harmony import */ var _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
+
+
+
+/**
+ * External dependencies
+ */
+
+
+function Animate(_ref) {
+ var type = _ref.type,
+ _ref$options = _ref.options,
+ options = _ref$options === void 0 ? {} : _ref$options,
+ children = _ref.children;
+
+ if (type === 'appear') {
+ var _classnames;
+
+ var _options$origin = options.origin,
+ origin = _options$origin === void 0 ? 'top' : _options$origin;
+
+ var _origin$split = origin.split(' '),
+ _origin$split2 = Object(_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_origin$split, 2),
+ yAxis = _origin$split2[0],
+ _origin$split2$ = _origin$split2[1],
+ xAxis = _origin$split2$ === void 0 ? 'center' : _origin$split2$;
+
+ return children({
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-animate__appear', (_classnames = {}, Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(_classnames, 'is-from-' + xAxis, xAxis !== 'center'), Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(_classnames, 'is-from-' + yAxis, yAxis !== 'middle'), _classnames))
+ });
+ }
+
+ if (type === 'slide-in') {
+ var _options$origin2 = options.origin,
+ _origin = _options$origin2 === void 0 ? 'left' : _options$origin2;
+
+ return children({
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-animate__slide-in', 'is-from-' + _origin)
+ });
+ }
+
+ if (type === 'loading') {
+ return children({
+ className: classnames__WEBPACK_IMPORTED_MODULE_2___default()('components-animate__loading')
+ });
+ }
+
+ return children({});
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Animate);
+
+
+/***/ }),
+/* 161 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* unused harmony export createScrollLockComponent */
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__);
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
/**
* WordPress dependencies
@@ -26303,7 +14076,7 @@
* @param {Object} args Keyword args.
* @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.
* @param {string} args.className The name of the class used to lock scrolling.
- * @return {Component} The bound ScrollLock component.
+ * @return {WPComponent} The bound ScrollLock component.
*/
function createScrollLockComponent() {
@@ -26377,991 +14150,7445 @@
--lockCounter;
}
- return (
- /*#__PURE__*/
- function (_Component) {
- Object(inherits["a" /* default */])(ScrollLock, _Component);
-
- function ScrollLock() {
- Object(classCallCheck["a" /* default */])(this, ScrollLock);
-
- return Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(ScrollLock).apply(this, arguments));
- }
-
- Object(createClass["a" /* default */])(ScrollLock, [{
- key: "componentDidMount",
-
- /**
- * Requests scroll lock on mount.
- */
- value: function componentDidMount() {
- requestLock();
- }
- /**
- * Releases scroll lock before unmount.
- */
-
- }, {
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- releaseLock();
- }
- /**
- * Render nothing as this component is merely a way to declare scroll lock.
- *
- * @return {null} Render nothing by returning `null`.
- */
-
- }, {
- key: "render",
- value: function render() {
- return null;
- }
- }]);
-
- return ScrollLock;
- }(external_this_wp_element_["Component"])
- );
-}
-/* harmony default export */ var scroll_lock = (createScrollLockComponent());
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/isolated-event-container/index.js
-
-
-
-
-
-
-
-
-
-
-/**
- * WordPress dependencies
- */
-
-
-var isolated_event_container_IsolatedEventContainer =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(IsolatedEventContainer, _Component);
-
- function IsolatedEventContainer(props) {
+ return /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(ScrollLock, _Component);
+
+ var _super = _createSuper(ScrollLock);
+
+ function ScrollLock() {
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(this, ScrollLock);
+
+ return _super.apply(this, arguments);
+ }
+
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(ScrollLock, [{
+ key: "componentDidMount",
+
+ /**
+ * Requests scroll lock on mount.
+ */
+ value: function componentDidMount() {
+ requestLock();
+ }
+ /**
+ * Releases scroll lock before unmount.
+ */
+
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ releaseLock();
+ }
+ /**
+ * Render nothing as this component is merely a way to declare scroll lock.
+ *
+ * @return {null} Render nothing by returning `null`.
+ */
+
+ }, {
+ key: "render",
+ value: function render() {
+ return null;
+ }
+ }]);
+
+ return ScrollLock;
+ }(_wordpress_element__WEBPACK_IMPORTED_MODULE_5__["Component"]);
+}
+/* harmony default export */ __webpack_exports__["a"] = (createScrollLockComponent());
+
+
+/***/ }),
+/* 162 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11);
+/* harmony import */ var classnames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(classnames__WEBPACK_IMPORTED_MODULE_2__);
+/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(54);
+/* harmony import */ var _wordpress_a11y__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1);
+/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__);
+/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(104);
+/* harmony import */ var _wordpress_warning__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_warning__WEBPACK_IMPORTED_MODULE_5__);
+/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(34);
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var NOTICE_TIMEOUT = 10000;
+/** @typedef {import('@wordpress/element').WPElement} WPElement */
+
+/**
+ * Custom hook which announces the message with the given politeness, if a
+ * valid message is provided.
+ *
+ * @param {string|WPElement} [message] Message to announce.
+ * @param {'polite'|'assertive'} politeness Politeness to announce.
+ */
+
+function useSpokenMessage(message, politeness) {
+ var spokenMessage = typeof message === 'string' ? message : Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["renderToString"])(message);
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
+ if (spokenMessage) {
+ Object(_wordpress_a11y__WEBPACK_IMPORTED_MODULE_3__["speak"])(spokenMessage, politeness);
+ }
+ }, [spokenMessage, politeness]);
+}
+
+function Snackbar(_ref, ref) {
+ var className = _ref.className,
+ children = _ref.children,
+ _ref$spokenMessage = _ref.spokenMessage,
+ spokenMessage = _ref$spokenMessage === void 0 ? children : _ref$spokenMessage,
+ _ref$politeness = _ref.politeness,
+ politeness = _ref$politeness === void 0 ? 'polite' : _ref$politeness,
+ _ref$actions = _ref.actions,
+ actions = _ref$actions === void 0 ? [] : _ref$actions,
+ _ref$onRemove = _ref.onRemove,
+ onRemove = _ref$onRemove === void 0 ? lodash__WEBPACK_IMPORTED_MODULE_1__["noop"] : _ref$onRemove;
+ useSpokenMessage(spokenMessage, politeness);
+ Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () {
+ var timeoutHandle = setTimeout(function () {
+ onRemove();
+ }, NOTICE_TIMEOUT);
+ return function () {
+ return clearTimeout(timeoutHandle);
+ };
+ }, []);
+ var classes = classnames__WEBPACK_IMPORTED_MODULE_2___default()(className, 'components-snackbar');
+
+ if (actions && actions.length > 1) {
+ // we need to inform developers that snackbar only accepts 1 action
+ typeof process !== "undefined" && process.env && "production" !== "production" ? _wordpress_warning__WEBPACK_IMPORTED_MODULE_5___default()('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0; // return first element only while keeping it inside an array
+
+ actions = [actions[0]];
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ ref: ref,
+ className: classes,
+ onClick: onRemove,
+ tabIndex: "0",
+ role: "button",
+ onKeyPress: onRemove,
+ "aria-label": Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_4__["__"])('Dismiss this notice')
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("div", {
+ className: "components-snackbar__content"
+ }, children, actions.map(function (_ref2, index) {
+ var label = _ref2.label,
+ _onClick = _ref2.onClick,
+ url = _ref2.url;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(___WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], {
+ key: index,
+ href: url,
+ isTertiary: true,
+ onClick: function onClick(event) {
+ event.stopPropagation();
+
+ if (_onClick) {
+ _onClick(event);
+ }
+ },
+ className: "components-snackbar__action"
+ }, label);
+ })));
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(Snackbar));
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(117)))
+
+/***/ }),
+/* 163 */,
+/* 164 */,
+/* 165 */,
+/* 166 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * External dependencies
+ */
+
+
+function Shortcut(_ref) {
+ var shortcut = _ref.shortcut,
+ className = _ref.className;
+
+ if (!shortcut) {
+ return null;
+ }
+
+ var displayText;
+ var ariaLabel;
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isString"])(shortcut)) {
+ displayText = shortcut;
+ }
+
+ if (Object(lodash__WEBPACK_IMPORTED_MODULE_1__["isObject"])(shortcut)) {
+ displayText = shortcut.display;
+ ariaLabel = shortcut.ariaLabel;
+ }
+
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])("span", {
+ className: className,
+ "aria-label": ariaLabel
+ }, displayText);
+}
+
+/* harmony default export */ __webpack_exports__["a"] = (Shortcut);
+
+
+/***/ }),
+/* 167 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useToolbarState; });
+/* harmony import */ var _rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
+/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
+/* harmony import */ var reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62);
+/* harmony import */ var _CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(51);
+
+
+
+
+
+
+
+
+
+function useToolbarState(initialState) {
+ if (initialState === void 0) {
+ initialState = {};
+ }
+
+ var _useSealedState = Object(reakit_utils_useSealedState__WEBPACK_IMPORTED_MODULE_2__[/* useSealedState */ "a"])(initialState),
+ _useSealedState$orien = _useSealedState.orientation,
+ orientation = _useSealedState$orien === void 0 ? "horizontal" : _useSealedState$orien,
+ sealed = Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* _ */ "a"])(_useSealedState, ["orientation"]);
+
+ return Object(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_3__[/* u */ "g"])(Object(_rollupPluginBabelHelpers_1f0bf8c2_js__WEBPACK_IMPORTED_MODULE_0__[/* a */ "b"])({
+ orientation: orientation
+ }, sealed));
+}
+var keys = [].concat(_CompositeState_3a25dcee_js__WEBPACK_IMPORTED_MODULE_3__[/* u */ "g"].__keys);
+useToolbarState.__keys = keys;
+
+
+
+
+/***/ }),
+/* 168 */,
+/* 169 */,
+/* 170 */
+/***/ (function(module, exports) {
+
+function _extends() {
+ module.exports = _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);
+}
+
+module.exports = _extends;
+
+/***/ }),
+/* 171 */
+/***/ (function(module, exports) {
+
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+module.exports = _objectWithoutPropertiesLoose;
+
+/***/ }),
+/* 172 */
+/***/ (function(module, exports) {
+
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return self;
+}
+
+module.exports = _assertThisInitialized;
+
+/***/ }),
+/* 173 */,
+/* 174 */,
+/* 175 */,
+/* 176 */,
+/* 177 */,
+/* 178 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var util = __webpack_require__(179);
+
+function scrollIntoView(elem, container, config) {
+ config = config || {};
+ // document 归一化到 window
+ if (container.nodeType === 9) {
+ container = util.getWindow(container);
+ }
+
+ var allowHorizontalScroll = config.allowHorizontalScroll;
+ var onlyScrollIfNeeded = config.onlyScrollIfNeeded;
+ var alignWithTop = config.alignWithTop;
+ var alignWithLeft = config.alignWithLeft;
+ var offsetTop = config.offsetTop || 0;
+ var offsetLeft = config.offsetLeft || 0;
+ var offsetBottom = config.offsetBottom || 0;
+ var offsetRight = config.offsetRight || 0;
+
+ allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;
+
+ var isWin = util.isWindow(container);
+ var elemOffset = util.offset(elem);
+ var eh = util.outerHeight(elem);
+ var ew = util.outerWidth(elem);
+ var containerOffset = undefined;
+ var ch = undefined;
+ var cw = undefined;
+ var containerScroll = undefined;
+ var diffTop = undefined;
+ var diffBottom = undefined;
+ var win = undefined;
+ var winScroll = undefined;
+ var ww = undefined;
+ var wh = undefined;
+
+ if (isWin) {
+ win = container;
+ wh = util.height(win);
+ ww = util.width(win);
+ winScroll = {
+ left: util.scrollLeft(win),
+ top: util.scrollTop(win)
+ };
+ // elem 相对 container 可视视窗的距离
+ diffTop = {
+ left: elemOffset.left - winScroll.left - offsetLeft,
+ top: elemOffset.top - winScroll.top - offsetTop
+ };
+ diffBottom = {
+ left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,
+ top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom
+ };
+ containerScroll = winScroll;
+ } else {
+ containerOffset = util.offset(container);
+ ch = container.clientHeight;
+ cw = container.clientWidth;
+ containerScroll = {
+ left: container.scrollLeft,
+ top: container.scrollTop
+ };
+ // elem 相对 container 可视视窗的距离
+ // 注意边框, offset 是边框到根节点
+ diffTop = {
+ left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,
+ top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop
+ };
+ diffBottom = {
+ left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,
+ top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom
+ };
+ }
+
+ if (diffTop.top < 0 || diffBottom.top > 0) {
+ // 强制向上
+ if (alignWithTop === true) {
+ util.scrollTop(container, containerScroll.top + diffTop.top);
+ } else if (alignWithTop === false) {
+ util.scrollTop(container, containerScroll.top + diffBottom.top);
+ } else {
+ // 自动调整
+ if (diffTop.top < 0) {
+ util.scrollTop(container, containerScroll.top + diffTop.top);
+ } else {
+ util.scrollTop(container, containerScroll.top + diffBottom.top);
+ }
+ }
+ } else {
+ if (!onlyScrollIfNeeded) {
+ alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;
+ if (alignWithTop) {
+ util.scrollTop(container, containerScroll.top + diffTop.top);
+ } else {
+ util.scrollTop(container, containerScroll.top + diffBottom.top);
+ }
+ }
+ }
+
+ if (allowHorizontalScroll) {
+ if (diffTop.left < 0 || diffBottom.left > 0) {
+ // 强制向上
+ if (alignWithLeft === true) {
+ util.scrollLeft(container, containerScroll.left + diffTop.left);
+ } else if (alignWithLeft === false) {
+ util.scrollLeft(container, containerScroll.left + diffBottom.left);
+ } else {
+ // 自动调整
+ if (diffTop.left < 0) {
+ util.scrollLeft(container, containerScroll.left + diffTop.left);
+ } else {
+ util.scrollLeft(container, containerScroll.left + diffBottom.left);
+ }
+ }
+ } else {
+ if (!onlyScrollIfNeeded) {
+ alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;
+ if (alignWithLeft) {
+ util.scrollLeft(container, containerScroll.left + diffTop.left);
+ } else {
+ util.scrollLeft(container, containerScroll.left + diffBottom.left);
+ }
+ }
+ }
+ }
+}
+
+module.exports = scrollIntoView;
+
+/***/ }),
+/* 179 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+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; };
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
+
+var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
+
+function getClientPosition(elem) {
+ var box = undefined;
+ var x = undefined;
+ var y = undefined;
+ var doc = elem.ownerDocument;
+ var body = doc.body;
+ var docElem = doc && doc.documentElement;
+ // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
+ box = elem.getBoundingClientRect();
+
+ // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
+ // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
+ // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
+
+ x = box.left;
+ y = box.top;
+
+ // In IE, most of the time, 2 extra pixels are added to the top and left
+ // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
+ // IE6 standards mode, this border can be overridden by setting the
+ // document element's border to zero -- thus, we cannot rely on the
+ // offset always being 2 pixels.
+
+ // In quirks mode, the offset can be determined by querying the body's
+ // clientLeft/clientTop, but in standards mode, it is found by querying
+ // the document element's clientLeft/clientTop. Since we already called
+ // getClientBoundingRect we have already forced a reflow, so it is not
+ // too expensive just to query them all.
+
+ // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
+ // 窗口边框标准是设 documentElement ,quirks 时设置 body
+ // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
+ // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
+ // 标准 ie 下 docElem.clientTop 就是 border-top
+ // ie7 html 即窗口边框改变不了。永远为 2
+ // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
+
+ x -= docElem.clientLeft || body.clientLeft || 0;
+ y -= docElem.clientTop || body.clientTop || 0;
+
+ return {
+ left: x,
+ top: y
+ };
+}
+
+function getScroll(w, top) {
+ var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
+ var method = 'scroll' + (top ? 'Top' : 'Left');
+ if (typeof ret !== 'number') {
+ var d = w.document;
+ // ie6,7,8 standard mode
+ ret = d.documentElement[method];
+ if (typeof ret !== 'number') {
+ // quirks mode
+ ret = d.body[method];
+ }
+ }
+ return ret;
+}
+
+function getScrollLeft(w) {
+ return getScroll(w);
+}
+
+function getScrollTop(w) {
+ return getScroll(w, true);
+}
+
+function getOffset(el) {
+ var pos = getClientPosition(el);
+ var doc = el.ownerDocument;
+ var w = doc.defaultView || doc.parentWindow;
+ pos.left += getScrollLeft(w);
+ pos.top += getScrollTop(w);
+ return pos;
+}
+function _getComputedStyle(elem, name, computedStyle_) {
+ var val = '';
+ var d = elem.ownerDocument;
+ var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);
+
+ // https://github.com/kissyteam/kissy/issues/61
+ if (computedStyle) {
+ val = computedStyle.getPropertyValue(name) || computedStyle[name];
+ }
+
+ return val;
+}
+
+var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
+var RE_POS = /^(top|right|bottom|left)$/;
+var CURRENT_STYLE = 'currentStyle';
+var RUNTIME_STYLE = 'runtimeStyle';
+var LEFT = 'left';
+var PX = 'px';
+
+function _getComputedStyleIE(elem, name) {
+ // currentStyle maybe null
+ // http://msdn.microsoft.com/en-us/library/ms535231.aspx
+ var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
+
+ // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
+ // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
+ // 在 ie 下不对,需要直接用 offset 方式
+ // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
+
+ // From the awesome hack by Dean Edwards
+ // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
+ // If we're not dealing with a regular pixel number
+ // but a number that has a weird ending, we need to convert it to pixels
+ // exclude left right for relativity
+ if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
+ // Remember the original values
+ var style = elem.style;
+ var left = style[LEFT];
+ var rsLeft = elem[RUNTIME_STYLE][LEFT];
+
+ // prevent flashing of content
+ elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
+
+ // Put in the new values to get a computed value out
+ style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
+ ret = style.pixelLeft + PX;
+
+ // Revert the changed values
+ style[LEFT] = left;
+
+ elem[RUNTIME_STYLE][LEFT] = rsLeft;
+ }
+ return ret === '' ? 'auto' : ret;
+}
+
+var getComputedStyleX = undefined;
+if (typeof window !== 'undefined') {
+ getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
+}
+
+function each(arr, fn) {
+ for (var i = 0; i < arr.length; i++) {
+ fn(arr[i]);
+ }
+}
+
+function isBorderBoxFn(elem) {
+ return getComputedStyleX(elem, 'boxSizing') === 'border-box';
+}
+
+var BOX_MODELS = ['margin', 'border', 'padding'];
+var CONTENT_INDEX = -1;
+var PADDING_INDEX = 2;
+var BORDER_INDEX = 1;
+var MARGIN_INDEX = 0;
+
+function swap(elem, options, callback) {
+ var old = {};
+ var style = elem.style;
+ var name = undefined;
+
+ // Remember the old values, and insert the new ones
+ for (name in options) {
+ if (options.hasOwnProperty(name)) {
+ old[name] = style[name];
+ style[name] = options[name];
+ }
+ }
+
+ callback.call(elem);
+
+ // Revert the old values
+ for (name in options) {
+ if (options.hasOwnProperty(name)) {
+ style[name] = old[name];
+ }
+ }
+}
+
+function getPBMWidth(elem, props, which) {
+ var value = 0;
+ var prop = undefined;
+ var j = undefined;
+ var i = undefined;
+ for (j = 0; j < props.length; j++) {
+ prop = props[j];
+ if (prop) {
+ for (i = 0; i < which.length; i++) {
+ var cssProp = undefined;
+ if (prop === 'border') {
+ cssProp = prop + which[i] + 'Width';
+ } else {
+ cssProp = prop + which[i];
+ }
+ value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
+ }
+ }
+ }
+ return value;
+}
+
+/**
+ * A crude way of determining if an object is a window
+ * @member util
+ */
+function isWindow(obj) {
+ // must use == for ie8
+ /* eslint eqeqeq:0 */
+ return obj != null && obj == obj.window;
+}
+
+var domUtils = {};
+
+each(['Width', 'Height'], function (name) {
+ domUtils['doc' + name] = function (refWin) {
+ var d = refWin.document;
+ return Math.max(
+ // firefox chrome documentElement.scrollHeight< body.scrollHeight
+ // ie standard mode : documentElement.scrollHeight> body.scrollHeight
+ d.documentElement['scroll' + name],
+ // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
+ d.body['scroll' + name], domUtils['viewport' + name](d));
+ };
+
+ domUtils['viewport' + name] = function (win) {
+ // pc browser includes scrollbar in window.innerWidth
+ var prop = 'client' + name;
+ var doc = win.document;
+ var body = doc.body;
+ var documentElement = doc.documentElement;
+ var documentElementProp = documentElement[prop];
+ // 标准模式取 documentElement
+ // backcompat 取 body
+ return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
+ };
+});
+
+/*
+ 得到元素的大小信息
+ @param elem
+ @param name
+ @param {String} [extra] 'padding' : (css width) + padding
+ 'border' : (css width) + padding + border
+ 'margin' : (css width) + padding + border + margin
+ */
+function getWH(elem, name, extra) {
+ if (isWindow(elem)) {
+ return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
+ } else if (elem.nodeType === 9) {
+ return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
+ }
+ var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
+ var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;
+ var computedStyle = getComputedStyleX(elem);
+ var isBorderBox = isBorderBoxFn(elem, computedStyle);
+ var cssBoxValue = 0;
+ if (borderBoxValue == null || borderBoxValue <= 0) {
+ borderBoxValue = undefined;
+ // Fall back to computed then un computed css if necessary
+ cssBoxValue = getComputedStyleX(elem, name);
+ if (cssBoxValue == null || Number(cssBoxValue) < 0) {
+ cssBoxValue = elem.style[name] || 0;
+ }
+ // Normalize '', auto, and prepare for extra
+ cssBoxValue = parseFloat(cssBoxValue) || 0;
+ }
+ if (extra === undefined) {
+ extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
+ }
+ var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
+ var val = borderBoxValue || cssBoxValue;
+ if (extra === CONTENT_INDEX) {
+ if (borderBoxValueOrIsBorderBox) {
+ return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);
+ }
+ return cssBoxValue;
+ }
+ if (borderBoxValueOrIsBorderBox) {
+ var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);
+ return val + (extra === BORDER_INDEX ? 0 : padding);
+ }
+ return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);
+}
+
+var cssShow = {
+ position: 'absolute',
+ visibility: 'hidden',
+ display: 'block'
+};
+
+// fix #119 : https://github.com/kissyteam/kissy/issues/119
+function getWHIgnoreDisplay(elem) {
+ var val = undefined;
+ var args = arguments;
+ // in case elem is window
+ // elem.offsetWidth === undefined
+ if (elem.offsetWidth !== 0) {
+ val = getWH.apply(undefined, args);
+ } else {
+ swap(elem, cssShow, function () {
+ val = getWH.apply(undefined, args);
+ });
+ }
+ return val;
+}
+
+function css(el, name, v) {
+ var value = v;
+ if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
+ for (var i in name) {
+ if (name.hasOwnProperty(i)) {
+ css(el, i, name[i]);
+ }
+ }
+ return undefined;
+ }
+ if (typeof value !== 'undefined') {
+ if (typeof value === 'number') {
+ value += 'px';
+ }
+ el.style[name] = value;
+ return undefined;
+ }
+ return getComputedStyleX(el, name);
+}
+
+each(['width', 'height'], function (name) {
+ var first = name.charAt(0).toUpperCase() + name.slice(1);
+ domUtils['outer' + first] = function (el, includeMargin) {
+ return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
+ };
+ var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
+
+ domUtils[name] = function (elem, val) {
+ if (val !== undefined) {
+ if (elem) {
+ var computedStyle = getComputedStyleX(elem);
+ var isBorderBox = isBorderBoxFn(elem);
+ if (isBorderBox) {
+ val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);
+ }
+ return css(elem, name, val);
+ }
+ return undefined;
+ }
+ return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
+ };
+});
+
+// 设置 elem 相对 elem.ownerDocument 的坐标
+function setOffset(elem, offset) {
+ // set position first, in-case top/left are set even on static elem
+ if (css(elem, 'position') === 'static') {
+ elem.style.position = 'relative';
+ }
+
+ var old = getOffset(elem);
+ var ret = {};
+ var current = undefined;
+ var key = undefined;
+
+ for (key in offset) {
+ if (offset.hasOwnProperty(key)) {
+ current = parseFloat(css(elem, key)) || 0;
+ ret[key] = current + offset[key] - old[key];
+ }
+ }
+ css(elem, ret);
+}
+
+module.exports = _extends({
+ getWindow: function getWindow(node) {
+ var doc = node.ownerDocument || node;
+ return doc.defaultView || doc.parentWindow;
+ },
+ offset: function offset(el, value) {
+ if (typeof value !== 'undefined') {
+ setOffset(el, value);
+ } else {
+ return getOffset(el);
+ }
+ },
+
+ isWindow: isWindow,
+ each: each,
+ css: css,
+ clone: function clone(obj) {
+ var ret = {};
+ for (var i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ ret[i] = obj[i];
+ }
+ }
+ var overflow = obj.overflow;
+ if (overflow) {
+ for (var i in obj) {
+ if (obj.hasOwnProperty(i)) {
+ ret.overflow[i] = obj.overflow[i];
+ }
+ }
+ }
+ return ret;
+ },
+ scrollLeft: function scrollLeft(w, v) {
+ if (isWindow(w)) {
+ if (v === undefined) {
+ return getScrollLeft(w);
+ }
+ window.scrollTo(v, getScrollTop(w));
+ } else {
+ if (v === undefined) {
+ return w.scrollLeft;
+ }
+ w.scrollLeft = v;
+ }
+ },
+ scrollTop: function scrollTop(w, v) {
+ if (isWindow(w)) {
+ if (v === undefined) {
+ return getScrollTop(w);
+ }
+ window.scrollTo(getScrollLeft(w), v);
+ } else {
+ if (v === undefined) {
+ return w.scrollTop;
+ }
+ w.scrollTop = v;
+ }
+ },
+
+ viewportWidth: 0,
+ viewportHeight: 0
+}, domUtils);
+
+/***/ }),
+/* 180 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * WordPress dependencies
+ */
+
+var link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
+ d: "M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z"
+}));
+/* harmony default export */ __webpack_exports__["a"] = (link);
+
+
+/***/ }),
+/* 181 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var slice = Array.prototype.slice;
+var isArgs = __webpack_require__(206);
+
+var origKeys = Object.keys;
+var keysShim = origKeys ? function keys(o) { return origKeys(o); } : __webpack_require__(311);
+
+var originalKeys = Object.keys;
+
+keysShim.shim = function shimObjectKeys() {
+ if (Object.keys) {
+ var keysWorksWithArguments = (function () {
+ // Safari 5.0 bug
+ var args = Object.keys(arguments);
+ return args && args.length === arguments.length;
+ }(1, 2));
+ if (!keysWorksWithArguments) {
+ Object.keys = function keys(object) { // eslint-disable-line func-name-matching
+ if (isArgs(object)) {
+ return originalKeys(slice.call(object));
+ }
+ return originalKeys(object);
+ };
+ }
+ } else {
+ Object.keys = keysShim;
+ }
+ return Object.keys || keysShim;
+};
+
+module.exports = keysShim;
+
+
+/***/ }),
+/* 182 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var bind = __webpack_require__(118);
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $apply = GetIntrinsic('%Function.prototype.apply%');
+var $call = GetIntrinsic('%Function.prototype.call%');
+var $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);
+
+module.exports = function callBind() {
+ return $reflectApply(bind, $call, arguments);
+};
+
+module.exports.apply = function applyBind() {
+ return $reflectApply(bind, $apply, arguments);
+};
+
+
+/***/ }),
+/* 183 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $TypeError = GetIntrinsic('%TypeError%');
+
+var inspect = __webpack_require__(315);
+
+var IsPropertyKey = __webpack_require__(128);
+var Type = __webpack_require__(90);
+
+/**
+ * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p
+ * 1. Assert: Type(O) is Object.
+ * 2. Assert: IsPropertyKey(P) is true.
+ * 3. Return O.[[Get]](P, O).
+ */
+
+module.exports = function Get(O, P) {
+ // 7.3.1.1
+ if (Type(O) !== 'Object') {
+ throw new $TypeError('Assertion failed: Type(O) is not Object');
+ }
+ // 7.3.1.2
+ if (!IsPropertyKey(P)) {
+ throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
+ }
+ // 7.3.1.3
+ return O[P];
+};
+
+
+/***/ }),
+/* 184 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $Array = GetIntrinsic('%Array%');
+
+// eslint-disable-next-line global-require
+var toStr = !$Array.isArray && __webpack_require__(140)('Object.prototype.toString');
+
+// https://www.ecma-international.org/ecma-262/6.0/#sec-isarray
+
+module.exports = $Array.isArray || function IsArray(argument) {
+ return toStr(argument) === '[object Array]';
+};
+
+
+/***/ }),
+/* 185 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $TypeError = GetIntrinsic('%TypeError%');
+var $SyntaxError = GetIntrinsic('%SyntaxError%');
+
+var has = __webpack_require__(91);
+
+var predicates = {
+ // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
+ 'Property Descriptor': function isPropertyDescriptor(Type, Desc) {
+ if (Type(Desc) !== 'Object') {
+ return false;
+ }
+ var allowed = {
+ '[[Configurable]]': true,
+ '[[Enumerable]]': true,
+ '[[Get]]': true,
+ '[[Set]]': true,
+ '[[Value]]': true,
+ '[[Writable]]': true
+ };
+
+ for (var key in Desc) { // eslint-disable-line
+ if (has(Desc, key) && !allowed[key]) {
+ return false;
+ }
+ }
+
+ var isData = has(Desc, '[[Value]]');
+ var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
+ if (isData && IsAccessor) {
+ throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
+ }
+ return true;
+ }
+};
+
+module.exports = function assertRecord(Type, recordType, argumentName, value) {
+ var predicate = predicates[recordType];
+ if (typeof predicate !== 'function') {
+ throw new $SyntaxError('unknown record type: ' + recordType);
+ }
+ if (!predicate(Type, value)) {
+ throw new $TypeError(argumentName + ' must be a ' + recordType);
+ }
+};
+
+
+/***/ }),
+/* 186 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = Number.isNaN || function isNaN(a) {
+ return a !== a;
+};
+
+
+/***/ }),
+/* 187 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var toStr = Object.prototype.toString;
+var hasSymbols = __webpack_require__(342)();
+
+if (hasSymbols) {
+ var symToStr = Symbol.prototype.toString;
+ var symStringRegex = /^Symbol\(.*\)$/;
+ var isSymbolObject = function isRealSymbolObject(value) {
+ if (typeof value.valueOf() !== 'symbol') {
+ return false;
+ }
+ return symStringRegex.test(symToStr.call(value));
+ };
+
+ module.exports = function isSymbol(value) {
+ if (typeof value === 'symbol') {
+ return true;
+ }
+ if (toStr.call(value) !== '[object Symbol]') {
+ return false;
+ }
+ try {
+ return isSymbolObject(value);
+ } catch (e) {
+ return false;
+ }
+ };
+} else {
+
+ module.exports = function isSymbol(value) {
+ // this environment does not support Symbols.
+ return false && false;
+ };
+}
+
+
+/***/ }),
+/* 188 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var fnToStr = Function.prototype.toString;
+
+var constructorRegex = /^\s*class\b/;
+var isES6ClassFn = function isES6ClassFunction(value) {
+ try {
+ var fnStr = fnToStr.call(value);
+ return constructorRegex.test(fnStr);
+ } catch (e) {
+ return false; // not a function
+ }
+};
+
+var tryFunctionObject = function tryFunctionToStr(value) {
+ try {
+ if (isES6ClassFn(value)) { return false; }
+ fnToStr.call(value);
+ return true;
+ } catch (e) {
+ return false;
+ }
+};
+var toStr = Object.prototype.toString;
+var fnClass = '[object Function]';
+var genClass = '[object GeneratorFunction]';
+var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+
+module.exports = function isCallable(value) {
+ if (!value) { return false; }
+ if (typeof value !== 'function' && typeof value !== 'object') { return false; }
+ if (typeof value === 'function' && !value.prototype) { return true; }
+ if (hasToStringTag) { return tryFunctionObject(value); }
+ if (isES6ClassFn(value)) { return false; }
+ var strClass = toStr.call(value);
+ return strClass === fnClass || strClass === genClass;
+};
+
+
+/***/ }),
+/* 189 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/* globals
+ Set,
+ Map,
+ WeakSet,
+ WeakMap,
+
+ Promise,
+
+ Symbol,
+ Proxy,
+
+ Atomics,
+ SharedArrayBuffer,
+
+ ArrayBuffer,
+ DataView,
+ Uint8Array,
+ Float32Array,
+ Float64Array,
+ Int8Array,
+ Int16Array,
+ Int32Array,
+ Uint8ClampedArray,
+ Uint16Array,
+ Uint32Array,
+*/
+
+var undefined; // eslint-disable-line no-shadow-restricted-names
+
+var ThrowTypeError = Object.getOwnPropertyDescriptor
+ ? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())
+ : function () { throw new TypeError(); };
+
+var hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';
+
+var getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto
+
+var generator; // = function * () {};
+var generatorFunction = generator ? getProto(generator) : undefined;
+var asyncFn; // async function() {};
+var asyncFunction = asyncFn ? asyncFn.constructor : undefined;
+var asyncGen; // async function * () {};
+var asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;
+var asyncGenIterator = asyncGen ? asyncGen() : undefined;
+
+var TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);
+
+var INTRINSICS = {
+ '$ %Array%': Array,
+ '$ %ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,
+ '$ %ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,
+ '$ %ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,
+ '$ %ArrayPrototype%': Array.prototype,
+ '$ %ArrayProto_entries%': Array.prototype.entries,
+ '$ %ArrayProto_forEach%': Array.prototype.forEach,
+ '$ %ArrayProto_keys%': Array.prototype.keys,
+ '$ %ArrayProto_values%': Array.prototype.values,
+ '$ %AsyncFromSyncIteratorPrototype%': undefined,
+ '$ %AsyncFunction%': asyncFunction,
+ '$ %AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,
+ '$ %AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,
+ '$ %AsyncGeneratorFunction%': asyncGenFunction,
+ '$ %AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,
+ '$ %AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,
+ '$ %Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,
+ '$ %Boolean%': Boolean,
+ '$ %BooleanPrototype%': Boolean.prototype,
+ '$ %DataView%': typeof DataView === 'undefined' ? undefined : DataView,
+ '$ %DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,
+ '$ %Date%': Date,
+ '$ %DatePrototype%': Date.prototype,
+ '$ %decodeURI%': decodeURI,
+ '$ %decodeURIComponent%': decodeURIComponent,
+ '$ %encodeURI%': encodeURI,
+ '$ %encodeURIComponent%': encodeURIComponent,
+ '$ %Error%': Error,
+ '$ %ErrorPrototype%': Error.prototype,
+ '$ %eval%': eval, // eslint-disable-line no-eval
+ '$ %EvalError%': EvalError,
+ '$ %EvalErrorPrototype%': EvalError.prototype,
+ '$ %Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,
+ '$ %Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,
+ '$ %Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,
+ '$ %Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,
+ '$ %Function%': Function,
+ '$ %FunctionPrototype%': Function.prototype,
+ '$ %Generator%': generator ? getProto(generator()) : undefined,
+ '$ %GeneratorFunction%': generatorFunction,
+ '$ %GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,
+ '$ %Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,
+ '$ %Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,
+ '$ %Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,
+ '$ %Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,
+ '$ %Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,
+ '$ %Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,
+ '$ %isFinite%': isFinite,
+ '$ %isNaN%': isNaN,
+ '$ %IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,
+ '$ %JSON%': JSON,
+ '$ %JSONParse%': JSON.parse,
+ '$ %Map%': typeof Map === 'undefined' ? undefined : Map,
+ '$ %MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),
+ '$ %MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,
+ '$ %Math%': Math,
+ '$ %Number%': Number,
+ '$ %NumberPrototype%': Number.prototype,
+ '$ %Object%': Object,
+ '$ %ObjectPrototype%': Object.prototype,
+ '$ %ObjProto_toString%': Object.prototype.toString,
+ '$ %ObjProto_valueOf%': Object.prototype.valueOf,
+ '$ %parseFloat%': parseFloat,
+ '$ %parseInt%': parseInt,
+ '$ %Promise%': typeof Promise === 'undefined' ? undefined : Promise,
+ '$ %PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,
+ '$ %PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,
+ '$ %Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,
+ '$ %Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,
+ '$ %Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,
+ '$ %Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,
+ '$ %RangeError%': RangeError,
+ '$ %RangeErrorPrototype%': RangeError.prototype,
+ '$ %ReferenceError%': ReferenceError,
+ '$ %ReferenceErrorPrototype%': ReferenceError.prototype,
+ '$ %Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,
+ '$ %RegExp%': RegExp,
+ '$ %RegExpPrototype%': RegExp.prototype,
+ '$ %Set%': typeof Set === 'undefined' ? undefined : Set,
+ '$ %SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),
+ '$ %SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,
+ '$ %SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,
+ '$ %SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,
+ '$ %String%': String,
+ '$ %StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,
+ '$ %StringPrototype%': String.prototype,
+ '$ %Symbol%': hasSymbols ? Symbol : undefined,
+ '$ %SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,
+ '$ %SyntaxError%': SyntaxError,
+ '$ %SyntaxErrorPrototype%': SyntaxError.prototype,
+ '$ %ThrowTypeError%': ThrowTypeError,
+ '$ %TypedArray%': TypedArray,
+ '$ %TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,
+ '$ %TypeError%': TypeError,
+ '$ %TypeErrorPrototype%': TypeError.prototype,
+ '$ %Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,
+ '$ %Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,
+ '$ %Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,
+ '$ %Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,
+ '$ %Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,
+ '$ %Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,
+ '$ %Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,
+ '$ %Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,
+ '$ %URIError%': URIError,
+ '$ %URIErrorPrototype%': URIError.prototype,
+ '$ %WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,
+ '$ %WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,
+ '$ %WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,
+ '$ %WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype
+};
+
+module.exports = function GetIntrinsic(name, allowMissing) {
+ if (arguments.length > 1 && typeof allowMissing !== 'boolean') {
+ throw new TypeError('"allowMissing" argument must be a boolean');
+ }
+
+ var key = '$ ' + name;
+ if (!(key in INTRINSICS)) {
+ throw new SyntaxError('intrinsic ' + name + ' does not exist!');
+ }
+
+ // istanbul ignore if // hopefully this is impossible to test :-)
+ if (typeof INTRINSICS[key] === 'undefined' && !allowMissing) {
+ throw new TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');
+ }
+ return INTRINSICS[key];
+};
+
+
+/***/ }),
+/* 190 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = isSameDay;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function isSameDay(a, b) {
+ if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
+ // Compare least significant, most likely to change units first
+ // Moment's isSame clones moment inputs and is a tad slow
+ return a.date() === b.date() && a.month() === b.month() && a.year() === b.year();
+}
+
+/***/ }),
+/* 191 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = toISOMonthString;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+var _toMomentObject = __webpack_require__(241);
+
+var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function toISOMonthString(date, currentFormat) {
+ var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
+ if (!dateObj) return null;
+
+ return dateObj.format(_constants.ISO_MONTH_FORMAT);
+}
+
+/***/ }),
+/* 192 */
+/***/ (function(module, exports) {
+
+/**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+function isObject(value) {
+ var type = typeof value;
+ return value != null && (type == 'object' || type == 'function');
+}
+
+module.exports = isObject;
+
+
+/***/ }),
+/* 193 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Consumer; });
+/* harmony import */ var _babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18);
+/* harmony import */ var _babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20);
+/* harmony import */ var _babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(19);
+/* harmony import */ var _babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12);
+/* harmony import */ var _babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23);
+/* harmony import */ var _babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(16);
+/* harmony import */ var _babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(22);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(2);
+/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_8__);
+
+
+
+
+
+
+
+
+
+function _createSuper(Derived) { return function () { var Super = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var _createContext = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createContext"])({
+ focusHistory: []
+}),
+ Provider = _createContext.Provider,
+ Consumer = _createContext.Consumer;
+
+Provider.displayName = 'FocusReturnProvider';
+Consumer.displayName = 'FocusReturnConsumer';
+/**
+ * The maximum history length to capture for the focus stack. When exceeded,
+ * items should be shifted from the stack for each consecutive push.
+ *
+ * @type {number}
+ */
+
+var MAX_STACK_LENGTH = 100;
+
+var FocusReturnProvider = /*#__PURE__*/function (_Component) {
+ Object(_babel_runtime_helpers_esm_inherits__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"])(FocusReturnProvider, _Component);
+
+ var _super = _createSuper(FocusReturnProvider);
+
+ function FocusReturnProvider() {
var _this;
- Object(classCallCheck["a" /* default */])(this, IsolatedEventContainer);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(IsolatedEventContainer).call(this, props));
- _this.stopEventPropagationOutsideContainer = _this.stopEventPropagationOutsideContainer.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
+ Object(_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(this, FocusReturnProvider);
+
+ _this = _super.apply(this, arguments);
+ _this.onFocus = _this.onFocus.bind(Object(_babel_runtime_helpers_esm_assertThisInitialized__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"])(_this));
+ _this.state = {
+ focusHistory: []
+ };
return _this;
}
- Object(createClass["a" /* default */])(IsolatedEventContainer, [{
- key: "stopEventPropagationOutsideContainer",
- value: function stopEventPropagationOutsideContainer(event) {
- event.stopPropagation();
+ Object(_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(FocusReturnProvider, [{
+ key: "onFocus",
+ value: function onFocus(event) {
+ var focusHistory = this.state.focusHistory; // Push the focused element to the history stack, keeping only unique
+ // members but preferring the _last_ occurrence of any duplicates.
+ // Lodash's `uniq` behavior favors the first occurrence, so the array
+ // is temporarily reversed prior to it being called upon. Uniqueness
+ // helps avoid situations where, such as in a constrained tabbing area,
+ // the user changes focus enough within a transient element that the
+ // stack may otherwise only consist of members pending destruction, at
+ // which point focus might have been lost.
+
+ var nextFocusHistory = Object(lodash__WEBPACK_IMPORTED_MODULE_8__["uniq"])([].concat(Object(_babel_runtime_helpers_esm_toConsumableArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(focusHistory), [event.target]).slice(-1 * MAX_STACK_LENGTH).reverse()).reverse();
+ this.setState({
+ focusHistory: nextFocusHistory
+ });
}
}, {
key: "render",
value: function render() {
var _this$props = this.props,
children = _this$props.children,
- props = Object(objectWithoutProperties["a" /* default */])(_this$props, ["children"]); // Disable reason: this stops certain events from propagating outside of the component.
- // - onMouseDown is disabled as this can cause interactions with other DOM elements
-
- /* eslint-disable jsx-a11y/no-static-element-interactions */
-
-
- return Object(external_this_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, props, {
- onMouseDown: this.stopEventPropagationOutsideContainer
- }), children);
- }
- }]);
-
- return IsolatedEventContainer;
-}(external_this_wp_element_["Component"]);
-
-/* harmony default export */ var isolated_event_container = (isolated_event_container_IsolatedEventContainer);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/context.js
-
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-
-var context_createContext = Object(external_this_wp_element_["createContext"])({
- registerSlot: function registerSlot() {},
- unregisterSlot: function unregisterSlot() {},
- registerFill: function registerFill() {},
- unregisterFill: function unregisterFill() {},
- getSlot: function getSlot() {},
- getFills: function getFills() {}
-}),
- context_Provider = context_createContext.Provider,
- context_Consumer = context_createContext.Consumer;
-
-var context_SlotFillProvider =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(SlotFillProvider, _Component);
-
- function SlotFillProvider() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, SlotFillProvider);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(SlotFillProvider).apply(this, arguments));
- _this.registerSlot = _this.registerSlot.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.registerFill = _this.registerFill.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.unregisterSlot = _this.unregisterSlot.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.unregisterFill = _this.unregisterFill.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.getSlot = _this.getSlot.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.getFills = _this.getFills.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.slots = {};
- _this.fills = {};
- _this.state = {
- registerSlot: _this.registerSlot,
- unregisterSlot: _this.unregisterSlot,
- registerFill: _this.registerFill,
- unregisterFill: _this.unregisterFill,
- getSlot: _this.getSlot,
- getFills: _this.getFills
- };
- return _this;
- }
-
- Object(createClass["a" /* default */])(SlotFillProvider, [{
- key: "registerSlot",
- value: function registerSlot(name, slot) {
- var previousSlot = this.slots[name];
- this.slots[name] = slot;
- this.forceUpdateFills(name); // Sometimes the fills are registered after the initial render of slot
- // But before the registerSlot call, we need to rerender the slot
-
- this.forceUpdateSlot(name); // If a new instance of a slot is being mounted while another with the
- // same name exists, force its update _after_ the new slot has been
- // assigned into the instance, such that its own rendering of children
- // will be empty (the new Slot will subsume all fills for this name).
-
- if (previousSlot) {
- previousSlot.forceUpdate();
- }
- }
- }, {
- key: "registerFill",
- value: function registerFill(name, instance) {
- this.fills[name] = [].concat(Object(toConsumableArray["a" /* default */])(this.fills[name] || []), [instance]);
- this.forceUpdateSlot(name);
- }
- }, {
- key: "unregisterSlot",
- value: function unregisterSlot(name, instance) {
- // If a previous instance of a Slot by this name unmounts, do nothing,
- // as the slot and its fills should only be removed for the current
- // known instance.
- if (this.slots[name] !== instance) {
- return;
- }
-
- delete this.slots[name];
- this.forceUpdateFills(name);
- }
- }, {
- key: "unregisterFill",
- value: function unregisterFill(name, instance) {
- this.fills[name] = Object(external_lodash_["without"])(this.fills[name], instance);
- this.resetFillOccurrence(name);
- this.forceUpdateSlot(name);
- }
- }, {
- key: "getSlot",
- value: function getSlot(name) {
- return this.slots[name];
- }
- }, {
- key: "getFills",
- value: function getFills(name, slotInstance) {
- // Fills should only be returned for the current instance of the slot
- // in which they occupy.
- if (this.slots[name] !== slotInstance) {
- return [];
- }
-
- return Object(external_lodash_["sortBy"])(this.fills[name], 'occurrence');
- }
- }, {
- key: "resetFillOccurrence",
- value: function resetFillOccurrence(name) {
- Object(external_lodash_["forEach"])(this.fills[name], function (instance) {
- instance.resetOccurrence();
- });
- }
- }, {
- key: "forceUpdateFills",
- value: function forceUpdateFills(name) {
- Object(external_lodash_["forEach"])(this.fills[name], function (instance) {
- instance.forceUpdate();
- });
- }
- }, {
- key: "forceUpdateSlot",
- value: function forceUpdateSlot(name) {
- var slot = this.getSlot(name);
-
- if (slot) {
- slot.forceUpdate();
- }
- }
- }, {
- key: "render",
- value: function render() {
- return Object(external_this_wp_element_["createElement"])(context_Provider, {
+ className = _this$props.className;
+ return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])(Provider, {
value: this.state
- }, this.props.children);
- }
- }]);
-
- return SlotFillProvider;
-}(external_this_wp_element_["Component"]);
-
-/* harmony default export */ var slot_fill_context = (context_SlotFillProvider);
-
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/slot.js
-
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-/**
- * Internal dependencies
- */
-
-
-
-var slot_SlotComponent =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(SlotComponent, _Component);
-
- function SlotComponent() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, SlotComponent);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(SlotComponent).apply(this, arguments));
- _this.bindNode = _this.bindNode.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- return _this;
- }
-
- Object(createClass["a" /* default */])(SlotComponent, [{
- key: "componentDidMount",
- value: function componentDidMount() {
- var registerSlot = this.props.registerSlot;
- registerSlot(this.props.name, this);
- }
- }, {
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- var unregisterSlot = this.props.unregisterSlot;
- unregisterSlot(this.props.name, this);
- }
- }, {
- key: "componentDidUpdate",
- value: function componentDidUpdate(prevProps) {
- var _this$props = this.props,
- name = _this$props.name,
- unregisterSlot = _this$props.unregisterSlot,
- registerSlot = _this$props.registerSlot;
-
- if (prevProps.name !== name) {
- unregisterSlot(prevProps.name);
- registerSlot(name, this);
- }
- }
- }, {
- key: "bindNode",
- value: function bindNode(node) {
- this.node = node;
- }
- }, {
- key: "render",
- value: function render() {
- var _this$props2 = this.props,
- children = _this$props2.children,
- name = _this$props2.name,
- _this$props2$bubblesV = _this$props2.bubblesVirtually,
- bubblesVirtually = _this$props2$bubblesV === void 0 ? false : _this$props2$bubblesV,
- _this$props2$fillProp = _this$props2.fillProps,
- fillProps = _this$props2$fillProp === void 0 ? {} : _this$props2$fillProp,
- getFills = _this$props2.getFills;
-
- if (bubblesVirtually) {
- return Object(external_this_wp_element_["createElement"])("div", {
- ref: this.bindNode
- });
- }
-
- var fills = Object(external_lodash_["map"])(getFills(name, this), function (fill) {
- var fillKey = fill.occurrence;
- var fillChildren = Object(external_lodash_["isFunction"])(fill.props.children) ? fill.props.children(fillProps) : fill.props.children;
- return external_this_wp_element_["Children"].map(fillChildren, function (child, childIndex) {
- if (!child || Object(external_lodash_["isString"])(child)) {
- return child;
- }
-
- var childKey = "".concat(fillKey, "---").concat(child.key || childIndex);
- return Object(external_this_wp_element_["cloneElement"])(child, {
- key: childKey
- });
- });
- }).filter( // In some cases fills are rendered only when some conditions apply.
- // This ensures that we only use non-empty fills when rendering, i.e.,
- // it allows us to render wrappers only when the fills are actually present.
- Object(external_lodash_["negate"])(external_this_wp_element_["isEmptyElement"]));
- return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, Object(external_lodash_["isFunction"])(children) ? children(fills) : fills);
- }
- }]);
-
- return SlotComponent;
-}(external_this_wp_element_["Component"]);
-
-var slot_Slot = function Slot(props) {
- return Object(external_this_wp_element_["createElement"])(context_Consumer, null, function (_ref) {
- var registerSlot = _ref.registerSlot,
- unregisterSlot = _ref.unregisterSlot,
- getFills = _ref.getFills;
- return Object(external_this_wp_element_["createElement"])(slot_SlotComponent, Object(esm_extends["a" /* default */])({}, props, {
- registerSlot: registerSlot,
- unregisterSlot: unregisterSlot,
- getFills: getFills
- }));
- });
-};
-
-/* harmony default export */ var slot_fill_slot = (slot_Slot);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/fill.js
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-/**
- * Internal dependencies
- */
-
-
-var occurrences = 0;
-
-var fill_FillComponent =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(FillComponent, _Component);
-
- function FillComponent() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, FillComponent);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(FillComponent).apply(this, arguments));
- _this.occurrence = ++occurrences;
- return _this;
- }
-
- Object(createClass["a" /* default */])(FillComponent, [{
- key: "componentDidMount",
- value: function componentDidMount() {
- var registerFill = this.props.registerFill;
- registerFill(this.props.name, this);
- }
- }, {
- key: "componentWillUpdate",
- value: function componentWillUpdate() {
- if (!this.occurrence) {
- this.occurrence = ++occurrences;
- }
-
- var getSlot = this.props.getSlot;
- var slot = getSlot(this.props.name);
-
- if (slot && !slot.props.bubblesVirtually) {
- slot.forceUpdate();
- }
- }
- }, {
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- var unregisterFill = this.props.unregisterFill;
- unregisterFill(this.props.name, this);
- }
- }, {
- key: "componentDidUpdate",
- value: function componentDidUpdate(prevProps) {
- var _this$props = this.props,
- name = _this$props.name,
- unregisterFill = _this$props.unregisterFill,
- registerFill = _this$props.registerFill;
-
- if (prevProps.name !== name) {
- unregisterFill(prevProps.name, this);
- registerFill(name, this);
- }
- }
- }, {
- key: "resetOccurrence",
- value: function resetOccurrence() {
- this.occurrence = null;
- }
- }, {
- key: "render",
- value: function render() {
- var _this$props2 = this.props,
- name = _this$props2.name,
- getSlot = _this$props2.getSlot;
- var children = this.props.children;
- var slot = getSlot(name);
-
- if (!slot || !slot.node || !slot.props.bubblesVirtually) {
- return null;
- } // If a function is passed as a child, provide it with the fillProps.
-
-
- if (Object(external_lodash_["isFunction"])(children)) {
- children = children(slot.props.fillProps);
- }
-
- return Object(external_this_wp_element_["createPortal"])(children, slot.node);
+ }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["createElement"])("div", {
+ onFocus: this.onFocus,
+ className: className
+ }, children));
}
}]);
- return FillComponent;
-}(external_this_wp_element_["Component"]);
-
-var fill_Fill = function Fill(props) {
- return Object(external_this_wp_element_["createElement"])(context_Consumer, null, function (_ref) {
- var getSlot = _ref.getSlot,
- registerFill = _ref.registerFill,
- unregisterFill = _ref.unregisterFill;
- return Object(external_this_wp_element_["createElement"])(fill_FillComponent, Object(esm_extends["a" /* default */])({}, props, {
- getSlot: getSlot,
- registerFill: registerFill,
- unregisterFill: unregisterFill
- }));
- });
-};
-
-/* harmony default export */ var slot_fill_fill = (fill_Fill);
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/slot-fill/index.js
-
-
-
-/**
- * Internal dependencies
- */
-
-
-
-
-
-
-function createSlotFill(name) {
- var FillComponent = function FillComponent(props) {
- return Object(external_this_wp_element_["createElement"])(slot_fill_fill, Object(esm_extends["a" /* default */])({
- name: name
- }, props));
- };
-
- FillComponent.displayName = name + 'Fill';
-
- var SlotComponent = function SlotComponent(props) {
- return Object(external_this_wp_element_["createElement"])(slot_fill_slot, Object(esm_extends["a" /* default */])({
- name: name
- }, props));
- };
-
- SlotComponent.displayName = name + 'Slot';
- return {
- Fill: FillComponent,
- Slot: SlotComponent
- };
-}
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/popover/index.js
-
-
-
-
-
-
-
-
-
-
-/**
- * External dependencies
- */
-
-/**
- * WordPress dependencies
- */
-
-
-
-
-
-/**
- * Internal dependencies
- */
-
-
-
-
-
-
-
-
-
-
-var FocusManaged = with_constrained_tabbing(with_focus_return(function (_ref) {
- var children = _ref.children;
- return children;
+ return FocusReturnProvider;
+}(_wordpress_element__WEBPACK_IMPORTED_MODULE_7__["Component"]);
+
+/* harmony default export */ __webpack_exports__["b"] = (FocusReturnProvider);
+
+
+
+/***/ }),
+/* 194 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+if (true) {
+ module.exports = __webpack_require__(304);
+} else {}
+
+
+/***/ }),
+/* 195 */
+/***/ (function(module, exports) {
+
+// Copyright (c) 2014 Rafael Caricio. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+var GradientParser = {};
+
+GradientParser.parse = (function() {
+
+ var tokens = {
+ linearGradient: /^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,
+ repeatingLinearGradient: /^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,
+ radialGradient: /^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,
+ repeatingRadialGradient: /^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,
+ sideOrCorner: /^to (left (top|bottom)|right (top|bottom)|left|right|top|bottom)/i,
+ extentKeywords: /^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,
+ positionKeywords: /^(left|center|right|top|bottom)/i,
+ pixelValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,
+ percentageValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,
+ emValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,
+ angleValue: /^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,
+ startCall: /^\(/,
+ endCall: /^\)/,
+ comma: /^,/,
+ hexColor: /^\#([0-9a-fA-F]+)/,
+ literalColor: /^([a-zA-Z]+)/,
+ rgbColor: /^rgb/i,
+ rgbaColor: /^rgba/i,
+ number: /^(([0-9]*\.[0-9]+)|([0-9]+\.?))/
+ };
+
+ var input = '';
+
+ function error(msg) {
+ var err = new Error(input + ': ' + msg);
+ err.source = input;
+ throw err;
+ }
+
+ function getAST() {
+ var ast = matchListDefinitions();
+
+ if (input.length > 0) {
+ error('Invalid input not EOF');
+ }
+
+ return ast;
+ }
+
+ function matchListDefinitions() {
+ return matchListing(matchDefinition);
+ }
+
+ function matchDefinition() {
+ return matchGradient(
+ 'linear-gradient',
+ tokens.linearGradient,
+ matchLinearOrientation) ||
+
+ matchGradient(
+ 'repeating-linear-gradient',
+ tokens.repeatingLinearGradient,
+ matchLinearOrientation) ||
+
+ matchGradient(
+ 'radial-gradient',
+ tokens.radialGradient,
+ matchListRadialOrientations) ||
+
+ matchGradient(
+ 'repeating-radial-gradient',
+ tokens.repeatingRadialGradient,
+ matchListRadialOrientations);
+ }
+
+ function matchGradient(gradientType, pattern, orientationMatcher) {
+ return matchCall(pattern, function(captures) {
+
+ var orientation = orientationMatcher();
+ if (orientation) {
+ if (!scan(tokens.comma)) {
+ error('Missing comma before color stops');
+ }
+ }
+
+ return {
+ type: gradientType,
+ orientation: orientation,
+ colorStops: matchListing(matchColorStop)
+ };
+ });
+ }
+
+ function matchCall(pattern, callback) {
+ var captures = scan(pattern);
+
+ if (captures) {
+ if (!scan(tokens.startCall)) {
+ error('Missing (');
+ }
+
+ result = callback(captures);
+
+ if (!scan(tokens.endCall)) {
+ error('Missing )');
+ }
+
+ return result;
+ }
+ }
+
+ function matchLinearOrientation() {
+ return matchSideOrCorner() ||
+ matchAngle();
+ }
+
+ function matchSideOrCorner() {
+ return match('directional', tokens.sideOrCorner, 1);
+ }
+
+ function matchAngle() {
+ return match('angular', tokens.angleValue, 1);
+ }
+
+ function matchListRadialOrientations() {
+ var radialOrientations,
+ radialOrientation = matchRadialOrientation(),
+ lookaheadCache;
+
+ if (radialOrientation) {
+ radialOrientations = [];
+ radialOrientations.push(radialOrientation);
+
+ lookaheadCache = input;
+ if (scan(tokens.comma)) {
+ radialOrientation = matchRadialOrientation();
+ if (radialOrientation) {
+ radialOrientations.push(radialOrientation);
+ } else {
+ input = lookaheadCache;
+ }
+ }
+ }
+
+ return radialOrientations;
+ }
+
+ function matchRadialOrientation() {
+ var radialType = matchCircle() ||
+ matchEllipse();
+
+ if (radialType) {
+ radialType.at = matchAtPosition();
+ } else {
+ var defaultPosition = matchPositioning();
+ if (defaultPosition) {
+ radialType = {
+ type: 'default-radial',
+ at: defaultPosition
+ };
+ }
+ }
+
+ return radialType;
+ }
+
+ function matchCircle() {
+ var circle = match('shape', /^(circle)/i, 0);
+
+ if (circle) {
+ circle.style = matchLength() || matchExtentKeyword();
+ }
+
+ return circle;
+ }
+
+ function matchEllipse() {
+ var ellipse = match('shape', /^(ellipse)/i, 0);
+
+ if (ellipse) {
+ ellipse.style = matchDistance() || matchExtentKeyword();
+ }
+
+ return ellipse;
+ }
+
+ function matchExtentKeyword() {
+ return match('extent-keyword', tokens.extentKeywords, 1);
+ }
+
+ function matchAtPosition() {
+ if (match('position', /^at/, 0)) {
+ var positioning = matchPositioning();
+
+ if (!positioning) {
+ error('Missing positioning value');
+ }
+
+ return positioning;
+ }
+ }
+
+ function matchPositioning() {
+ var location = matchCoordinates();
+
+ if (location.x || location.y) {
+ return {
+ type: 'position',
+ value: location
+ };
+ }
+ }
+
+ function matchCoordinates() {
+ return {
+ x: matchDistance(),
+ y: matchDistance()
+ };
+ }
+
+ function matchListing(matcher) {
+ var captures = matcher(),
+ result = [];
+
+ if (captures) {
+ result.push(captures);
+ while (scan(tokens.comma)) {
+ captures = matcher();
+ if (captures) {
+ result.push(captures);
+ } else {
+ error('One extra comma');
+ }
+ }
+ }
+
+ return result;
+ }
+
+ function matchColorStop() {
+ var color = matchColor();
+
+ if (!color) {
+ error('Expected color definition');
+ }
+
+ color.length = matchDistance();
+ return color;
+ }
+
+ function matchColor() {
+ return matchHexColor() ||
+ matchRGBAColor() ||
+ matchRGBColor() ||
+ matchLiteralColor();
+ }
+
+ function matchLiteralColor() {
+ return match('literal', tokens.literalColor, 0);
+ }
+
+ function matchHexColor() {
+ return match('hex', tokens.hexColor, 1);
+ }
+
+ function matchRGBColor() {
+ return matchCall(tokens.rgbColor, function() {
+ return {
+ type: 'rgb',
+ value: matchListing(matchNumber)
+ };
+ });
+ }
+
+ function matchRGBAColor() {
+ return matchCall(tokens.rgbaColor, function() {
+ return {
+ type: 'rgba',
+ value: matchListing(matchNumber)
+ };
+ });
+ }
+
+ function matchNumber() {
+ return scan(tokens.number)[1];
+ }
+
+ function matchDistance() {
+ return match('%', tokens.percentageValue, 1) ||
+ matchPositionKeyword() ||
+ matchLength();
+ }
+
+ function matchPositionKeyword() {
+ return match('position-keyword', tokens.positionKeywords, 1);
+ }
+
+ function matchLength() {
+ return match('px', tokens.pixelValue, 1) ||
+ match('em', tokens.emValue, 1);
+ }
+
+ function match(type, pattern, captureIndex) {
+ var captures = scan(pattern);
+ if (captures) {
+ return {
+ type: type,
+ value: captures[captureIndex]
+ };
+ }
+ }
+
+ function scan(regexp) {
+ var captures,
+ blankCaptures;
+
+ blankCaptures = /^[\n\r\t\s]+/.exec(input);
+ if (blankCaptures) {
+ consume(blankCaptures[0].length);
+ }
+
+ captures = regexp.exec(input);
+ if (captures) {
+ consume(captures[0].length);
+ }
+
+ return captures;
+ }
+
+ function consume(size) {
+ input = input.substr(size);
+ }
+
+ return function(code) {
+ input = code.toString();
+ return getAST();
+ };
+})();
+
+exports.parse = (GradientParser || {}).parse;
+
+
+/***/ }),
+/* 196 */,
+/* 197 */,
+/* 198 */,
+/* 199 */,
+/* 200 */,
+/* 201 */,
+/* 202 */,
+/* 203 */,
+/* 204 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * WordPress dependencies
+ */
+
+var upload = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
+ d: "M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z"
+}));
+/* harmony default export */ __webpack_exports__["a"] = (upload);
+
+
+/***/ }),
+/* 205 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
+/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6);
+/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
+
+
+/**
+ * WordPress dependencies
+ */
+
+var linkOff = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
+ xmlns: "http://www.w3.org/2000/svg",
+ viewBox: "0 0 24 24"
+}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
+ d: "M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z"
}));
-/**
- * Name of slot in which popover should fill.
- *
- * @type {String}
- */
-
-var SLOT_NAME = 'Popover';
-
-var popover_Popover =
-/*#__PURE__*/
-function (_Component) {
- Object(inherits["a" /* default */])(Popover, _Component);
-
- function Popover() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, Popover);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(Popover).apply(this, arguments));
- _this.getAnchorRect = _this.getAnchorRect.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.computePopoverPosition = _this.computePopoverPosition.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.maybeClose = _this.maybeClose.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.throttledRefresh = _this.throttledRefresh.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.refresh = _this.refresh.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.refreshOnAnchorMove = _this.refreshOnAnchorMove.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.contentNode = Object(external_this_wp_element_["createRef"])();
- _this.anchorNode = Object(external_this_wp_element_["createRef"])();
- _this.state = {
- popoverLeft: null,
- popoverTop: null,
- yAxis: 'top',
- xAxis: 'center',
- contentHeight: null,
- contentWidth: null,
- isMobile: false,
- popoverSize: null,
- // Delay the animation after the initial render
- // because the animation have impact on the height of the popover
- // causing the computed position to be wrong.
- isReadyToAnimate: false
- }; // Property used keep track of the previous anchor rect
- // used to compute the popover position and size.
-
- _this.anchorRect = {};
+/* harmony default export */ __webpack_exports__["a"] = (linkOff);
+
+
+/***/ }),
+/* 206 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var toStr = Object.prototype.toString;
+
+module.exports = function isArguments(value) {
+ var str = toStr.call(value);
+ var isArgs = str === '[object Arguments]';
+ if (!isArgs) {
+ isArgs = str !== '[object Array]' &&
+ value !== null &&
+ typeof value === 'object' &&
+ typeof value.length === 'number' &&
+ value.length >= 0 &&
+ toStr.call(value.callee) === '[object Function]';
+ }
+ return isArgs;
+};
+
+
+/***/ }),
+/* 207 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global) {
+
+var origSymbol = global.Symbol;
+var hasSymbolSham = __webpack_require__(313);
+
+module.exports = function hasNativeSymbols() {
+ if (typeof origSymbol !== 'function') { return false; }
+ if (typeof Symbol !== 'function') { return false; }
+ if (typeof origSymbol('foo') !== 'symbol') { return false; }
+ if (typeof Symbol('bar') !== 'symbol') { return false; }
+
+ return hasSymbolSham();
+};
+
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(127)))
+
+/***/ }),
+/* 208 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var ArraySpeciesCreate = __webpack_require__(314);
+var FlattenIntoArray = __webpack_require__(324);
+var Get = __webpack_require__(183);
+var ToInteger = __webpack_require__(220);
+var ToLength = __webpack_require__(219);
+var ToObject = __webpack_require__(344);
+
+module.exports = function flat() {
+ var O = ToObject(this);
+ var sourceLen = ToLength(Get(O, 'length'));
+
+ var depthNum = 1;
+ if (arguments.length > 0 && typeof arguments[0] !== 'undefined') {
+ depthNum = ToInteger(arguments[0]);
+ }
+
+ var A = ArraySpeciesCreate(O, 0);
+ FlattenIntoArray(A, O, sourceLen, 0, depthNum);
+ return A;
+};
+
+
+/***/ }),
+/* 209 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $defineProperty = GetIntrinsic('%Object.defineProperty%', true);
+
+if ($defineProperty) {
+ try {
+ $defineProperty({}, 'a', { value: 1 });
+ } catch (e) {
+ // IE 8 has a broken defineProperty
+ $defineProperty = null;
+ }
+}
+
+var callBound = __webpack_require__(140);
+
+var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
+
+// eslint-disable-next-line max-params
+module.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {
+ if (!$defineProperty) {
+ if (!IsDataDescriptor(desc)) {
+ // ES3 does not support getters/setters
+ return false;
+ }
+ if (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {
+ return false;
+ }
+
+ // fallback for ES3
+ if (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {
+ // a non-enumerable existing property
+ return false;
+ }
+
+ // property does not exist at all, or exists but is enumerable
+ var V = desc['[[Value]]'];
+ // eslint-disable-next-line no-param-reassign
+ O[P] = V; // will use [[Define]]
+ return SameValue(O[P], V);
+ }
+ $defineProperty(O, P, FromPropertyDescriptor(desc));
+ return true;
+};
+
+
+/***/ }),
+/* 210 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var assertRecord = __webpack_require__(185);
+
+var Type = __webpack_require__(90);
+
+// https://www.ecma-international.org/ecma-262/6.0/#sec-frompropertydescriptor
+
+module.exports = function FromPropertyDescriptor(Desc) {
+ if (typeof Desc === 'undefined') {
+ return Desc;
+ }
+
+ assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
+
+ var obj = {};
+ if ('[[Value]]' in Desc) {
+ obj.value = Desc['[[Value]]'];
+ }
+ if ('[[Writable]]' in Desc) {
+ obj.writable = Desc['[[Writable]]'];
+ }
+ if ('[[Get]]' in Desc) {
+ obj.get = Desc['[[Get]]'];
+ }
+ if ('[[Set]]' in Desc) {
+ obj.set = Desc['[[Set]]'];
+ }
+ if ('[[Enumerable]]' in Desc) {
+ obj.enumerable = Desc['[[Enumerable]]'];
+ }
+ if ('[[Configurable]]' in Desc) {
+ obj.configurable = Desc['[[Configurable]]'];
+ }
+ return obj;
+};
+
+
+/***/ }),
+/* 211 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var has = __webpack_require__(91);
+
+var assertRecord = __webpack_require__(185);
+
+var Type = __webpack_require__(90);
+
+// https://www.ecma-international.org/ecma-262/6.0/#sec-isdatadescriptor
+
+module.exports = function IsDataDescriptor(Desc) {
+ if (typeof Desc === 'undefined') {
+ return false;
+ }
+
+ assertRecord(Type, 'Property Descriptor', 'Desc', Desc);
+
+ if (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {
+ return false;
+ }
+
+ return true;
+};
+
+
+/***/ }),
+/* 212 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var $isNaN = __webpack_require__(186);
+
+// http://www.ecma-international.org/ecma-262/5.1/#sec-9.12
+
+module.exports = function SameValue(x, y) {
+ if (x === y) { // 0 === -0, but they are not identical.
+ if (x === 0) { return 1 / x === 1 / y; }
+ return true;
+ }
+ return $isNaN(x) && $isNaN(y);
+};
+
+
+/***/ }),
+/* 213 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var has = __webpack_require__(91);
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $TypeError = GetIntrinsic('%TypeError%');
+
+var Type = __webpack_require__(90);
+var ToBoolean = __webpack_require__(214);
+var IsCallable = __webpack_require__(322);
+
+// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5
+
+module.exports = function ToPropertyDescriptor(Obj) {
+ if (Type(Obj) !== 'Object') {
+ throw new $TypeError('ToPropertyDescriptor requires an object');
+ }
+
+ var desc = {};
+ if (has(Obj, 'enumerable')) {
+ desc['[[Enumerable]]'] = ToBoolean(Obj.enumerable);
+ }
+ if (has(Obj, 'configurable')) {
+ desc['[[Configurable]]'] = ToBoolean(Obj.configurable);
+ }
+ if (has(Obj, 'value')) {
+ desc['[[Value]]'] = Obj.value;
+ }
+ if (has(Obj, 'writable')) {
+ desc['[[Writable]]'] = ToBoolean(Obj.writable);
+ }
+ if (has(Obj, 'get')) {
+ var getter = Obj.get;
+ if (typeof getter !== 'undefined' && !IsCallable(getter)) {
+ throw new TypeError('getter must be a function');
+ }
+ desc['[[Get]]'] = getter;
+ }
+ if (has(Obj, 'set')) {
+ var setter = Obj.set;
+ if (typeof setter !== 'undefined' && !IsCallable(setter)) {
+ throw new $TypeError('setter must be a function');
+ }
+ desc['[[Set]]'] = setter;
+ }
+
+ if ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {
+ throw new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');
+ }
+ return desc;
+};
+
+
+/***/ }),
+/* 214 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+// http://www.ecma-international.org/ecma-262/5.1/#sec-9.2
+
+module.exports = function ToBoolean(value) { return !!value; };
+
+
+/***/ }),
+/* 215 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var fnToStr = Function.prototype.toString;
+var reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;
+var badArrayLike;
+var isCallableMarker;
+if (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {
+ try {
+ badArrayLike = Object.defineProperty({}, 'length', {
+ get: function () {
+ throw isCallableMarker;
+ }
+ });
+ isCallableMarker = {};
+ } catch (_) {
+ reflectApply = null;
+ }
+} else {
+ reflectApply = null;
+}
+
+var constructorRegex = /^\s*class\b/;
+var isES6ClassFn = function isES6ClassFunction(value) {
+ try {
+ var fnStr = fnToStr.call(value);
+ return constructorRegex.test(fnStr);
+ } catch (e) {
+ return false; // not a function
+ }
+};
+
+var tryFunctionObject = function tryFunctionToStr(value) {
+ try {
+ if (isES6ClassFn(value)) { return false; }
+ fnToStr.call(value);
+ return true;
+ } catch (e) {
+ return false;
+ }
+};
+var toStr = Object.prototype.toString;
+var fnClass = '[object Function]';
+var genClass = '[object GeneratorFunction]';
+var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+
+module.exports = reflectApply
+ ? function isCallable(value) {
+ if (!value) { return false; }
+ if (typeof value !== 'function' && typeof value !== 'object') { return false; }
+ if (typeof value === 'function' && !value.prototype) { return true; }
+ try {
+ reflectApply(value, null, badArrayLike);
+ } catch (e) {
+ if (e !== isCallableMarker) { return false; }
+ }
+ return !isES6ClassFn(value);
+ }
+ : function isCallable(value) {
+ if (!value) { return false; }
+ if (typeof value !== 'function' && typeof value !== 'object') { return false; }
+ if (typeof value === 'function' && !value.prototype) { return true; }
+ if (hasToStringTag) { return tryFunctionObject(value); }
+ if (isES6ClassFn(value)) { return false; }
+ var strClass = toStr.call(value);
+ return strClass === fnClass || strClass === genClass;
+ };
+
+
+/***/ }),
+/* 216 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var $isNaN = Number.isNaN || function (a) { return a !== a; };
+
+module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
+
+
+/***/ }),
+/* 217 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(58);
+
+var $Math = GetIntrinsic('%Math%');
+var $Number = GetIntrinsic('%Number%');
+
+module.exports = $Number.MAX_SAFE_INTEGER || $Math.pow(2, 53) - 1;
+
+
+/***/ }),
+/* 218 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = function isPrimitive(value) {
+ return value === null || (typeof value !== 'function' && typeof value !== 'object');
+};
+
+
+/***/ }),
+/* 219 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var MAX_SAFE_INTEGER = __webpack_require__(217);
+
+var ToInteger = __webpack_require__(220);
+
+module.exports = function ToLength(argument) {
+ var len = ToInteger(argument);
+ if (len <= 0) { return 0; } // includes converting -0 to +0
+ if (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }
+ return len;
+};
+
+
+/***/ }),
+/* 220 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var ES5ToInteger = __webpack_require__(334);
+
+var ToNumber = __webpack_require__(337);
+
+// https://www.ecma-international.org/ecma-262/6.0/#sec-tointeger
+
+module.exports = function ToInteger(value) {
+ var number = ToNumber(value);
+ return ES5ToInteger(number);
+};
+
+
+/***/ }),
+/* 221 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var getDay = Date.prototype.getDay;
+var tryDateObject = function tryDateObject(value) {
+ try {
+ getDay.call(value);
+ return true;
+ } catch (e) {
+ return false;
+ }
+};
+
+var toStr = Object.prototype.toString;
+var dateClass = '[object Date]';
+var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
+
+module.exports = function isDateObject(value) {
+ if (typeof value !== 'object' || value === null) { return false; }
+ return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;
+};
+
+
+/***/ }),
+/* 222 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+/* eslint complexity: [2, 17], max-statements: [2, 33] */
+module.exports = function hasSymbols() {
+ if (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }
+ if (typeof Symbol.iterator === 'symbol') { return true; }
+
+ var obj = {};
+ var sym = Symbol('test');
+ var symObj = Object(sym);
+ if (typeof sym === 'string') { return false; }
+
+ if (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }
+ if (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }
+
+ // temp disabled per https://github.com/ljharb/object.assign/issues/17
+ // if (sym instanceof Symbol) { return false; }
+ // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4
+ // if (!(symObj instanceof Symbol)) { return false; }
+
+ // if (typeof Symbol.prototype.toString !== 'function') { return false; }
+ // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }
+
+ var symVal = 42;
+ obj[sym] = symVal;
+ for (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax
+ if (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }
+
+ if (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }
+
+ var syms = Object.getOwnPropertySymbols(obj);
+ if (syms.length !== 1 || syms[0] !== sym) { return false; }
+
+ if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }
+
+ if (typeof Object.getOwnPropertyDescriptor === 'function') {
+ var descriptor = Object.getOwnPropertyDescriptor(obj, sym);
+ if (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }
+ }
+
+ return true;
+};
+
+
+/***/ }),
+/* 223 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var implementation = __webpack_require__(208);
+
+module.exports = function getPolyfill() {
+ return Array.prototype.flat || implementation;
+};
+
+
+/***/ }),
+/* 224 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var styleInterface = void 0;
+var styleTheme = void 0;
+
+var START_MARK = 'react-with-styles.resolve.start';
+var END_MARK = 'react-with-styles.resolve.end';
+var MEASURE_MARK = '\uD83D\uDC69\u200D\uD83C\uDFA8 [resolve]';
+
+function registerTheme(theme) {
+ styleTheme = theme;
+}
+
+function registerInterface(interfaceToRegister) {
+ styleInterface = interfaceToRegister;
+}
+
+function create(makeFromTheme, createWithDirection) {
+ var styles = createWithDirection(makeFromTheme(styleTheme));
+ return function () {
+ return styles;
+ };
+}
+
+function createLTR(makeFromTheme) {
+ return create(makeFromTheme, styleInterface.createLTR || styleInterface.create);
+}
+
+function createRTL(makeFromTheme) {
+ return create(makeFromTheme, styleInterface.createRTL || styleInterface.create);
+}
+
+function get() {
+ return styleTheme;
+}
+
+function resolve() {
+ if (false) {}
+
+ for (var _len = arguments.length, styles = Array(_len), _key = 0; _key < _len; _key++) {
+ styles[_key] = arguments[_key];
+ }
+
+ var result = styleInterface.resolve(styles);
+
+ if (false) {}
+
+ return result;
+}
+
+function resolveLTR() {
+ for (var _len2 = arguments.length, styles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ styles[_key2] = arguments[_key2];
+ }
+
+ if (styleInterface.resolveLTR) {
+ return styleInterface.resolveLTR(styles);
+ }
+
+ return resolve(styles);
+}
+
+function resolveRTL() {
+ for (var _len3 = arguments.length, styles = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
+ styles[_key3] = arguments[_key3];
+ }
+
+ if (styleInterface.resolveRTL) {
+ return styleInterface.resolveRTL(styles);
+ }
+
+ return resolve(styles);
+}
+
+function flush() {
+ if (styleInterface.flush) {
+ styleInterface.flush();
+ }
+}
+
+exports['default'] = {
+ registerTheme: registerTheme,
+ registerInterface: registerInterface,
+ create: createLTR,
+ createLTR: createLTR,
+ createRTL: createRTL,
+ get: get,
+ resolve: resolveLTR,
+ resolveLTR: resolveLTR,
+ resolveRTL: resolveRTL,
+ flush: flush
+};
+
+/***/ }),
+/* 225 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var core = {
+ white: '#fff',
+ gray: '#484848',
+ grayLight: '#82888a',
+ grayLighter: '#cacccd',
+ grayLightest: '#f2f2f2',
+
+ borderMedium: '#c4c4c4',
+ border: '#dbdbdb',
+ borderLight: '#e4e7e7',
+ borderLighter: '#eceeee',
+ borderBright: '#f4f5f5',
+
+ primary: '#00a699',
+ primaryShade_1: '#33dacd',
+ primaryShade_2: '#66e2da',
+ primaryShade_3: '#80e8e0',
+ primaryShade_4: '#b2f1ec',
+ primary_dark: '#008489',
+
+ secondary: '#007a87',
+
+ yellow: '#ffe8bc',
+ yellow_dark: '#ffce71'
+};
+
+exports['default'] = {
+ reactDates: {
+ zIndex: 0,
+ border: {
+ input: {
+ border: 0,
+ borderTop: 0,
+ borderRight: 0,
+ borderBottom: '2px solid transparent',
+ borderLeft: 0,
+ outlineFocused: 0,
+ borderFocused: 0,
+ borderTopFocused: 0,
+ borderLeftFocused: 0,
+ borderBottomFocused: '2px solid ' + String(core.primary_dark),
+ borderRightFocused: 0,
+ borderRadius: 0
+ },
+ pickerInput: {
+ borderWidth: 1,
+ borderStyle: 'solid',
+ borderRadius: 2
+ }
+ },
+
+ color: {
+ core: core,
+
+ disabled: core.grayLightest,
+
+ background: core.white,
+ backgroundDark: '#f2f2f2',
+ backgroundFocused: core.white,
+ border: 'rgb(219, 219, 219)',
+ text: core.gray,
+ textDisabled: core.border,
+ textFocused: '#007a87',
+ placeholderText: '#757575',
+
+ outside: {
+ backgroundColor: core.white,
+ backgroundColor_active: core.white,
+ backgroundColor_hover: core.white,
+ color: core.gray,
+ color_active: core.gray,
+ color_hover: core.gray
+ },
+
+ highlighted: {
+ backgroundColor: core.yellow,
+ backgroundColor_active: core.yellow_dark,
+ backgroundColor_hover: core.yellow_dark,
+ color: core.gray,
+ color_active: core.gray,
+ color_hover: core.gray
+ },
+
+ minimumNights: {
+ backgroundColor: core.white,
+ backgroundColor_active: core.white,
+ backgroundColor_hover: core.white,
+ borderColor: core.borderLighter,
+ color: core.grayLighter,
+ color_active: core.grayLighter,
+ color_hover: core.grayLighter
+ },
+
+ hoveredSpan: {
+ backgroundColor: core.primaryShade_4,
+ backgroundColor_active: core.primaryShade_3,
+ backgroundColor_hover: core.primaryShade_4,
+ borderColor: core.primaryShade_3,
+ borderColor_active: core.primaryShade_3,
+ borderColor_hover: core.primaryShade_3,
+ color: core.secondary,
+ color_active: core.secondary,
+ color_hover: core.secondary
+ },
+
+ selectedSpan: {
+ backgroundColor: core.primaryShade_2,
+ backgroundColor_active: core.primaryShade_1,
+ backgroundColor_hover: core.primaryShade_1,
+ borderColor: core.primaryShade_1,
+ borderColor_active: core.primary,
+ borderColor_hover: core.primary,
+ color: core.white,
+ color_active: core.white,
+ color_hover: core.white
+ },
+
+ selected: {
+ backgroundColor: core.primary,
+ backgroundColor_active: core.primary,
+ backgroundColor_hover: core.primary,
+ borderColor: core.primary,
+ borderColor_active: core.primary,
+ borderColor_hover: core.primary,
+ color: core.white,
+ color_active: core.white,
+ color_hover: core.white
+ },
+
+ blocked_calendar: {
+ backgroundColor: core.grayLighter,
+ backgroundColor_active: core.grayLighter,
+ backgroundColor_hover: core.grayLighter,
+ borderColor: core.grayLighter,
+ borderColor_active: core.grayLighter,
+ borderColor_hover: core.grayLighter,
+ color: core.grayLight,
+ color_active: core.grayLight,
+ color_hover: core.grayLight
+ },
+
+ blocked_out_of_range: {
+ backgroundColor: core.white,
+ backgroundColor_active: core.white,
+ backgroundColor_hover: core.white,
+ borderColor: core.borderLight,
+ borderColor_active: core.borderLight,
+ borderColor_hover: core.borderLight,
+ color: core.grayLighter,
+ color_active: core.grayLighter,
+ color_hover: core.grayLighter
+ }
+ },
+
+ spacing: {
+ dayPickerHorizontalPadding: 9,
+ captionPaddingTop: 22,
+ captionPaddingBottom: 37,
+ inputPadding: 0,
+ displayTextPaddingVertical: undefined,
+ displayTextPaddingTop: 11,
+ displayTextPaddingBottom: 9,
+ displayTextPaddingHorizontal: undefined,
+ displayTextPaddingLeft: 11,
+ displayTextPaddingRight: 11,
+ displayTextPaddingVertical_small: undefined,
+ displayTextPaddingTop_small: 7,
+ displayTextPaddingBottom_small: 5,
+ displayTextPaddingHorizontal_small: undefined,
+ displayTextPaddingLeft_small: 7,
+ displayTextPaddingRight_small: 7
+ },
+
+ sizing: {
+ inputWidth: 130,
+ inputWidth_small: 97,
+ arrowWidth: 24
+ },
+
+ noScrollBarOnVerticalScrollable: false,
+
+ font: {
+ size: 14,
+ captionSize: 18,
+ input: {
+ size: 19,
+ lineHeight: '24px',
+ size_small: 15,
+ lineHeight_small: '18px',
+ letterSpacing_small: '0.2px',
+ styleDisabled: 'italic'
+ }
+ }
+ }
+};
+
+/***/ }),
+/* 226 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+// modified from https://github.com/es-shims/es6-shim
+var keys = __webpack_require__(181);
+var bind = __webpack_require__(118);
+var canBeObject = function (obj) {
+ return typeof obj !== 'undefined' && obj !== null;
+};
+var hasSymbols = __webpack_require__(222)();
+var toObject = Object;
+var push = bind.call(Function.call, Array.prototype.push);
+var propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
+var originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;
+
+module.exports = function assign(target, source1) {
+ if (!canBeObject(target)) { throw new TypeError('target must be an object'); }
+ var objTarget = toObject(target);
+ var s, source, i, props, syms, value, key;
+ for (s = 1; s < arguments.length; ++s) {
+ source = toObject(arguments[s]);
+ props = keys(source);
+ var getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);
+ if (getSymbols) {
+ syms = getSymbols(source);
+ for (i = 0; i < syms.length; ++i) {
+ key = syms[i];
+ if (propIsEnumerable(source, key)) {
+ push(props, key);
+ }
+ }
+ }
+ for (i = 0; i < props.length; ++i) {
+ key = props[i];
+ value = source[key];
+ if (propIsEnumerable(source, key)) {
+ objTarget[key] = value;
+ }
+ }
+ }
+ return objTarget;
+};
+
+
+/***/ }),
+/* 227 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var implementation = __webpack_require__(226);
+
+var lacksProperEnumerationOrder = function () {
+ if (!Object.assign) {
+ return false;
+ }
+ // v8, specifically in node 4.x, has a bug with incorrect property enumeration order
+ // note: this does not detect the bug unless there's 20 characters
+ var str = 'abcdefghijklmnopqrst';
+ var letters = str.split('');
+ var map = {};
+ for (var i = 0; i < letters.length; ++i) {
+ map[letters[i]] = letters[i];
+ }
+ var obj = Object.assign({}, map);
+ var actual = '';
+ for (var k in obj) {
+ actual += k;
+ }
+ return str !== actual;
+};
+
+var assignHasPendingExceptions = function () {
+ if (!Object.assign || !Object.preventExtensions) {
+ return false;
+ }
+ // Firefox 37 still has "pending exception" logic in its Object.assign implementation,
+ // which is 72% slower than our shim, and Firefox 40's native implementation.
+ var thrower = Object.preventExtensions({ 1: 2 });
+ try {
+ Object.assign(thrower, 'xy');
+ } catch (e) {
+ return thrower[1] === 'y';
+ }
+ return false;
+};
+
+module.exports = function getPolyfill() {
+ if (!Object.assign) {
+ return implementation;
+ }
+ if (lacksProperEnumerationOrder()) {
+ return implementation;
+ }
+ if (assignHasPendingExceptions()) {
+ return implementation;
+ }
+ return Object.assign;
+};
+
+
+/***/ }),
+/* 228 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var define = __webpack_require__(101);
+
+var implementation = __webpack_require__(229);
+var getPolyfill = __webpack_require__(237);
+var shim = __webpack_require__(366);
+
+var polyfill = getPolyfill();
+
+define(polyfill, {
+ getPolyfill: getPolyfill,
+ implementation: implementation,
+ shim: shim
+});
+
+module.exports = polyfill;
+
+
+/***/ }),
+/* 229 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var ES = __webpack_require__(357);
+var has = __webpack_require__(91);
+var bind = __webpack_require__(118);
+var isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);
+
+module.exports = function values(O) {
+ var obj = ES.RequireObjectCoercible(O);
+ var vals = [];
+ for (var key in obj) {
+ if (has(obj, key) && isEnumerable(obj, key)) {
+ vals.push(obj[key]);
+ }
+ }
+ return vals;
+};
+
+
+/***/ }),
+/* 230 */
+/***/ (function(module, exports) {
+
+module.exports = function isPrimitive(value) {
+ return value === null || (typeof value !== 'function' && typeof value !== 'object');
+};
+
+
+/***/ }),
+/* 231 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var GetIntrinsic = __webpack_require__(189);
+
+var $TypeError = GetIntrinsic('%TypeError%');
+var $SyntaxError = GetIntrinsic('%SyntaxError%');
+
+var has = __webpack_require__(91);
+
+var predicates = {
+ // https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type
+ 'Property Descriptor': function isPropertyDescriptor(ES, Desc) {
+ if (ES.Type(Desc) !== 'Object') {
+ return false;
+ }
+ var allowed = {
+ '[[Configurable]]': true,
+ '[[Enumerable]]': true,
+ '[[Get]]': true,
+ '[[Set]]': true,
+ '[[Value]]': true,
+ '[[Writable]]': true
+ };
+
+ for (var key in Desc) { // eslint-disable-line
+ if (has(Desc, key) && !allowed[key]) {
+ return false;
+ }
+ }
+
+ var isData = has(Desc, '[[Value]]');
+ var IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');
+ if (isData && IsAccessor) {
+ throw new $TypeError('Property Descriptors may not be both accessor and data descriptors');
+ }
+ return true;
+ }
+};
+
+module.exports = function assertRecord(ES, recordType, argumentName, value) {
+ var predicate = predicates[recordType];
+ if (typeof predicate !== 'function') {
+ throw new $SyntaxError('unknown record type: ' + recordType);
+ }
+ if (!predicate(ES, value)) {
+ throw new $TypeError(argumentName + ' must be a ' + recordType);
+ }
+ console.log(predicate(ES, value), value);
+};
+
+
+/***/ }),
+/* 232 */
+/***/ (function(module, exports) {
+
+module.exports = Number.isNaN || function isNaN(a) {
+ return a !== a;
+};
+
+
+/***/ }),
+/* 233 */
+/***/ (function(module, exports) {
+
+var $isNaN = Number.isNaN || function (a) { return a !== a; };
+
+module.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };
+
+
+/***/ }),
+/* 234 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var bind = __webpack_require__(118);
+var has = bind.call(Function.call, Object.prototype.hasOwnProperty);
+
+var $assign = Object.assign;
+
+module.exports = function assign(target, source) {
+ if ($assign) {
+ return $assign(target, source);
+ }
+
+ for (var key in source) {
+ if (has(source, key)) {
+ target[key] = source[key];
+ }
+ }
+ return target;
+};
+
+
+/***/ }),
+/* 235 */
+/***/ (function(module, exports) {
+
+module.exports = function sign(number) {
+ return number >= 0 ? 1 : -1;
+};
+
+
+/***/ }),
+/* 236 */
+/***/ (function(module, exports) {
+
+module.exports = function mod(number, modulo) {
+ var remain = number % modulo;
+ return Math.floor(remain >= 0 ? remain : remain + modulo);
+};
+
+
+/***/ }),
+/* 237 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var implementation = __webpack_require__(229);
+
+module.exports = function getPolyfill() {
+ return typeof Object.values === 'function' ? Object.values : implementation;
+};
+
+
+/***/ }),
+/* 238 */
+/***/ (function(module, exports) {
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = isTouchDevice;
+function isTouchDevice() {
+ return !!(typeof window !== 'undefined' && ('ontouchstart' in window || window.DocumentTouch && typeof document !== 'undefined' && document instanceof window.DocumentTouch)) || !!(typeof navigator !== 'undefined' && (navigator.maxTouchPoints || navigator.msMaxTouchPoints));
+}
+module.exports = exports['default'];
+
+/***/ }),
+/* 239 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = isAfterDay;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+var _isBeforeDay = __webpack_require__(240);
+
+var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
+
+var _isSameDay = __webpack_require__(190);
+
+var _isSameDay2 = _interopRequireDefault(_isSameDay);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function isAfterDay(a, b) {
+ if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
+ return !(0, _isBeforeDay2['default'])(a, b) && !(0, _isSameDay2['default'])(a, b);
+}
+
+/***/ }),
+/* 240 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = isBeforeDay;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function isBeforeDay(a, b) {
+ if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
+
+ var aYear = a.year();
+ var aMonth = a.month();
+
+ var bYear = b.year();
+ var bMonth = b.month();
+
+ var isSameYear = aYear === bYear;
+ var isSameMonth = aMonth === bMonth;
+
+ if (isSameYear && isSameMonth) return a.date() < b.date();
+ if (isSameYear) return aMonth < bMonth;
+ return aYear < bYear;
+}
+
+/***/ }),
+/* 241 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = toMomentObject;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function toMomentObject(dateString, customFormat) {
+ var dateFormats = customFormat ? [customFormat, _constants.DISPLAY_FORMAT, _constants.ISO_FORMAT] : [_constants.DISPLAY_FORMAT, _constants.ISO_FORMAT];
+
+ var date = (0, _moment2['default'])(dateString, dateFormats, true);
+ return date.isValid() ? date.hour(12) : null;
+}
+
+/***/ }),
+/* 242 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = isDayVisible;
+
+var _isBeforeDay = __webpack_require__(240);
+
+var _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);
+
+var _isAfterDay = __webpack_require__(239);
+
+var _isAfterDay2 = _interopRequireDefault(_isAfterDay);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function isDayVisible(day, month, numberOfMonths, enableOutsideDays) {
+ var firstDayOfFirstMonth = month.clone().startOf('month');
+ if (enableOutsideDays) firstDayOfFirstMonth = firstDayOfFirstMonth.startOf('week');
+ if ((0, _isBeforeDay2['default'])(day, firstDayOfFirstMonth)) return false;
+
+ var lastDayOfLastMonth = month.clone().add(numberOfMonths - 1, 'months').endOf('month');
+ if (enableOutsideDays) lastDayOfLastMonth = lastDayOfLastMonth.endOf('week');
+ return !(0, _isAfterDay2['default'])(day, lastDayOfLastMonth);
+}
+
+/***/ }),
+/* 243 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = toISODateString;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+var _toMomentObject = __webpack_require__(241);
+
+var _toMomentObject2 = _interopRequireDefault(_toMomentObject);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function toISODateString(date, currentFormat) {
+ var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);
+ if (!dateObj) return null;
+
+ return dateObj.format(_constants.ISO_FORMAT);
+}
+
+/***/ }),
+/* 244 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+
+var _propTypes = __webpack_require__(28);
+
+var _propTypes2 = _interopRequireDefault(_propTypes);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+exports['default'] = _propTypes2['default'].oneOf([_constants.INFO_POSITION_TOP, _constants.INFO_POSITION_BOTTOM, _constants.INFO_POSITION_BEFORE, _constants.INFO_POSITION_AFTER]);
+
+/***/ }),
+/* 245 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var freeGlobal = __webpack_require__(378);
+
+/** Detect free variable `self`. */
+var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+/** Used as a reference to the global object. */
+var root = freeGlobal || freeSelf || Function('return this')();
+
+module.exports = root;
+
+
+/***/ }),
+/* 246 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var root = __webpack_require__(245);
+
+/** Built-in value references. */
+var Symbol = root.Symbol;
+
+module.exports = Symbol;
+
+
+/***/ }),
+/* 247 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addEventListener", function() { return addEventListener; });
+var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
+
+// Adapted from Modernizr
+// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37
+function testPassiveEventListeners() {
+ if (!CAN_USE_DOM) {
+ return false;
+ }
+
+ if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {
+ return false;
+ }
+
+ var supportsPassiveOption = false;
+ try {
+ var opts = Object.defineProperty({}, 'passive', {
+ // eslint-disable-next-line getter-return
+ get: function () {
+ function get() {
+ supportsPassiveOption = true;
+ }
+
+ return get;
+ }()
+ });
+ var noop = function noop() {};
+ window.addEventListener('testPassiveEventSupport', noop, opts);
+ window.removeEventListener('testPassiveEventSupport', noop, opts);
+ } catch (e) {
+ // do nothing
+ }
+
+ return supportsPassiveOption;
+}
+
+var memoized = void 0;
+
+function canUsePassiveEventListeners() {
+ if (memoized === undefined) {
+ memoized = testPassiveEventListeners();
+ }
+ return memoized;
+}
+
+function normalizeEventOptions(eventOptions) {
+ if (!eventOptions) {
+ return undefined;
+ }
+
+ if (!canUsePassiveEventListeners()) {
+ // If the browser does not support the passive option, then it is expecting
+ // a boolean for the options argument to specify whether it should use
+ // capture or not. In more modern browsers, this is passed via the `capture`
+ // option, so let's just hoist that value up.
+ return !!eventOptions.capture;
+ }
+
+ return eventOptions;
+}
+
+/* eslint-disable no-bitwise */
+
+/**
+ * Generate a unique key for any set of event options
+ */
+function eventOptionsKey(normalizedEventOptions) {
+ if (!normalizedEventOptions) {
+ return 0;
+ }
+
+ // If the browser does not support passive event listeners, the normalized
+ // event options will be a boolean.
+ if (normalizedEventOptions === true) {
+ return 100;
+ }
+
+ // At this point, the browser supports passive event listeners, so we expect
+ // the event options to be an object with possible properties of capture,
+ // passive, and once.
+ //
+ // We want to consistently return the same value, regardless of the order of
+ // these properties, so let's use binary maths to assign each property to a
+ // bit, and then add those together (with an offset to account for the
+ // booleans at the beginning of this function).
+ var capture = normalizedEventOptions.capture << 0;
+ var passive = normalizedEventOptions.passive << 1;
+ var once = normalizedEventOptions.once << 2;
+ return capture + passive + once;
+}
+
+function ensureCanMutateNextEventHandlers(eventHandlers) {
+ if (eventHandlers.handlers === eventHandlers.nextHandlers) {
+ // eslint-disable-next-line no-param-reassign
+ eventHandlers.nextHandlers = eventHandlers.handlers.slice();
+ }
+}
+
+function TargetEventHandlers(target) {
+ this.target = target;
+ this.events = {};
+}
+
+TargetEventHandlers.prototype.getEventHandlers = function () {
+ function getEventHandlers(eventName, options) {
+ var key = String(eventName) + ' ' + String(eventOptionsKey(options));
+
+ if (!this.events[key]) {
+ this.events[key] = {
+ handlers: [],
+ handleEvent: undefined
+ };
+ this.events[key].nextHandlers = this.events[key].handlers;
+ }
+
+ return this.events[key];
+ }
+
+ return getEventHandlers;
+}();
+
+TargetEventHandlers.prototype.handleEvent = function () {
+ function handleEvent(eventName, options, event) {
+ var eventHandlers = this.getEventHandlers(eventName, options);
+ eventHandlers.handlers = eventHandlers.nextHandlers;
+ eventHandlers.handlers.forEach(function (handler) {
+ if (handler) {
+ // We need to check for presence here because a handler function may
+ // cause later handlers to get removed. This can happen if you for
+ // instance have a waypoint that unmounts another waypoint as part of an
+ // onEnter/onLeave handler.
+ handler(event);
+ }
+ });
+ }
+
+ return handleEvent;
+}();
+
+TargetEventHandlers.prototype.add = function () {
+ function add(eventName, listener, options) {
+ var _this = this;
+
+ // options has already been normalized at this point.
+ var eventHandlers = this.getEventHandlers(eventName, options);
+
+ ensureCanMutateNextEventHandlers(eventHandlers);
+
+ if (eventHandlers.nextHandlers.length === 0) {
+ eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);
+
+ this.target.addEventListener(eventName, eventHandlers.handleEvent, options);
+ }
+
+ eventHandlers.nextHandlers.push(listener);
+
+ var isSubscribed = true;
+ var unsubscribe = function () {
+ function unsubscribe() {
+ if (!isSubscribed) {
+ return;
+ }
+
+ isSubscribed = false;
+
+ ensureCanMutateNextEventHandlers(eventHandlers);
+ var index = eventHandlers.nextHandlers.indexOf(listener);
+ eventHandlers.nextHandlers.splice(index, 1);
+
+ if (eventHandlers.nextHandlers.length === 0) {
+ // All event handlers have been removed, so we want to remove the event
+ // listener from the target node.
+
+ if (_this.target) {
+ // There can be a race condition where the target may no longer exist
+ // when this function is called, e.g. when a React component is
+ // unmounting. Guarding against this prevents the following error:
+ //
+ // Cannot read property 'removeEventListener' of undefined
+ _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);
+ }
+
+ eventHandlers.handleEvent = undefined;
+ }
+ }
+
+ return unsubscribe;
+ }();
+ return unsubscribe;
+ }
+
+ return add;
+}();
+
+var EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';
+
+// eslint-disable-next-line import/prefer-default-export
+function addEventListener(target, eventName, listener, options) {
+ if (!target[EVENT_HANDLERS_KEY]) {
+ // eslint-disable-next-line no-param-reassign
+ target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);
+ }
+ var normalizedEventOptions = normalizeEventOptions(options);
+ return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);
+}
+
+
+
+
+/***/ }),
+/* 248 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+module.exports = function contains(other) {
+ if (arguments.length < 1) {
+ throw new TypeError('1 argument is required');
+ }
+ if (typeof other !== 'object') {
+ throw new TypeError('Argument 1 (”other“) to Node.contains must be an instance of Node');
+ }
+
+ var node = other;
+ do {
+ if (this === node) {
+ return true;
+ }
+ if (node) {
+ node = node.parentNode;
+ }
+ } while (node);
+
+ return false;
+};
+
+
+/***/ }),
+/* 249 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var implementation = __webpack_require__(248);
+
+module.exports = function getPolyfill() {
+ if (typeof document !== 'undefined') {
+ if (document.contains) {
+ return document.contains;
+ }
+ if (document.body && document.body.contains) {
+ try {
+ if (typeof document.body.contains.call(document, '') === 'boolean') {
+ return document.body.contains;
+ }
+ } catch (e) { /**/ }
+ }
+ }
+ return implementation;
+};
+
+
+/***/ }),
+/* 250 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.PureCalendarDay = undefined;
+
+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; };
+
+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; }; }();
+
+var _object = __webpack_require__(92);
+
+var _object2 = _interopRequireDefault(_object);
+
+var _react = __webpack_require__(13);
+
+var _react2 = _interopRequireDefault(_react);
+
+var _propTypes = __webpack_require__(28);
+
+var _propTypes2 = _interopRequireDefault(_propTypes);
+
+var _reactAddonsShallowCompare = __webpack_require__(143);
+
+var _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);
+
+var _reactMomentProptypes = __webpack_require__(141);
+
+var _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);
+
+var _airbnbPropTypes = __webpack_require__(85);
+
+var _reactWithStyles = __webpack_require__(109);
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+var _defaultPhrases = __webpack_require__(107);
+
+var _getPhrasePropTypes = __webpack_require__(108);
+
+var _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);
+
+var _getCalendarDaySettings = __webpack_require__(251);
+
+var _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings);
+
+var _ModifiersShape = __webpack_require__(157);
+
+var _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+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; }
+
+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; }
+
+var propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {
+ day: _reactMomentProptypes2['default'].momentObj,
+ daySize: _airbnbPropTypes.nonNegativeInteger,
+ isOutsideDay: _propTypes2['default'].bool,
+ modifiers: _ModifiersShape2['default'],
+ isFocused: _propTypes2['default'].bool,
+ tabIndex: _propTypes2['default'].oneOf([0, -1]),
+ onDayClick: _propTypes2['default'].func,
+ onDayMouseEnter: _propTypes2['default'].func,
+ onDayMouseLeave: _propTypes2['default'].func,
+ renderDayContents: _propTypes2['default'].func,
+ ariaLabelFormat: _propTypes2['default'].string,
+
+ // internationalization
+ phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases))
+}));
+
+var defaultProps = {
+ day: (0, _moment2['default'])(),
+ daySize: _constants.DAY_SIZE,
+ isOutsideDay: false,
+ modifiers: new Set(),
+ isFocused: false,
+ tabIndex: -1,
+ onDayClick: function () {
+ function onDayClick() {}
+
+ return onDayClick;
+ }(),
+ onDayMouseEnter: function () {
+ function onDayMouseEnter() {}
+
+ return onDayMouseEnter;
+ }(),
+ onDayMouseLeave: function () {
+ function onDayMouseLeave() {}
+
+ return onDayMouseLeave;
+ }(),
+
+ renderDayContents: null,
+ ariaLabelFormat: 'dddd, LL',
+
+ // internationalization
+ phrases: _defaultPhrases.CalendarDayPhrases
+};
+
+var CalendarDay = function (_React$Component) {
+ _inherits(CalendarDay, _React$Component);
+
+ function CalendarDay() {
+ var _ref;
+
+ _classCallCheck(this, CalendarDay);
+
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ var _this = _possibleConstructorReturn(this, (_ref = CalendarDay.__proto__ || Object.getPrototypeOf(CalendarDay)).call.apply(_ref, [this].concat(args)));
+
+ _this.setButtonRef = _this.setButtonRef.bind(_this);
return _this;
}
- Object(createClass["a" /* default */])(Popover, [{
- key: "componentDidMount",
- value: function componentDidMount() {
- var _this2 = this;
-
- this.toggleAutoRefresh(!this.props.hasOwnProperty('anchorRect'));
- this.refresh();
- /*
- * Without the setTimeout, the dom node is not being focused. Related:
- * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example
- *
- * TODO: Treat the cause, not the symptom.
- */
-
- this.focusTimeout = setTimeout(function () {
- _this2.focus();
- }, 0);
- }
- }, {
- key: "componentDidUpdate",
- value: function componentDidUpdate(prevProps) {
- if (prevProps.position !== this.props.position) {
- this.computePopoverPosition(this.state.popoverSize, this.anchorRect);
- }
-
- if (prevProps.anchorRect !== this.props.anchorRect) {
- this.refreshOnAnchorMove();
- }
-
- var hasAnchorRect = this.props.hasOwnProperty('anchorRect');
-
- if (hasAnchorRect !== prevProps.hasOwnProperty('anchorRect')) {
- this.toggleAutoRefresh(!hasAnchorRect);
- }
- }
- }, {
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- clearTimeout(this.focusTimeout);
- this.toggleAutoRefresh(false);
- }
- }, {
- key: "toggleAutoRefresh",
- value: function toggleAutoRefresh(isActive) {
- window.cancelAnimationFrame(this.rafHandle); // Refresh the popover every time the window is resized or scrolled
-
- var handler = isActive ? 'addEventListener' : 'removeEventListener';
- window[handler]('resize', this.throttledRefresh);
- window[handler]('scroll', this.throttledRefresh, true);
- /*
- * There are sometimes we need to reposition or resize the popover that are not
- * handled by the resize/scroll window events (i.e. CSS changes in the layout
- * that changes the position of the anchor).
- *
- * For these situations, we refresh the popover every 0.5s
- */
-
- if (isActive) {
- this.autoRefresh = setInterval(this.refreshOnAnchorMove, 500);
+ _createClass(CalendarDay, [{
+ key: 'shouldComponentUpdate',
+ value: function () {
+ function shouldComponentUpdate(nextProps, nextState) {
+ return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);
+ }
+
+ return shouldComponentUpdate;
+ }()
+ }, {
+ key: 'componentDidUpdate',
+ value: function () {
+ function componentDidUpdate(prevProps) {
+ var _props = this.props,
+ isFocused = _props.isFocused,
+ tabIndex = _props.tabIndex;
+
+ if (tabIndex === 0) {
+ if (isFocused || tabIndex !== prevProps.tabIndex) {
+ this.buttonRef.focus();
+ }
+ }
+ }
+
+ return componentDidUpdate;
+ }()
+ }, {
+ key: 'onDayClick',
+ value: function () {
+ function onDayClick(day, e) {
+ var onDayClick = this.props.onDayClick;
+
+ onDayClick(day, e);
+ }
+
+ return onDayClick;
+ }()
+ }, {
+ key: 'onDayMouseEnter',
+ value: function () {
+ function onDayMouseEnter(day, e) {
+ var onDayMouseEnter = this.props.onDayMouseEnter;
+
+ onDayMouseEnter(day, e);
+ }
+
+ return onDayMouseEnter;
+ }()
+ }, {
+ key: 'onDayMouseLeave',
+ value: function () {
+ function onDayMouseLeave(day, e) {
+ var onDayMouseLeave = this.props.onDayMouseLeave;
+
+ onDayMouseLeave(day, e);
+ }
+
+ return onDayMouseLeave;
+ }()
+ }, {
+ key: 'onKeyDown',
+ value: function () {
+ function onKeyDown(day, e) {
+ var onDayClick = this.props.onDayClick;
+ var key = e.key;
+
+ if (key === 'Enter' || key === ' ') {
+ onDayClick(day, e);
+ }
+ }
+
+ return onKeyDown;
+ }()
+ }, {
+ key: 'setButtonRef',
+ value: function () {
+ function setButtonRef(ref) {
+ this.buttonRef = ref;
+ }
+
+ return setButtonRef;
+ }()
+ }, {
+ key: 'render',
+ value: function () {
+ function render() {
+ var _this2 = this;
+
+ var _props2 = this.props,
+ day = _props2.day,
+ ariaLabelFormat = _props2.ariaLabelFormat,
+ daySize = _props2.daySize,
+ isOutsideDay = _props2.isOutsideDay,
+ modifiers = _props2.modifiers,
+ renderDayContents = _props2.renderDayContents,
+ tabIndex = _props2.tabIndex,
+ styles = _props2.styles,
+ phrases = _props2.phrases;
+
+
+ if (!day) return _react2['default'].createElement('td', null);
+
+ var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases),
+ daySizeStyles = _getCalendarDaySettin.daySizeStyles,
+ useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,
+ selected = _getCalendarDaySettin.selected,
+ hoveredSpan = _getCalendarDaySettin.hoveredSpan,
+ isOutsideRange = _getCalendarDaySettin.isOutsideRange,
+ ariaLabel = _getCalendarDaySettin.ariaLabel;
+
+ return _react2['default'].createElement(
+ 'td',
+ _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, styles.CalendarDay__default, isOutsideDay && styles.CalendarDay__outside, modifiers.has('today') && styles.CalendarDay__today, modifiers.has('first-day-of-week') && styles.CalendarDay__firstDayOfWeek, modifiers.has('last-day-of-week') && styles.CalendarDay__lastDayOfWeek, modifiers.has('hovered-offset') && styles.CalendarDay__hovered_offset, modifiers.has('highlighted-calendar') && styles.CalendarDay__highlighted_calendar, modifiers.has('blocked-minimum-nights') && styles.CalendarDay__blocked_minimum_nights, modifiers.has('blocked-calendar') && styles.CalendarDay__blocked_calendar, hoveredSpan && styles.CalendarDay__hovered_span, modifiers.has('selected-span') && styles.CalendarDay__selected_span, modifiers.has('last-in-range') && styles.CalendarDay__last_in_range, modifiers.has('selected-start') && styles.CalendarDay__selected_start, modifiers.has('selected-end') && styles.CalendarDay__selected_end, selected && styles.CalendarDay__selected, isOutsideRange && styles.CalendarDay__blocked_out_of_range, daySizeStyles), {
+ role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role
+ , ref: this.setButtonRef,
+ 'aria-label': ariaLabel,
+ onMouseEnter: function () {
+ function onMouseEnter(e) {
+ _this2.onDayMouseEnter(day, e);
+ }
+
+ return onMouseEnter;
+ }(),
+ onMouseLeave: function () {
+ function onMouseLeave(e) {
+ _this2.onDayMouseLeave(day, e);
+ }
+
+ return onMouseLeave;
+ }(),
+ onMouseUp: function () {
+ function onMouseUp(e) {
+ e.currentTarget.blur();
+ }
+
+ return onMouseUp;
+ }(),
+ onClick: function () {
+ function onClick(e) {
+ _this2.onDayClick(day, e);
+ }
+
+ return onClick;
+ }(),
+ onKeyDown: function () {
+ function onKeyDown(e) {
+ _this2.onKeyDown(day, e);
+ }
+
+ return onKeyDown;
+ }(),
+ tabIndex: tabIndex
+ }),
+ renderDayContents ? renderDayContents(day, modifiers) : day.format('D')
+ );
+ }
+
+ return render;
+ }()
+ }]);
+
+ return CalendarDay;
+}(_react2['default'].Component);
+
+CalendarDay.propTypes = propTypes;
+CalendarDay.defaultProps = defaultProps;
+
+exports.PureCalendarDay = CalendarDay;
+exports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {
+ var _ref2$reactDates = _ref2.reactDates,
+ color = _ref2$reactDates.color,
+ font = _ref2$reactDates.font;
+ return {
+ CalendarDay: {
+ boxSizing: 'border-box',
+ cursor: 'pointer',
+ fontSize: font.size,
+ textAlign: 'center',
+
+ ':active': {
+ outline: 0
+ }
+ },
+
+ CalendarDay__defaultCursor: {
+ cursor: 'default'
+ },
+
+ CalendarDay__default: {
+ border: '1px solid ' + String(color.core.borderLight),
+ color: color.text,
+ background: color.background,
+
+ ':hover': {
+ background: color.core.borderLight,
+ border: '1px double ' + String(color.core.borderLight),
+ color: 'inherit'
+ }
+ },
+
+ CalendarDay__hovered_offset: {
+ background: color.core.borderBright,
+ border: '1px double ' + String(color.core.borderLight),
+ color: 'inherit'
+ },
+
+ CalendarDay__outside: {
+ border: 0,
+ background: color.outside.backgroundColor,
+ color: color.outside.color,
+
+ ':hover': {
+ border: 0
+ }
+ },
+
+ CalendarDay__blocked_minimum_nights: {
+ background: color.minimumNights.backgroundColor,
+ border: '1px solid ' + String(color.minimumNights.borderColor),
+ color: color.minimumNights.color,
+
+ ':hover': {
+ background: color.minimumNights.backgroundColor_hover,
+ color: color.minimumNights.color_active
+ },
+
+ ':active': {
+ background: color.minimumNights.backgroundColor_active,
+ color: color.minimumNights.color_active
+ }
+ },
+
+ CalendarDay__highlighted_calendar: {
+ background: color.highlighted.backgroundColor,
+ color: color.highlighted.color,
+
+ ':hover': {
+ background: color.highlighted.backgroundColor_hover,
+ color: color.highlighted.color_active
+ },
+
+ ':active': {
+ background: color.highlighted.backgroundColor_active,
+ color: color.highlighted.color_active
+ }
+ },
+
+ CalendarDay__selected_span: {
+ background: color.selectedSpan.backgroundColor,
+ border: '1px solid ' + String(color.selectedSpan.borderColor),
+ color: color.selectedSpan.color,
+
+ ':hover': {
+ background: color.selectedSpan.backgroundColor_hover,
+ border: '1px solid ' + String(color.selectedSpan.borderColor),
+ color: color.selectedSpan.color_active
+ },
+
+ ':active': {
+ background: color.selectedSpan.backgroundColor_active,
+ border: '1px solid ' + String(color.selectedSpan.borderColor),
+ color: color.selectedSpan.color_active
+ }
+ },
+
+ CalendarDay__last_in_range: {
+ borderRight: color.core.primary
+ },
+
+ CalendarDay__selected: {
+ background: color.selected.backgroundColor,
+ border: '1px solid ' + String(color.selected.borderColor),
+ color: color.selected.color,
+
+ ':hover': {
+ background: color.selected.backgroundColor_hover,
+ border: '1px solid ' + String(color.selected.borderColor),
+ color: color.selected.color_active
+ },
+
+ ':active': {
+ background: color.selected.backgroundColor_active,
+ border: '1px solid ' + String(color.selected.borderColor),
+ color: color.selected.color_active
+ }
+ },
+
+ CalendarDay__hovered_span: {
+ background: color.hoveredSpan.backgroundColor,
+ border: '1px solid ' + String(color.hoveredSpan.borderColor),
+ color: color.hoveredSpan.color,
+
+ ':hover': {
+ background: color.hoveredSpan.backgroundColor_hover,
+ border: '1px solid ' + String(color.hoveredSpan.borderColor),
+ color: color.hoveredSpan.color_active
+ },
+
+ ':active': {
+ background: color.hoveredSpan.backgroundColor_active,
+ border: '1px solid ' + String(color.hoveredSpan.borderColor),
+ color: color.hoveredSpan.color_active
+ }
+ },
+
+ CalendarDay__blocked_calendar: {
+ background: color.blocked_calendar.backgroundColor,
+ border: '1px solid ' + String(color.blocked_calendar.borderColor),
+ color: color.blocked_calendar.color,
+
+ ':hover': {
+ background: color.blocked_calendar.backgroundColor_hover,
+ border: '1px solid ' + String(color.blocked_calendar.borderColor),
+ color: color.blocked_calendar.color_active
+ },
+
+ ':active': {
+ background: color.blocked_calendar.backgroundColor_active,
+ border: '1px solid ' + String(color.blocked_calendar.borderColor),
+ color: color.blocked_calendar.color_active
+ }
+ },
+
+ CalendarDay__blocked_out_of_range: {
+ background: color.blocked_out_of_range.backgroundColor,
+ border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
+ color: color.blocked_out_of_range.color,
+
+ ':hover': {
+ background: color.blocked_out_of_range.backgroundColor_hover,
+ border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
+ color: color.blocked_out_of_range.color_active
+ },
+
+ ':active': {
+ background: color.blocked_out_of_range.backgroundColor_active,
+ border: '1px solid ' + String(color.blocked_out_of_range.borderColor),
+ color: color.blocked_out_of_range.color_active
+ }
+ },
+
+ CalendarDay__selected_start: {},
+ CalendarDay__selected_end: {},
+ CalendarDay__today: {},
+ CalendarDay__firstDayOfWeek: {},
+ CalendarDay__lastDayOfWeek: {}
+ };
+})(CalendarDay);
+
+/***/ }),
+/* 251 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = getCalendarDaySettings;
+
+var _getPhrase = __webpack_require__(392);
+
+var _getPhrase2 = _interopRequireDefault(_getPhrase);
+
+var _constants = __webpack_require__(77);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function getCalendarDaySettings(day, ariaLabelFormat, daySize, modifiers, phrases) {
+ var chooseAvailableDate = phrases.chooseAvailableDate,
+ dateIsUnavailable = phrases.dateIsUnavailable,
+ dateIsSelected = phrases.dateIsSelected;
+
+
+ var daySizeStyles = {
+ width: daySize,
+ height: daySize - 1
+ };
+
+ var useDefaultCursor = modifiers.has('blocked-minimum-nights') || modifiers.has('blocked-calendar') || modifiers.has('blocked-out-of-range');
+
+ var selected = modifiers.has('selected') || modifiers.has('selected-start') || modifiers.has('selected-end');
+
+ var hoveredSpan = !selected && (modifiers.has('hovered-span') || modifiers.has('after-hovered-start'));
+
+ var isOutsideRange = modifiers.has('blocked-out-of-range');
+
+ var formattedDate = { date: day.format(ariaLabelFormat) };
+
+ var ariaLabel = (0, _getPhrase2['default'])(chooseAvailableDate, formattedDate);
+ if (modifiers.has(_constants.BLOCKED_MODIFIER)) {
+ ariaLabel = (0, _getPhrase2['default'])(dateIsUnavailable, formattedDate);
+ } else if (selected) {
+ ariaLabel = (0, _getPhrase2['default'])(dateIsSelected, formattedDate);
+ }
+
+ return {
+ daySizeStyles: daySizeStyles,
+ useDefaultCursor: useDefaultCursor,
+ selected: selected,
+ hoveredSpan: hoveredSpan,
+ isOutsideRange: isOutsideRange,
+ ariaLabel: ariaLabel
+ };
+}
+
+/***/ }),
+/* 252 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = calculateDimension;
+function calculateDimension(el, axis) {
+ var borderBox = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
+ var withMargin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
+
+ if (!el) {
+ return 0;
+ }
+
+ var axisStart = axis === 'width' ? 'Left' : 'Top';
+ var axisEnd = axis === 'width' ? 'Right' : 'Bottom';
+
+ // Only read styles if we need to
+ var style = !borderBox || withMargin ? window.getComputedStyle(el) : null;
+
+ // Offset includes border and padding
+ var offsetWidth = el.offsetWidth,
+ offsetHeight = el.offsetHeight;
+
+ var size = axis === 'width' ? offsetWidth : offsetHeight;
+
+ // Get the inner size
+ if (!borderBox) {
+ size -= parseFloat(style['padding' + axisStart]) + parseFloat(style['padding' + axisEnd]) + parseFloat(style['border' + axisStart + 'Width']) + parseFloat(style['border' + axisEnd + 'Width']);
+ }
+
+ // Apply margin
+ if (withMargin) {
+ size += parseFloat(style['margin' + axisStart]) + parseFloat(style['margin' + axisEnd]);
+ }
+
+ return size;
+}
+
+/***/ }),
+/* 253 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports["default"] = getCalendarMonthWidth;
+function getCalendarMonthWidth(daySize, calendarMonthPadding) {
+ return 7 * daySize + 2 * calendarMonthPadding + 1;
+}
+
+/***/ }),
+/* 254 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports['default'] = isSameMonth;
+
+var _moment = __webpack_require__(43);
+
+var _moment2 = _interopRequireDefault(_moment);
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
+
+function isSameMonth(a, b) {
+ if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;
+ // Compare least significant, most likely to change units first
+ // Moment's isSame clones moment inputs and is a tad slow
+ return a.month() === b.month() && a.year() === b.year();
+}
+
+/***/ }),
+/* 255 */,
+/* 256 */,
+/* 257 */,
+/* 258 */,
+/* 259 */,
+/* 260 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+// ESM COMPAT FLAG
+__webpack_require__.r(__webpack_exports__);
+
+// EXPORTS
+__webpack_require__.d(__webpack_exports__, "SVG", function() { return /* reexport */ external_this_wp_primitives_["SVG"]; });
+__webpack_require__.d(__webpack_exports__, "Path", function() { return /* reexport */ external_this_wp_primitives_["Path"]; });
+__webpack_require__.d(__webpack_exports__, "Circle", function() { return /* reexport */ external_this_wp_primitives_["Circle"]; });
+__webpack_require__.d(__webpack_exports__, "Polygon", function() { return /* reexport */ external_this_wp_primitives_["Polygon"]; });
+__webpack_require__.d(__webpack_exports__, "Rect", function() { return /* reexport */ external_this_wp_primitives_["Rect"]; });
+__webpack_require__.d(__webpack_exports__, "G", function() { return /* reexport */ external_this_wp_primitives_["G"]; });
+__webpack_require__.d(__webpack_exports__, "HorizontalRule", function() { return /* reexport */ external_this_wp_primitives_["HorizontalRule"]; });
+__webpack_require__.d(__webpack_exports__, "BlockQuotation", function() { return /* reexport */ external_this_wp_primitives_["BlockQuotation"]; });
+__webpack_require__.d(__webpack_exports__, "__experimentalAlignmentMatrixControl", function() { return /* reexport */ AlignmentMatrixControl; });
+__webpack_require__.d(__webpack_exports__, "Animate", function() { return /* reexport */ animate["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "AnglePickerControl", function() { return /* reexport */ AnglePickerControl; });
+__webpack_require__.d(__webpack_exports__, "Autocomplete", function() { return /* reexport */ autocomplete; });
+__webpack_require__.d(__webpack_exports__, "BaseControl", function() { return /* reexport */ base_control; });
+__webpack_require__.d(__webpack_exports__, "__experimentalBoxControl", function() { return /* reexport */ BoxControl; });
+__webpack_require__.d(__webpack_exports__, "Button", function() { return /* reexport */ build_module_button["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return /* reexport */ button_group; });
+__webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ card; });
+__webpack_require__.d(__webpack_exports__, "CardBody", function() { return /* reexport */ card_body; });
+__webpack_require__.d(__webpack_exports__, "CardDivider", function() { return /* reexport */ divider; });
+__webpack_require__.d(__webpack_exports__, "CardFooter", function() { return /* reexport */ footer; });
+__webpack_require__.d(__webpack_exports__, "CardHeader", function() { return /* reexport */ card_header; });
+__webpack_require__.d(__webpack_exports__, "CardMedia", function() { return /* reexport */ media; });
+__webpack_require__.d(__webpack_exports__, "CheckboxControl", function() { return /* reexport */ CheckboxControl; });
+__webpack_require__.d(__webpack_exports__, "ClipboardButton", function() { return /* reexport */ ClipboardButton; });
+__webpack_require__.d(__webpack_exports__, "ColorIndicator", function() { return /* reexport */ color_indicator; });
+__webpack_require__.d(__webpack_exports__, "ColorPalette", function() { return /* reexport */ ColorPalette; });
+__webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return /* reexport */ color_picker_ColorPicker; });
+__webpack_require__.d(__webpack_exports__, "CustomSelectControl", function() { return /* reexport */ CustomSelectControl; });
+__webpack_require__.d(__webpack_exports__, "Dashicon", function() { return /* reexport */ dashicon["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "DateTimePicker", function() { return /* reexport */ date_time_DateTimePicker; });
+__webpack_require__.d(__webpack_exports__, "DatePicker", function() { return /* reexport */ date_time_date; });
+__webpack_require__.d(__webpack_exports__, "TimePicker", function() { return /* reexport */ time; });
+__webpack_require__.d(__webpack_exports__, "__experimentalDimensionControl", function() { return /* reexport */ dimension_control; });
+__webpack_require__.d(__webpack_exports__, "Disabled", function() { return /* reexport */ build_module_disabled; });
+__webpack_require__.d(__webpack_exports__, "Draggable", function() { return /* reexport */ draggable; });
+__webpack_require__.d(__webpack_exports__, "DropZone", function() { return /* reexport */ drop_zone; });
+__webpack_require__.d(__webpack_exports__, "__unstableUseDropZone", function() { return /* reexport */ useDropZone; });
+__webpack_require__.d(__webpack_exports__, "DropZoneProvider", function() { return /* reexport */ provider; });
+__webpack_require__.d(__webpack_exports__, "Dropdown", function() { return /* reexport */ Dropdown; });
+__webpack_require__.d(__webpack_exports__, "DropdownMenu", function() { return /* reexport */ dropdown_menu; });
+__webpack_require__.d(__webpack_exports__, "ExternalLink", function() { return /* reexport */ external_link; });
+__webpack_require__.d(__webpack_exports__, "Flex", function() { return /* reexport */ flex; });
+__webpack_require__.d(__webpack_exports__, "FlexBlock", function() { return /* reexport */ block; });
+__webpack_require__.d(__webpack_exports__, "FlexItem", function() { return /* reexport */ flex_item; });
+__webpack_require__.d(__webpack_exports__, "FocalPointPicker", function() { return /* reexport */ focal_point_picker; });
+__webpack_require__.d(__webpack_exports__, "FocusableIframe", function() { return /* reexport */ focusable_iframe; });
+__webpack_require__.d(__webpack_exports__, "FontSizePicker", function() { return /* reexport */ FontSizePicker; });
+__webpack_require__.d(__webpack_exports__, "FormFileUpload", function() { return /* reexport */ form_file_upload; });
+__webpack_require__.d(__webpack_exports__, "FormToggle", function() { return /* reexport */ form_toggle; });
+__webpack_require__.d(__webpack_exports__, "FormTokenField", function() { return /* reexport */ form_token_field; });
+__webpack_require__.d(__webpack_exports__, "__experimentalGradientPicker", function() { return /* reexport */ GradientPicker; });
+__webpack_require__.d(__webpack_exports__, "__experimentalCustomGradientPicker", function() { return /* reexport */ CustomGradientPicker; });
+__webpack_require__.d(__webpack_exports__, "Guide", function() { return /* reexport */ Guide; });
+__webpack_require__.d(__webpack_exports__, "GuidePage", function() { return /* reexport */ GuidePage; });
+__webpack_require__.d(__webpack_exports__, "Icon", function() { return /* reexport */ components_build_module_icon["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "IconButton", function() { return /* reexport */ deprecated; });
+__webpack_require__.d(__webpack_exports__, "__experimentalInputControl", function() { return /* reexport */ input_control; });
+__webpack_require__.d(__webpack_exports__, "KeyboardShortcuts", function() { return /* reexport */ keyboard_shortcuts; });
+__webpack_require__.d(__webpack_exports__, "MenuGroup", function() { return /* reexport */ menu_group; });
+__webpack_require__.d(__webpack_exports__, "MenuItem", function() { return /* reexport */ menu_item; });
+__webpack_require__.d(__webpack_exports__, "MenuItemsChoice", function() { return /* reexport */ MenuItemsChoice; });
+__webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ modal; });
+__webpack_require__.d(__webpack_exports__, "ScrollLock", function() { return /* reexport */ scroll_lock["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "NavigableMenu", function() { return /* reexport */ menu; });
+__webpack_require__.d(__webpack_exports__, "TabbableContainer", function() { return /* reexport */ tabbable; });
+__webpack_require__.d(__webpack_exports__, "Notice", function() { return /* reexport */ build_module_notice; });
+__webpack_require__.d(__webpack_exports__, "__experimentalNumberControl", function() { return /* reexport */ number_control; });
+__webpack_require__.d(__webpack_exports__, "NoticeList", function() { return /* reexport */ list; });
+__webpack_require__.d(__webpack_exports__, "Panel", function() { return /* reexport */ panel; });
+__webpack_require__.d(__webpack_exports__, "PanelBody", function() { return /* reexport */ panel_body; });
+__webpack_require__.d(__webpack_exports__, "PanelHeader", function() { return /* reexport */ panel_header; });
+__webpack_require__.d(__webpack_exports__, "PanelRow", function() { return /* reexport */ row; });
+__webpack_require__.d(__webpack_exports__, "Placeholder", function() { return /* reexport */ placeholder; });
+__webpack_require__.d(__webpack_exports__, "Popover", function() { return /* reexport */ popover["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "QueryControls", function() { return /* reexport */ QueryControls; });
+__webpack_require__.d(__webpack_exports__, "__experimentalRadio", function() { return /* reexport */ build_module_radio; });
+__webpack_require__.d(__webpack_exports__, "__experimentalRadioGroup", function() { return /* reexport */ radio_group; });
+__webpack_require__.d(__webpack_exports__, "RadioControl", function() { return /* reexport */ RadioControl; });
+__webpack_require__.d(__webpack_exports__, "RangeControl", function() { return /* reexport */ range_control; });
+__webpack_require__.d(__webpack_exports__, "ResizableBox", function() { return /* reexport */ resizable_box; });
+__webpack_require__.d(__webpack_exports__, "ResponsiveWrapper", function() { return /* reexport */ responsive_wrapper; });
+__webpack_require__.d(__webpack_exports__, "SandBox", function() { return /* reexport */ sandbox; });
+__webpack_require__.d(__webpack_exports__, "SelectControl", function() { return /* reexport */ SelectControl; });
+__webpack_require__.d(__webpack_exports__, "Snackbar", function() { return /* reexport */ snackbar["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "SnackbarList", function() { return /* reexport */ snackbar_list; });
+__webpack_require__.d(__webpack_exports__, "Spinner", function() { return /* reexport */ Spinner; });
+__webpack_require__.d(__webpack_exports__, "TabPanel", function() { return /* reexport */ TabPanel; });
+__webpack_require__.d(__webpack_exports__, "__experimentalText", function() { return /* reexport */ build_module_text; });
+__webpack_require__.d(__webpack_exports__, "TextControl", function() { return /* reexport */ TextControl; });
+__webpack_require__.d(__webpack_exports__, "TextareaControl", function() { return /* reexport */ TextareaControl; });
+__webpack_require__.d(__webpack_exports__, "TextHighlight", function() { return /* reexport */ text_highlight; });
+__webpack_require__.d(__webpack_exports__, "Tip", function() { return /* reexport */ tip; });
+__webpack_require__.d(__webpack_exports__, "ToggleControl", function() { return /* reexport */ ToggleControl; });
+__webpack_require__.d(__webpack_exports__, "Toolbar", function() { return /* reexport */ toolbar; });
+__webpack_require__.d(__webpack_exports__, "ToolbarButton", function() { return /* reexport */ toolbar_button; });
+__webpack_require__.d(__webpack_exports__, "__experimentalToolbarContext", function() { return /* reexport */ toolbar_context["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "ToolbarGroup", function() { return /* reexport */ toolbar_group; });
+__webpack_require__.d(__webpack_exports__, "__experimentalToolbarItem", function() { return /* reexport */ toolbar_item["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "Tooltip", function() { return /* reexport */ build_module_tooltip["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "__experimentalTreeGrid", function() { return /* reexport */ TreeGrid; });
+__webpack_require__.d(__webpack_exports__, "__experimentalTreeGridRow", function() { return /* reexport */ tree_grid_row; });
+__webpack_require__.d(__webpack_exports__, "__experimentalTreeGridCell", function() { return /* reexport */ tree_grid_cell; });
+__webpack_require__.d(__webpack_exports__, "__experimentalTreeGridItem", function() { return /* reexport */ tree_grid_item; });
+__webpack_require__.d(__webpack_exports__, "TreeSelect", function() { return /* reexport */ TreeSelect; });
+__webpack_require__.d(__webpack_exports__, "__experimentalUnitControl", function() { return /* reexport */ unit_control; });
+__webpack_require__.d(__webpack_exports__, "VisuallyHidden", function() { return /* reexport */ visually_hidden; });
+__webpack_require__.d(__webpack_exports__, "IsolatedEventContainer", function() { return /* reexport */ isolated_event_container["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "createSlotFill", function() { return /* reexport */ slot_fill["c" /* createSlotFill */]; });
+__webpack_require__.d(__webpack_exports__, "Slot", function() { return /* reexport */ slot_fill["b" /* Slot */]; });
+__webpack_require__.d(__webpack_exports__, "Fill", function() { return /* reexport */ slot_fill["a" /* Fill */]; });
+__webpack_require__.d(__webpack_exports__, "SlotFillProvider", function() { return /* reexport */ slot_fill_context["b" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "__experimentalUseSlot", function() { return /* reexport */ use_slot["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "navigateRegions", function() { return /* reexport */ navigate_regions; });
+__webpack_require__.d(__webpack_exports__, "withConstrainedTabbing", function() { return /* reexport */ with_constrained_tabbing["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "withFallbackStyles", function() { return /* reexport */ with_fallback_styles; });
+__webpack_require__.d(__webpack_exports__, "withFilters", function() { return /* reexport */ withFilters; });
+__webpack_require__.d(__webpack_exports__, "withFocusOutside", function() { return /* reexport */ with_focus_outside["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "withFocusReturn", function() { return /* reexport */ with_focus_return["a" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "FocusReturnProvider", function() { return /* reexport */ with_focus_return_context["b" /* default */]; });
+__webpack_require__.d(__webpack_exports__, "withNotices", function() { return /* reexport */ with_notices; });
+__webpack_require__.d(__webpack_exports__, "withSpokenMessages", function() { return /* reexport */ with_spoken_messages; });
+
+// EXTERNAL MODULE: external {"this":["wp","primitives"]}
+var external_this_wp_primitives_ = __webpack_require__(6);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
+var esm_extends = __webpack_require__(8);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
+var slicedToArray = __webpack_require__(14);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
+var objectWithoutProperties = __webpack_require__(15);
+
+// EXTERNAL MODULE: external {"this":["wp","element"]}
+var external_this_wp_element_ = __webpack_require__(0);
+
+// EXTERNAL MODULE: external {"this":"lodash"}
+var external_this_lodash_ = __webpack_require__(2);
+
+// EXTERNAL MODULE: ./node_modules/classnames/index.js
+var classnames = __webpack_require__(11);
+var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
+
+// EXTERNAL MODULE: ./node_modules/reakit/es/CompositeState-3a25dcee.js
+var CompositeState_3a25dcee = __webpack_require__(51);
+
+// EXTERNAL MODULE: ./node_modules/reakit/es/Composite/Composite.js
+var Composite = __webpack_require__(119);
+
+// EXTERNAL MODULE: ./node_modules/reakit/es/_rollupPluginBabelHelpers-1f0bf8c2.js
+var _rollupPluginBabelHelpers_1f0bf8c2 = __webpack_require__(17);
+
+// EXTERNAL MODULE: ./node_modules/reakit-system/es/createComponent.js + 1 modules
+var createComponent = __webpack_require__(49);
+
+// EXTERNAL MODULE: ./node_modules/reakit-system/es/createHook.js + 4 modules
+var createHook = __webpack_require__(48);
+
+// EXTERNAL MODULE: external {"this":"React"}
+var external_this_React_ = __webpack_require__(13);
+var external_this_React_default = /*#__PURE__*/__webpack_require__.n(external_this_React_);
+
+// EXTERNAL MODULE: ./node_modules/reakit-utils/es/useForkRef.js
+var useForkRef = __webpack_require__(63);
+
+// EXTERNAL MODULE: ./node_modules/reakit-utils/es/useIsomorphicEffect.js
+var useIsomorphicEffect = __webpack_require__(59);
+
+// EXTERNAL MODULE: ./node_modules/reakit/es/Box/Box.js
+var Box = __webpack_require__(67);
+
+// CONCATENATED MODULE: ./node_modules/reakit/es/Group/Group.js
+
+
+
+
+
+
+var useGroup = Object(createHook["a" /* createHook */])({
+ name: "Group",
+ compose: Box["a" /* useBox */],
+ useProps: function useProps(_, htmlProps) {
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({
+ role: "group"
+ }, htmlProps);
+ }
+});
+var Group = Object(createComponent["a" /* createComponent */])({
+ as: "div",
+ useHook: useGroup
+});
+
+
+
+// EXTERNAL MODULE: ./node_modules/reakit/es/Id/Id.js
+var Id = __webpack_require__(93);
+
+// CONCATENATED MODULE: ./node_modules/reakit/es/Composite/CompositeGroup.js
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+var useCompositeGroup = Object(createHook["a" /* createHook */])({
+ name: "CompositeGroup",
+ compose: [useGroup, Id["a" /* unstable_useId */]],
+ useState: CompositeState_3a25dcee["g" /* u */],
+ propsAreEqual: function propsAreEqual(prev, next) {
+ if (!next.id || prev.id !== next.id) {
+ return useGroup.unstable_propsAreEqual(prev, next);
+ }
+
+ var prevCurrentId = prev.currentId,
+ prevMoves = prev.unstable_moves,
+ prevProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(prev, ["currentId", "unstable_moves"]);
+
+ var nextCurrentId = next.currentId,
+ nextMoves = next.unstable_moves,
+ nextProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(next, ["currentId", "unstable_moves"]);
+
+ if (prev.items && next.items) {
+ var prevCurrentItem = Object(CompositeState_3a25dcee["d" /* f */])(prev.items, prevCurrentId);
+ var nextCurrentItem = Object(CompositeState_3a25dcee["d" /* f */])(next.items, nextCurrentId);
+ var prevGroupId = prevCurrentItem === null || prevCurrentItem === void 0 ? void 0 : prevCurrentItem.groupId;
+ var nextGroupId = nextCurrentItem === null || nextCurrentItem === void 0 ? void 0 : nextCurrentItem.groupId;
+
+ if (next.id === nextGroupId || next.id === prevGroupId) {
+ return false;
+ }
+ }
+
+ return useGroup.unstable_propsAreEqual(prevProps, nextProps);
+ },
+ useProps: function useProps(options, _ref) {
+ var htmlRef = _ref.ref,
+ htmlProps = Object(_rollupPluginBabelHelpers_1f0bf8c2["a" /* _ */])(_ref, ["ref"]);
+
+ var ref = Object(external_this_React_["useRef"])(null);
+ var id = options.id; // We need this to be called before CompositeItems' register
+
+ Object(useIsomorphicEffect["a" /* useIsomorphicEffect */])(function () {
+ var _options$registerGrou;
+
+ if (!id) return undefined;
+ (_options$registerGrou = options.registerGroup) === null || _options$registerGrou === void 0 ? void 0 : _options$registerGrou.call(options, {
+ id: id,
+ ref: ref
+ });
+ return function () {
+ var _options$unregisterGr;
+
+ (_options$unregisterGr = options.unregisterGroup) === null || _options$unregisterGr === void 0 ? void 0 : _options$unregisterGr.call(options, id);
+ };
+ }, [id, options.registerGroup, options.unregisterGroup]);
+ return Object(_rollupPluginBabelHelpers_1f0bf8c2["b" /* a */])({
+ ref: Object(useForkRef["a" /* useForkRef */])(ref, htmlRef)
+ }, htmlProps);
+ }
+});
+var CompositeGroup = Object(createComponent["a" /* createComponent */])({
+ as: "div",
+ useHook: useCompositeGroup
+});
+
+
+
+// EXTERNAL MODULE: external {"this":["wp","i18n"]}
+var external_this_wp_i18n_ = __webpack_require__(1);
+
+// EXTERNAL MODULE: external {"this":["wp","compose"]}
+var external_this_wp_compose_ = __webpack_require__(9);
+
+// EXTERNAL MODULE: ./node_modules/reakit/es/Composite/CompositeItem.js
+var CompositeItem = __webpack_require__(120);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/tooltip/index.js
+var build_module_tooltip = __webpack_require__(86);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
+var defineProperty = __webpack_require__(5);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/utils.js
+
+
+
+/**
+ * Utility Functions
+ */
+
+/**
+ * renderAsRenderProps is used to wrap a component and convert
+ * the passed property "as" either a string or component, to the
+ * rendered tag if a string, or component.
+ *
+ * See VisuallyHidden hidden for example.
+ *
+ * @param {string|WPComponent} as A tag or component to render.
+ * @return {WPComponent} The rendered component.
+ */
+function renderAsRenderProps(_ref) {
+ var _ref$as = _ref.as,
+ Component = _ref$as === void 0 ? 'div' : _ref$as,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as"]);
+
+ if (typeof props.children === 'function') {
+ return props.children(props);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(Component, props);
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/visually-hidden/index.js
+
+
+
+function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * VisuallyHidden component to render text out non-visually
+ * for use in devices such as a screen reader.
+ *
+ * @param {Object} props Component props.
+ * @param {string|WPComponent} [props.as="div"] A tag or component to render.
+ * @param {string} [props.className] Class to set on the container.
+ */
+
+function VisuallyHidden(_ref) {
+ var _ref$as = _ref.as,
+ as = _ref$as === void 0 ? 'div' : _ref$as,
+ className = _ref.className,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["as", "className"]);
+
+ return renderAsRenderProps(_objectSpread({
+ as: as,
+ className: classnames_default()('components-visually-hidden', className)
+ }, props));
+}
+
+/* harmony default export */ var visually_hidden = (VisuallyHidden);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/utils.js
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+var GRID = [['top left', 'top center', 'top right'], ['center left', 'center center', 'center right'], ['bottom left', 'bottom center', 'bottom right']]; // Stored as map as i18n __() only accepts strings (not variables)
+
+var ALIGNMENT_LABEL = {
+ 'top left': Object(external_this_wp_i18n_["__"])('Top Left'),
+ 'top center': Object(external_this_wp_i18n_["__"])('Top Center'),
+ 'top right': Object(external_this_wp_i18n_["__"])('Top Right'),
+ 'center left': Object(external_this_wp_i18n_["__"])('Center Left'),
+ 'center center': Object(external_this_wp_i18n_["__"])('Center Center'),
+ 'center right': Object(external_this_wp_i18n_["__"])('Center Right'),
+ 'bottom left': Object(external_this_wp_i18n_["__"])('Bottom Left'),
+ 'bottom center': Object(external_this_wp_i18n_["__"])('Bottom Center'),
+ 'bottom right': Object(external_this_wp_i18n_["__"])('Bottom Right')
+}; // Transforms GRID into a flat Array of values
+
+var ALIGNMENTS = Object(external_this_lodash_["flattenDeep"])(GRID);
+/**
+ * Parses and transforms an incoming value to better match the alignment values
+ *
+ * @param {string} value An alignment value to parse.
+ *
+ * @return {string} The parsed value.
+ */
+
+function transformValue(value) {
+ var nextValue = value === 'center' ? 'center center' : value;
+ return nextValue.replace('-', ' ');
+}
+/**
+ * Creates an item ID based on a prefix ID and an alignment value.
+ *
+ * @param {string} prefixId An ID to prefix.
+ * @param {string} value An alignment value.
+ *
+ * @return {string} The item id.
+ */
+
+function getItemId(prefixId, value) {
+ var valueId = transformValue(value).replace(' ', '-');
+ return "".concat(prefixId, "-").concat(valueId);
+}
+/**
+ * Retrieves the alignment index from a value.
+ *
+ * @param {string} alignment Value to check.
+ *
+ * @return {number} The index of a matching alignment.
+ */
+
+function getAlignmentIndex() {
+ var alignment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'center';
+ var item = transformValue(alignment).replace('-', ' ');
+ var index = ALIGNMENTS.indexOf(item);
+ return index > -1 ? index : undefined;
+}
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/defineProperty.js
+var helpers_defineProperty = __webpack_require__(270);
+var defineProperty_default = /*#__PURE__*/__webpack_require__.n(helpers_defineProperty);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/memoize/dist/memoize.browser.esm.js
+function memoize(fn) {
+ var cache = {};
+ return function (arg) {
+ if (cache[arg] === undefined) cache[arg] = fn(arg);
+ return cache[arg];
+ };
+}
+
+/* harmony default export */ var memoize_browser_esm = (memoize);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js
+
+
+var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
+
+var is_prop_valid_browser_esm_index = memoize_browser_esm(function (prop) {
+ return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
+ /* o */
+ && prop.charCodeAt(1) === 110
+ /* n */
+ && prop.charCodeAt(2) < 91;
+}
+/* Z+1 */
+);
+
+/* harmony default export */ var is_prop_valid_browser_esm = (is_prop_valid_browser_esm_index);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/inheritsLoose.js
+var inheritsLoose = __webpack_require__(145);
+var inheritsLoose_default = /*#__PURE__*/__webpack_require__.n(inheritsLoose);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/sheet/dist/sheet.browser.esm.js
+/*
+
+Based off glamor's StyleSheet, thanks Sunil ❤️
+
+high performance StyleSheet for css-in-js systems
+
+- uses multiple style tags behind the scenes for millions of rules
+- uses `insertRule` for appending in production for *much* faster performance
+
+// usage
+
+import { StyleSheet } from '@emotion/sheet'
+
+let styleSheet = new StyleSheet({ key: '', container: document.head })
+
+styleSheet.insert('#box { border: 1px solid red; }')
+- appends a css rule into the stylesheet
+
+styleSheet.flush()
+- empties the stylesheet of all its contents
+
+*/
+// $FlowFixMe
+function sheetForTag(tag) {
+ if (tag.sheet) {
+ // $FlowFixMe
+ return tag.sheet;
+ } // this weirdness brought to you by firefox
+
+ /* istanbul ignore next */
+
+
+ for (var i = 0; i < document.styleSheets.length; i++) {
+ if (document.styleSheets[i].ownerNode === tag) {
+ // $FlowFixMe
+ return document.styleSheets[i];
+ }
+ }
+}
+
+function createStyleElement(options) {
+ var tag = document.createElement('style');
+ tag.setAttribute('data-emotion', options.key);
+
+ if (options.nonce !== undefined) {
+ tag.setAttribute('nonce', options.nonce);
+ }
+
+ tag.appendChild(document.createTextNode(''));
+ return tag;
+}
+
+var StyleSheet =
+/*#__PURE__*/
+function () {
+ function StyleSheet(options) {
+ this.isSpeedy = options.speedy === undefined ? "production" === 'production' : options.speedy;
+ this.tags = [];
+ this.ctr = 0;
+ this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets
+
+ this.key = options.key;
+ this.container = options.container;
+ this.before = null;
+ }
+
+ var _proto = StyleSheet.prototype;
+
+ _proto.insert = function insert(rule) {
+ // the max length is how many rules we have per style tag, it's 65000 in speedy mode
+ // it's 1 in dev because we insert source maps that map a single rule to a location
+ // and you can only have one source map per style tag
+ if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {
+ var _tag = createStyleElement(this);
+
+ var before;
+
+ if (this.tags.length === 0) {
+ before = this.before;
} else {
- clearInterval(this.autoRefresh);
- }
- }
- }, {
- key: "throttledRefresh",
- value: function throttledRefresh(event) {
- window.cancelAnimationFrame(this.rafHandle);
-
- if (event && event.type === 'scroll' && this.contentNode.current.contains(event.target)) {
- return;
- }
-
- this.rafHandle = window.requestAnimationFrame(this.refresh);
- }
- /**
- * Calling refreshOnAnchorMove
- * will only refresh the popover position if the anchor moves.
- */
-
- }, {
- key: "refreshOnAnchorMove",
- value: function refreshOnAnchorMove() {
- var anchorRect = this.getAnchorRect(this.anchorNode.current);
- var didAnchorRectChange = !external_this_wp_isShallowEqual_default()(anchorRect, this.anchorRect);
-
- if (didAnchorRectChange) {
- this.anchorRect = anchorRect;
- this.computePopoverPosition(this.state.popoverSize, anchorRect);
- }
- }
- /**
- * Calling `refresh()` will force the Popover to recalculate its size and
- * position. This is useful when a DOM change causes the anchor node to change
- * position.
- */
-
- }, {
- key: "refresh",
- value: function refresh() {
- var anchorRect = this.getAnchorRect(this.anchorNode.current);
- var contentRect = this.contentNode.current.getBoundingClientRect();
- var popoverSize = {
- width: contentRect.width,
- height: contentRect.height
- };
- var didPopoverSizeChange = !this.state.popoverSize || popoverSize.width !== this.state.popoverSize.width || popoverSize.height !== this.state.popoverSize.height;
-
- if (didPopoverSizeChange) {
- this.setState({
- popoverSize: popoverSize,
- isReadyToAnimate: true
- });
- }
-
- this.anchorRect = anchorRect;
- this.computePopoverPosition(popoverSize, anchorRect);
- }
- }, {
- key: "focus",
- value: function focus() {
- var focusOnMount = this.props.focusOnMount;
-
- if (!focusOnMount || !this.contentNode.current) {
- return;
- }
-
- if (focusOnMount === 'firstElement') {
- // Find first tabbable node within content and shift focus, falling
- // back to the popover panel itself.
- var firstTabbable = external_this_wp_dom_["focus"].tabbable.find(this.contentNode.current)[0];
-
- if (firstTabbable) {
- firstTabbable.focus();
+ before = this.tags[this.tags.length - 1].nextSibling;
+ }
+
+ this.container.insertBefore(_tag, before);
+ this.tags.push(_tag);
+ }
+
+ var tag = this.tags[this.tags.length - 1];
+
+ if (this.isSpeedy) {
+ var sheet = sheetForTag(tag);
+
+ try {
+ // this is a really hot path
+ // we check the second character first because having "i"
+ // as the second character will happen less often than
+ // having "@" as the first character
+ var isImportRule = rule.charCodeAt(1) === 105 && rule.charCodeAt(0) === 64; // this is the ultrafast version, works across browsers
+ // the big drawback is that the css won't be editable in devtools
+
+ sheet.insertRule(rule, // we need to insert @import rules before anything else
+ // otherwise there will be an error
+ // technically this means that the @import rules will
+ // _usually_(not always since there could be multiple style tags)
+ // be the first ones in prod and generally later in dev
+ // this shouldn't really matter in the real world though
+ // @import is generally only used for font faces from google fonts and etc.
+ // so while this could be technically correct then it would be slower and larger
+ // for a tiny bit of correctness that won't matter in the real world
+ isImportRule ? 0 : sheet.cssRules.length);
+ } catch (e) {
+ if (false) {}
+ }
+ } else {
+ tag.appendChild(document.createTextNode(rule));
+ }
+
+ this.ctr++;
+ };
+
+ _proto.flush = function flush() {
+ // $FlowFixMe
+ this.tags.forEach(function (tag) {
+ return tag.parentNode.removeChild(tag);
+ });
+ this.tags = [];
+ this.ctr = 0;
+ };
+
+ return StyleSheet;
+}();
+
+
+
+// CONCATENATED MODULE: ./node_modules/@emotion/stylis/dist/stylis.browser.esm.js
+function stylis_min (W) {
+ function M(d, c, e, h, a) {
+ for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {
+ g = e.charCodeAt(l);
+ l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);
+
+ if (0 === b + n + v + m) {
+ if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {
+ switch (g) {
+ case 32:
+ case 9:
+ case 59:
+ case 13:
+ case 10:
+ break;
+
+ default:
+ f += e.charAt(l);
+ }
+
+ g = 59;
+ }
+
+ switch (g) {
+ case 123:
+ f = f.trim();
+ q = f.charCodeAt(0);
+ k = 1;
+
+ for (t = ++l; l < B;) {
+ switch (g = e.charCodeAt(l)) {
+ case 123:
+ k++;
+ break;
+
+ case 125:
+ k--;
+ break;
+
+ case 47:
+ switch (g = e.charCodeAt(l + 1)) {
+ case 42:
+ case 47:
+ a: {
+ for (u = l + 1; u < J; ++u) {
+ switch (e.charCodeAt(u)) {
+ case 47:
+ if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {
+ l = u + 1;
+ break a;
+ }
+
+ break;
+
+ case 10:
+ if (47 === g) {
+ l = u + 1;
+ break a;
+ }
+
+ }
+ }
+
+ l = u;
+ }
+
+ }
+
+ break;
+
+ case 91:
+ g++;
+
+ case 40:
+ g++;
+
+ case 34:
+ case 39:
+ for (; l++ < J && e.charCodeAt(l) !== g;) {
+ }
+
+ }
+
+ if (0 === k) break;
+ l++;
+ }
+
+ k = e.substring(t, l);
+ 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));
+
+ switch (q) {
+ case 64:
+ 0 < r && (f = f.replace(N, ''));
+ g = f.charCodeAt(1);
+
+ switch (g) {
+ case 100:
+ case 109:
+ case 115:
+ case 45:
+ r = c;
+ break;
+
+ default:
+ r = O;
+ }
+
+ k = M(c, r, k, g, a + 1);
+ t = k.length;
+ 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));
+ if (0 < t) switch (g) {
+ case 115:
+ f = f.replace(da, ea);
+
+ case 100:
+ case 109:
+ case 45:
+ k = f + '{' + k + '}';
+ break;
+
+ case 107:
+ f = f.replace(fa, '$1 $2');
+ k = f + '{' + k + '}';
+ k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;
+ break;
+
+ default:
+ k = f + k, 112 === h && (k = (p += k, ''));
+ } else k = '';
+ break;
+
+ default:
+ k = M(c, X(c, f, I), k, h, a + 1);
+ }
+
+ F += k;
+ k = I = r = u = q = 0;
+ f = '';
+ g = e.charCodeAt(++l);
+ break;
+
+ case 125:
+ case 59:
+ f = (0 < r ? f.replace(N, '') : f).trim();
+ if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\x00\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {
+ case 0:
+ break;
+
+ case 64:
+ if (105 === g || 99 === g) {
+ G += f + e.charAt(l);
+ break;
+ }
+
+ default:
+ 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));
+ }
+ I = r = u = q = 0;
+ f = '';
+ g = e.charCodeAt(++l);
+ }
+ }
+
+ switch (g) {
+ case 13:
+ case 10:
+ 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\x00');
+ 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);
+ z = 1;
+ D++;
+ break;
+
+ case 59:
+ case 125:
+ if (0 === b + n + v + m) {
+ z++;
+ break;
+ }
+
+ default:
+ z++;
+ y = e.charAt(l);
+
+ switch (g) {
+ case 9:
+ case 32:
+ if (0 === n + m + b) switch (x) {
+ case 44:
+ case 58:
+ case 9:
+ case 32:
+ y = '';
+ break;
+
+ default:
+ 32 !== g && (y = ' ');
+ }
+ break;
+
+ case 0:
+ y = '\\0';
+ break;
+
+ case 12:
+ y = '\\f';
+ break;
+
+ case 11:
+ y = '\\v';
+ break;
+
+ case 38:
+ 0 === n + b + m && (r = I = 1, y = '\f' + y);
+ break;
+
+ case 108:
+ if (0 === n + b + m + E && 0 < u) switch (l - u) {
+ case 2:
+ 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);
+
+ case 8:
+ 111 === K && (E = K);
+ }
+ break;
+
+ case 58:
+ 0 === n + b + m && (u = l);
+ break;
+
+ case 44:
+ 0 === b + v + n + m && (r = 1, y += '\r');
+ break;
+
+ case 34:
+ case 39:
+ 0 === b && (n = n === g ? 0 : 0 === n ? g : n);
+ break;
+
+ case 91:
+ 0 === n + b + v && m++;
+ break;
+
+ case 93:
+ 0 === n + b + v && m--;
+ break;
+
+ case 41:
+ 0 === n + b + m && v--;
+ break;
+
+ case 40:
+ if (0 === n + b + m) {
+ if (0 === q) switch (2 * x + 3 * K) {
+ case 533:
+ break;
+
+ default:
+ q = 1;
+ }
+ v++;
+ }
+
+ break;
+
+ case 64:
+ 0 === b + v + n + m + u + k && (k = 1);
+ break;
+
+ case 42:
+ case 47:
+ if (!(0 < n + m + v)) switch (b) {
+ case 0:
+ switch (2 * g + 3 * e.charCodeAt(l + 1)) {
+ case 235:
+ b = 47;
+ break;
+
+ case 220:
+ t = l, b = 42;
+ }
+
+ break;
+
+ case 42:
+ 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);
+ }
+ }
+
+ 0 === b && (f += y);
+ }
+
+ K = x;
+ x = g;
+ l++;
+ }
+
+ t = p.length;
+
+ if (0 < t) {
+ r = c;
+ if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;
+ p = r.join(',') + '{' + p + '}';
+
+ if (0 !== w * E) {
+ 2 !== w || L(p, 2) || (E = 0);
+
+ switch (E) {
+ case 111:
+ p = p.replace(ha, ':-moz-$1') + p;
+ break;
+
+ case 112:
+ p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;
+ }
+
+ E = 0;
+ }
+ }
+
+ return G + p + F;
+ }
+
+ function X(d, c, e) {
+ var h = c.trim().split(ia);
+ c = h;
+ var a = h.length,
+ m = d.length;
+
+ switch (m) {
+ case 0:
+ case 1:
+ var b = 0;
+
+ for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {
+ c[b] = Z(d, c[b], e).trim();
+ }
+
+ break;
+
+ default:
+ var v = b = 0;
+
+ for (c = []; b < a; ++b) {
+ for (var n = 0; n < m; ++n) {
+ c[v++] = Z(d[n] + ' ', h[b], e).trim();
+ }
+ }
+
+ }
+
+ return c;
+ }
+
+ function Z(d, c, e) {
+ var h = c.charCodeAt(0);
+ 33 > h && (h = (c = c.trim()).charCodeAt(0));
+
+ switch (h) {
+ case 38:
+ return c.replace(F, '$1' + d.trim());
+
+ case 58:
+ return d.trim() + c.replace(F, '$1' + d.trim());
+
+ default:
+ if (0 < 1 * e && 0 < c.indexOf('\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());
+ }
+
+ return d + c;
+ }
+
+ function P(d, c, e, h) {
+ var a = d + ';',
+ m = 2 * c + 3 * e + 4 * h;
+
+ if (944 === m) {
+ d = a.indexOf(':', 9) + 1;
+ var b = a.substring(d, a.length - 1).trim();
+ b = a.substring(0, d).trim() + b + ';';
+ return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;
+ }
+
+ if (0 === w || 2 === w && !L(a, 1)) return a;
+
+ switch (m) {
+ case 1015:
+ return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;
+
+ case 951:
+ return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;
+
+ case 963:
+ return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;
+
+ case 1009:
+ if (100 !== a.charCodeAt(4)) break;
+
+ case 969:
+ case 942:
+ return '-webkit-' + a + a;
+
+ case 978:
+ return '-webkit-' + a + '-moz-' + a + a;
+
+ case 1019:
+ case 983:
+ return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;
+
+ case 883:
+ if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;
+ if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;
+ break;
+
+ case 932:
+ if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {
+ case 103:
+ return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;
+
+ case 115:
+ return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;
+
+ case 98:
+ return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;
+ }
+ return '-webkit-' + a + '-ms-' + a + a;
+
+ case 964:
+ return '-webkit-' + a + '-ms-flex-' + a + a;
+
+ case 1023:
+ if (99 !== a.charCodeAt(8)) break;
+ b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');
+ return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;
+
+ case 1005:
+ return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;
+
+ case 1e3:
+ b = a.substring(13).trim();
+ c = b.indexOf('-') + 1;
+
+ switch (b.charCodeAt(0) + b.charCodeAt(c)) {
+ case 226:
+ b = a.replace(G, 'tb');
+ break;
+
+ case 232:
+ b = a.replace(G, 'tb-rl');
+ break;
+
+ case 220:
+ b = a.replace(G, 'lr');
+ break;
+
+ default:
+ return a;
+ }
+
+ return '-webkit-' + a + '-ms-' + b + a;
+
+ case 1017:
+ if (-1 === a.indexOf('sticky', 9)) break;
+
+ case 975:
+ c = (a = d).length - 10;
+ b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();
+
+ switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {
+ case 203:
+ if (111 > b.charCodeAt(8)) break;
+
+ case 115:
+ a = a.replace(b, '-webkit-' + b) + ';' + a;
+ break;
+
+ case 207:
+ case 102:
+ a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;
+ }
+
+ return a + ';';
+
+ case 938:
+ if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {
+ case 105:
+ return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;
+
+ case 115:
+ return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;
+
+ default:
+ return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;
+ }
+ break;
+
+ case 973:
+ case 989:
+ if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;
+
+ case 931:
+ case 953:
+ if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;
+ break;
+
+ case 962:
+ if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;
+ }
+
+ return a;
+ }
+
+ function L(d, c) {
+ var e = d.indexOf(1 === c ? ':' : '{'),
+ h = d.substring(0, 3 !== c ? e : 10);
+ e = d.substring(e + 1, d.length - 1);
+ return R(2 !== c ? h : h.replace(na, '$1'), e, c);
+ }
+
+ function ea(d, c) {
+ var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));
+ return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';
+ }
+
+ function H(d, c, e, h, a, m, b, v, n, q) {
+ for (var g = 0, x = c, w; g < A; ++g) {
+ switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {
+ case void 0:
+ case !1:
+ case !0:
+ case null:
+ break;
+
+ default:
+ x = w;
+ }
+ }
+
+ if (x !== c) return x;
+ }
+
+ function T(d) {
+ switch (d) {
+ case void 0:
+ case null:
+ A = S.length = 0;
+ break;
+
+ default:
+ if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {
+ T(d[c]);
+ } else Y = !!d | 0;
+ }
+
+ return T;
+ }
+
+ function U(d) {
+ d = d.prefix;
+ void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);
+ return U;
+ }
+
+ function B(d, c) {
+ var e = d;
+ 33 > e.charCodeAt(0) && (e = e.trim());
+ V = e;
+ e = [V];
+
+ if (0 < A) {
+ var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);
+ void 0 !== h && 'string' === typeof h && (c = h);
+ }
+
+ var a = M(O, e, c, 0, 0);
+ 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));
+ V = '';
+ E = 0;
+ z = D = 1;
+ return a;
+ }
+
+ var ca = /^\0+/g,
+ N = /[\0\r\f]/g,
+ aa = /: */g,
+ ka = /zoo|gra/,
+ ma = /([,: ])(transform)/g,
+ ia = /,\r+?/g,
+ F = /([\t\r\n ])*\f?&/g,
+ fa = /@(k\w+)\s*(\S*)\s*/,
+ Q = /::(place)/g,
+ ha = /:(read-only)/g,
+ G = /[svh]\w+-[tblr]{2}/,
+ da = /\(\s*(.*)\s*\)/g,
+ oa = /([\s\S]*?);/g,
+ ba = /-self|flex-/g,
+ na = /[^]*?(:[rp][el]a[\w-]+)[^]*/,
+ la = /stretch|:\s*\w+\-(?:conte|avail)/,
+ ja = /([^-])(image-set\()/,
+ z = 1,
+ D = 1,
+ E = 0,
+ w = 1,
+ O = [],
+ S = [],
+ A = 0,
+ R = null,
+ Y = 0,
+ V = '';
+ B.use = T;
+ B.set = U;
+ void 0 !== W && U(W);
+ return B;
+}
+
+/* harmony default export */ var stylis_browser_esm = (stylis_min);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/weak-memoize/dist/weak-memoize.browser.esm.js
+var weakMemoize = function weakMemoize(func) {
+ // $FlowFixMe flow doesn't include all non-primitive types as allowed for weakmaps
+ var cache = new WeakMap();
+ return function (arg) {
+ if (cache.has(arg)) {
+ // $FlowFixMe
+ return cache.get(arg);
+ }
+
+ var ret = func(arg);
+ cache.set(arg, ret);
+ return ret;
+ };
+};
+
+/* harmony default export */ var weak_memoize_browser_esm = (weakMemoize);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/cache/dist/cache.browser.esm.js
+
+
+
+
+// https://github.com/thysultan/stylis.js/tree/master/plugins/rule-sheet
+// inlined to avoid umd wrapper and peerDep warnings/installing stylis
+// since we use stylis after closure compiler
+var delimiter = '/*|*/';
+var needle = delimiter + '}';
+
+function toSheet(block) {
+ if (block) {
+ Sheet.current.insert(block + '}');
+ }
+}
+
+var Sheet = {
+ current: null
+};
+var ruleSheet = function ruleSheet(context, content, selectors, parents, line, column, length, ns, depth, at) {
+ switch (context) {
+ // property
+ case 1:
+ {
+ switch (content.charCodeAt(0)) {
+ case 64:
+ {
+ // @import
+ Sheet.current.insert(content + ';');
+ return '';
+ }
+ // charcode for l
+
+ case 108:
+ {
+ // charcode for b
+ // this ignores label
+ if (content.charCodeAt(2) === 98) {
+ return '';
+ }
+ }
+ }
+
+ break;
+ }
+ // selector
+
+ case 2:
+ {
+ if (ns === 0) return content + delimiter;
+ break;
+ }
+ // at-rule
+
+ case 3:
+ {
+ switch (ns) {
+ // @font-face, @page
+ case 102:
+ case 112:
+ {
+ Sheet.current.insert(selectors[0] + content);
+ return '';
+ }
+
+ default:
+ {
+ return content + (at === 0 ? delimiter : '');
+ }
+ }
+ }
+
+ case -2:
+ {
+ content.split(needle).forEach(toSheet);
+ }
+ }
+};
+
+var cache_browser_esm_createCache = function createCache(options) {
+ if (options === undefined) options = {};
+ var key = options.key || 'css';
+ var stylisOptions;
+
+ if (options.prefix !== undefined) {
+ stylisOptions = {
+ prefix: options.prefix
+ };
+ }
+
+ var stylis = new stylis_browser_esm(stylisOptions);
+
+ if (false) {}
+
+ var inserted = {}; // $FlowFixMe
+
+ var container;
+
+ {
+ container = options.container || document.head;
+ var nodes = document.querySelectorAll("style[data-emotion-" + key + "]");
+ Array.prototype.forEach.call(nodes, function (node) {
+ var attrib = node.getAttribute("data-emotion-" + key); // $FlowFixMe
+
+ attrib.split(' ').forEach(function (id) {
+ inserted[id] = true;
+ });
+
+ if (node.parentNode !== container) {
+ container.appendChild(node);
+ }
+ });
+ }
+
+ var _insert;
+
+ {
+ stylis.use(options.stylisPlugins)(ruleSheet);
+
+ _insert = function insert(selector, serialized, sheet, shouldCache) {
+ var name = serialized.name;
+ Sheet.current = sheet;
+
+ if (false) { var map; }
+
+ stylis(selector, serialized.styles);
+
+ if (shouldCache) {
+ cache.inserted[name] = true;
+ }
+ };
+ }
+
+ if (false) { var commentEnd, commentStart; }
+
+ var cache = {
+ key: key,
+ sheet: new StyleSheet({
+ key: key,
+ container: container,
+ nonce: options.nonce,
+ speedy: options.speedy
+ }),
+ nonce: options.nonce,
+ inserted: inserted,
+ registered: {},
+ insert: _insert
+ };
+ return cache;
+};
+
+/* harmony default export */ var cache_browser_esm = (cache_browser_esm_createCache);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/utils/dist/utils.browser.esm.js
+var isBrowser = "object" !== 'undefined';
+function getRegisteredStyles(registered, registeredStyles, classNames) {
+ var rawClassName = '';
+ classNames.split(' ').forEach(function (className) {
+ if (registered[className] !== undefined) {
+ registeredStyles.push(registered[className]);
+ } else {
+ rawClassName += className + " ";
+ }
+ });
+ return rawClassName;
+}
+var insertStyles = function insertStyles(cache, serialized, isStringTag) {
+ var className = cache.key + "-" + serialized.name;
+
+ if ( // we only need to add the styles to the registered cache if the
+ // class name could be used further down
+ // the tree but if it's a string tag, we know it won't
+ // so we don't have to add it to registered cache.
+ // this improves memory usage since we can avoid storing the whole style string
+ (isStringTag === false || // we need to always store it if we're in compat mode and
+ // in node since emotion-server relies on whether a style is in
+ // the registered cache to know whether a style is global or not
+ // also, note that this check will be dead code eliminated in the browser
+ isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) {
+ cache.registered[className] = serialized.styles;
+ }
+
+ if (cache.inserted[serialized.name] === undefined) {
+ var current = serialized;
+
+ do {
+ var maybeStyles = cache.insert("." + className, current, cache.sheet, true);
+
+ current = current.next;
+ } while (current !== undefined);
+ }
+};
+
+
+
+// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/hash.browser.esm.js
+/* eslint-disable */
+// Inspired by https://github.com/garycourt/murmurhash-js
+// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86
+function murmur2(str) {
+ // 'm' and 'r' are mixing constants generated offline.
+ // They're not really 'magic', they just happen to work well.
+ // const m = 0x5bd1e995;
+ // const r = 24;
+ // Initialize the hash
+ var h = 0; // Mix 4 bytes at a time into the hash
+
+ var k,
+ i = 0,
+ len = str.length;
+
+ for (; len >= 4; ++i, len -= 4) {
+ k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
+ k =
+ /* Math.imul(k, m): */
+ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);
+ k ^=
+ /* k >>> r: */
+ k >>> 24;
+ h =
+ /* Math.imul(k, m): */
+ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^
+ /* Math.imul(h, m): */
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
+ } // Handle the last few bytes of the input array
+
+
+ switch (len) {
+ case 3:
+ h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
+
+ case 2:
+ h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
+
+ case 1:
+ h ^= str.charCodeAt(i) & 0xff;
+ h =
+ /* Math.imul(h, m): */
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
+ } // Do a few final mixes of the hash to ensure the last few
+ // bytes are well-incorporated.
+
+
+ h ^= h >>> 13;
+ h =
+ /* Math.imul(h, m): */
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
+ return ((h ^ h >>> 15) >>> 0).toString(36);
+}
+
+/* harmony default export */ var hash_browser_esm = (murmur2);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/unitless/dist/unitless.browser.esm.js
+var unitlessKeys = {
+ animationIterationCount: 1,
+ borderImageOutset: 1,
+ borderImageSlice: 1,
+ borderImageWidth: 1,
+ boxFlex: 1,
+ boxFlexGroup: 1,
+ boxOrdinalGroup: 1,
+ columnCount: 1,
+ columns: 1,
+ flex: 1,
+ flexGrow: 1,
+ flexPositive: 1,
+ flexShrink: 1,
+ flexNegative: 1,
+ flexOrder: 1,
+ gridRow: 1,
+ gridRowEnd: 1,
+ gridRowSpan: 1,
+ gridRowStart: 1,
+ gridColumn: 1,
+ gridColumnEnd: 1,
+ gridColumnSpan: 1,
+ gridColumnStart: 1,
+ msGridRow: 1,
+ msGridRowSpan: 1,
+ msGridColumn: 1,
+ msGridColumnSpan: 1,
+ fontWeight: 1,
+ lineHeight: 1,
+ opacity: 1,
+ order: 1,
+ orphans: 1,
+ tabSize: 1,
+ widows: 1,
+ zIndex: 1,
+ zoom: 1,
+ WebkitLineClamp: 1,
+ // SVG-related properties
+ fillOpacity: 1,
+ floodOpacity: 1,
+ stopOpacity: 1,
+ strokeDasharray: 1,
+ strokeDashoffset: 1,
+ strokeMiterlimit: 1,
+ strokeOpacity: 1,
+ strokeWidth: 1
+};
+
+/* harmony default export */ var unitless_browser_esm = (unitlessKeys);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/serialize/dist/serialize.browser.esm.js
+
+
+
+
+var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
+var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).";
+var hyphenateRegex = /[A-Z]|^ms/g;
+var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
+
+var isCustomProperty = function isCustomProperty(property) {
+ return property.charCodeAt(1) === 45;
+};
+
+var isProcessableValue = function isProcessableValue(value) {
+ return value != null && typeof value !== 'boolean';
+};
+
+var processStyleName = memoize_browser_esm(function (styleName) {
+ return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();
+});
+
+var serialize_browser_esm_processStyleValue = function processStyleValue(key, value) {
+ switch (key) {
+ case 'animation':
+ case 'animationName':
+ {
+ if (typeof value === 'string') {
+ return value.replace(animationRegex, function (match, p1, p2) {
+ cursor = {
+ name: p1,
+ styles: p2,
+ next: cursor
+ };
+ return p1;
+ });
+ }
+ }
+ }
+
+ if (unitless_browser_esm[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {
+ return value + 'px';
+ }
+
+ return value;
+};
+
+if (false) { var hyphenatedCache, hyphenPattern, msPattern, oldProcessStyleValue, contentValues, contentValuePattern; }
+
+var shouldWarnAboutInterpolatingClassNameFromCss = true;
+
+function handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {
+ if (interpolation == null) {
+ return '';
+ }
+
+ if (interpolation.__emotion_styles !== undefined) {
+ if (false) {}
+
+ return interpolation;
+ }
+
+ switch (typeof interpolation) {
+ case 'boolean':
+ {
+ return '';
+ }
+
+ case 'object':
+ {
+ if (interpolation.anim === 1) {
+ cursor = {
+ name: interpolation.name,
+ styles: interpolation.styles,
+ next: cursor
+ };
+ return interpolation.name;
+ }
+
+ if (interpolation.styles !== undefined) {
+ var next = interpolation.next;
+
+ if (next !== undefined) {
+ // not the most efficient thing ever but this is a pretty rare case
+ // and there will be very few iterations of this generally
+ while (next !== undefined) {
+ cursor = {
+ name: next.name,
+ styles: next.styles,
+ next: cursor
+ };
+ next = next.next;
+ }
+ }
+
+ var styles = interpolation.styles + ";";
+
+ if (false) {}
+
+ return styles;
+ }
+
+ return createStringFromObject(mergedProps, registered, interpolation);
+ }
+
+ case 'function':
+ {
+ if (mergedProps !== undefined) {
+ var previousCursor = cursor;
+ var result = interpolation(mergedProps);
+ cursor = previousCursor;
+ return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);
+ } else if (false) {}
+
+ break;
+ }
+
+ case 'string':
+ if (false) { var replaced, matched; }
+
+ break;
+ } // finalize string values (regular strings and functions interpolated into css calls)
+
+
+ if (registered == null) {
+ return interpolation;
+ }
+
+ var cached = registered[interpolation];
+
+ if (false) {}
+
+ return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;
+}
+
+function createStringFromObject(mergedProps, registered, obj) {
+ var string = '';
+
+ if (Array.isArray(obj)) {
+ for (var i = 0; i < obj.length; i++) {
+ string += handleInterpolation(mergedProps, registered, obj[i], false);
+ }
+ } else {
+ for (var _key in obj) {
+ var value = obj[_key];
+
+ if (typeof value !== 'object') {
+ if (registered != null && registered[value] !== undefined) {
+ string += _key + "{" + registered[value] + "}";
+ } else if (isProcessableValue(value)) {
+ string += processStyleName(_key) + ":" + serialize_browser_esm_processStyleValue(_key, value) + ";";
+ }
+ } else {
+ if (_key === 'NO_COMPONENT_SELECTOR' && "production" !== 'production') {
+ throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');
+ }
+
+ if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {
+ for (var _i = 0; _i < value.length; _i++) {
+ if (isProcessableValue(value[_i])) {
+ string += processStyleName(_key) + ":" + serialize_browser_esm_processStyleValue(_key, value[_i]) + ";";
+ }
+ }
} else {
- this.contentNode.current.focus();
- }
-
- return;
- }
-
- if (focusOnMount === 'container') {
- // Focus the popover panel itself so items in the popover are easily
- // accessed via keyboard navigation.
- this.contentNode.current.focus();
- }
- }
- }, {
- key: "getAnchorRect",
- value: function getAnchorRect(anchor) {
- var _this$props = this.props,
- getAnchorRect = _this$props.getAnchorRect,
- anchorRect = _this$props.anchorRect;
-
- if (anchorRect) {
- return anchorRect;
- }
-
- if (getAnchorRect) {
- return getAnchorRect(anchor);
- }
-
- if (!anchor || !anchor.parentNode) {
- return;
- }
-
- var rect = anchor.parentNode.getBoundingClientRect(); // subtract padding
-
- var _window$getComputedSt = window.getComputedStyle(anchor.parentNode),
- paddingTop = _window$getComputedSt.paddingTop,
- paddingBottom = _window$getComputedSt.paddingBottom;
-
- var topPad = parseInt(paddingTop, 10);
- var bottomPad = parseInt(paddingBottom, 10);
- return {
- x: rect.left,
- y: rect.top + topPad,
- width: rect.width,
- height: rect.height - topPad - bottomPad,
- left: rect.left,
- right: rect.right,
- top: rect.top + topPad,
- bottom: rect.bottom - bottomPad
- };
- }
- }, {
- key: "computePopoverPosition",
- value: function computePopoverPosition(popoverSize, anchorRect) {
- var _this$props2 = this.props,
- _this$props2$position = _this$props2.position,
- position = _this$props2$position === void 0 ? 'top' : _this$props2$position,
- expandOnMobile = _this$props2.expandOnMobile;
-
- var newPopoverPosition = utils_computePopoverPosition(anchorRect, popoverSize, position, expandOnMobile);
-
- if (this.state.yAxis !== newPopoverPosition.yAxis || this.state.xAxis !== newPopoverPosition.xAxis || this.state.popoverLeft !== newPopoverPosition.popoverLeft || this.state.popoverTop !== newPopoverPosition.popoverTop || this.state.contentHeight !== newPopoverPosition.contentHeight || this.state.contentWidth !== newPopoverPosition.contentWidth || this.state.isMobile !== newPopoverPosition.isMobile) {
- this.setState(newPopoverPosition);
- }
- }
- }, {
- key: "maybeClose",
- value: function maybeClose(event) {
- var _this$props3 = this.props,
- onKeyDown = _this$props3.onKeyDown,
- onClose = _this$props3.onClose; // Close on escape
-
- if (event.keyCode === external_this_wp_keycodes_["ESCAPE"] && onClose) {
- event.stopPropagation();
- onClose();
- } // Preserve original content prop behavior
-
-
- if (onKeyDown) {
- onKeyDown(event);
- }
- }
- }, {
- key: "render",
- value: function render() {
- var _this3 = this;
-
- var _this$props4 = this.props,
- headerTitle = _this$props4.headerTitle,
- onClose = _this$props4.onClose,
- children = _this$props4.children,
- className = _this$props4.className,
- _this$props4$onClickO = _this$props4.onClickOutside,
- onClickOutside = _this$props4$onClickO === void 0 ? onClose : _this$props4$onClickO,
- noArrow = _this$props4.noArrow,
- position = _this$props4.position,
- range = _this$props4.range,
- focusOnMount = _this$props4.focusOnMount,
- getAnchorRect = _this$props4.getAnchorRect,
- expandOnMobile = _this$props4.expandOnMobile,
- _this$props4$animate = _this$props4.animate,
- animate = _this$props4$animate === void 0 ? true : _this$props4$animate,
- contentProps = Object(objectWithoutProperties["a" /* default */])(_this$props4, ["headerTitle", "onClose", "children", "className", "onClickOutside", "noArrow", "position", "range", "focusOnMount", "getAnchorRect", "expandOnMobile", "animate"]);
-
- var _this$state = this.state,
- popoverLeft = _this$state.popoverLeft,
- popoverTop = _this$state.popoverTop,
- yAxis = _this$state.yAxis,
- xAxis = _this$state.xAxis,
- contentHeight = _this$state.contentHeight,
- contentWidth = _this$state.contentWidth,
- popoverSize = _this$state.popoverSize,
- isMobile = _this$state.isMobile,
- isReadyToAnimate = _this$state.isReadyToAnimate; // Compute the animation position
-
- var yAxisMapping = {
- top: 'bottom',
- bottom: 'top'
- };
- var xAxisMapping = {
- left: 'right',
- right: 'left'
- };
- var animateYAxis = yAxisMapping[yAxis] || 'middle';
- var animateXAxis = xAxisMapping[xAxis] || 'center';
- var classes = classnames_default()('components-popover', className, 'is-' + yAxis, 'is-' + xAxis, {
- 'is-mobile': isMobile,
- 'is-without-arrow': noArrow || xAxis === 'center' && yAxis === 'middle'
- }); // Disable reason: We care to capture the _bubbled_ events from inputs
- // within popover as inferring close intent.
-
- /* eslint-disable jsx-a11y/no-static-element-interactions */
-
- var content = Object(external_this_wp_element_["createElement"])(detect_outside, {
- onClickOutside: onClickOutside
- }, Object(external_this_wp_element_["createElement"])(build_module_animate, {
- type: animate && isReadyToAnimate ? 'appear' : null,
- options: {
- origin: animateYAxis + ' ' + animateXAxis
- }
- }, function (_ref2) {
- var animateClassName = _ref2.className;
- return Object(external_this_wp_element_["createElement"])(isolated_event_container, Object(esm_extends["a" /* default */])({
- className: classnames_default()(classes, animateClassName),
- style: {
- top: !isMobile && popoverTop ? popoverTop + 'px' : undefined,
- left: !isMobile && popoverLeft ? popoverLeft + 'px' : undefined,
- visibility: popoverSize ? undefined : 'hidden'
- }
- }, contentProps, {
- onKeyDown: _this3.maybeClose
- }), isMobile && Object(external_this_wp_element_["createElement"])("div", {
- className: "components-popover__header"
- }, Object(external_this_wp_element_["createElement"])("span", {
- className: "components-popover__header-title"
- }, headerTitle), Object(external_this_wp_element_["createElement"])(icon_button, {
- className: "components-popover__close",
- icon: "no-alt",
- onClick: onClose
- })), Object(external_this_wp_element_["createElement"])("div", {
- ref: _this3.contentNode,
- className: "components-popover__content",
- style: {
- maxHeight: !isMobile && contentHeight ? contentHeight + 'px' : undefined,
- maxWidth: !isMobile && contentWidth ? contentWidth + 'px' : undefined
- },
- tabIndex: "-1"
- }, children));
+ var interpolated = handleInterpolation(mergedProps, registered, value, false);
+
+ switch (_key) {
+ case 'animation':
+ case 'animationName':
+ {
+ string += processStyleName(_key) + ":" + interpolated + ";";
+ break;
+ }
+
+ default:
+ {
+ if (false) {}
+
+ string += _key + "{" + interpolated + "}";
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return string;
+}
+
+var labelPattern = /label:\s*([^\s;\n{]+)\s*;/g;
+var sourceMapPattern;
+
+if (false) {} // this is the cursor for keyframes
+// keyframes are stored on the SerializedStyles object as a linked list
+
+
+var cursor;
+var serialize_browser_esm_serializeStyles = function serializeStyles(args, registered, mergedProps) {
+ if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {
+ return args[0];
+ }
+
+ var stringMode = true;
+ var styles = '';
+ cursor = undefined;
+ var strings = args[0];
+
+ if (strings == null || strings.raw === undefined) {
+ stringMode = false;
+ styles += handleInterpolation(mergedProps, registered, strings, false);
+ } else {
+ if (false) {}
+
+ styles += strings[0];
+ } // we start at 1 since we've already handled the first arg
+
+
+ for (var i = 1; i < args.length; i++) {
+ styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);
+
+ if (stringMode) {
+ if (false) {}
+
+ styles += strings[i];
+ }
+ }
+
+ var sourceMap;
+
+ if (false) {} // using a global regex with .exec is stateful so lastIndex has to be reset each time
+
+
+ labelPattern.lastIndex = 0;
+ var identifierName = '';
+ var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5
+
+ while ((match = labelPattern.exec(styles)) !== null) {
+ identifierName += '-' + // $FlowFixMe we know it's not null
+ match[1];
+ }
+
+ var name = hash_browser_esm(styles) + identifierName;
+
+ if (false) {}
+
+ return {
+ name: name,
+ styles: styles,
+ next: cursor
+ };
+};
+
+
+
+// CONCATENATED MODULE: ./node_modules/@emotion/css/dist/css.browser.esm.js
+
+
+function css_browser_esm_css() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return serialize_browser_esm_serializeStyles(args);
+}
+
+/* harmony default export */ var css_browser_esm = (css_browser_esm_css);
+
+// CONCATENATED MODULE: ./node_modules/@emotion/core/dist/core.browser.esm.js
+
+
+
+
+
+
+
+
+
+var EmotionCacheContext = Object(external_this_React_["createContext"])( // we're doing this to avoid preconstruct's dead code elimination in this one case
+// because this module is primarily intended for the browser and node
+// but it's also required in react native and similar environments sometimes
+// and we could have a special build just for that
+// but this is much easier and the native packages
+// might use a different theme context in the future anyway
+typeof HTMLElement !== 'undefined' ? cache_browser_esm() : null);
+var ThemeContext = Object(external_this_React_["createContext"])({});
+var CacheProvider = EmotionCacheContext.Provider;
+
+var core_browser_esm_withEmotionCache = function withEmotionCache(func) {
+ var render = function render(props, ref) {
+ return Object(external_this_React_["createElement"])(EmotionCacheContext.Consumer, null, function (cache) {
+ return func(props, cache, ref);
+ });
+ }; // $FlowFixMe
+
+
+ return Object(external_this_React_["forwardRef"])(render);
+};
+
+// thus we only need to replace what is a valid character for JS, but not for CSS
+
+var sanitizeIdentifier = function sanitizeIdentifier(identifier) {
+ return identifier.replace(/\$/g, '-');
+};
+
+var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';
+var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';
+var core_browser_esm_hasOwnProperty = Object.prototype.hasOwnProperty;
+
+var core_browser_esm_render = function render(cache, props, theme, ref) {
+ var cssProp = theme === null ? props.css : props.css(theme); // so that using `css` from `emotion` and passing the result to the css prop works
+ // not passing the registered cache to serializeStyles because it would
+ // make certain babel optimisations not possible
+
+ if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {
+ cssProp = cache.registered[cssProp];
+ }
+
+ var type = props[typePropName];
+ var registeredStyles = [cssProp];
+ var className = '';
+
+ if (typeof props.className === 'string') {
+ className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
+ } else if (props.className != null) {
+ className = props.className + " ";
+ }
+
+ var serialized = serialize_browser_esm_serializeStyles(registeredStyles);
+
+ if (false) { var labelFromStack; }
+
+ var rules = insertStyles(cache, serialized, typeof type === 'string');
+ className += cache.key + "-" + serialized.name;
+ var newProps = {};
+
+ for (var key in props) {
+ if (core_browser_esm_hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( true || false)) {
+ newProps[key] = props[key];
+ }
+ }
+
+ newProps.ref = ref;
+ newProps.className = className;
+ var ele = Object(external_this_React_["createElement"])(type, newProps);
+
+ return ele;
+};
+
+var Emotion =
+/* #__PURE__ */
+core_browser_esm_withEmotionCache(function (props, cache, ref) {
+ // use Context.read for the theme when it's stable
+ if (typeof props.css === 'function') {
+ return Object(external_this_React_["createElement"])(ThemeContext.Consumer, null, function (theme) {
+ return core_browser_esm_render(cache, props, theme, ref);
+ });
+ }
+
+ return core_browser_esm_render(cache, props, null, ref);
+});
+
+if (false) {} // $FlowFixMe
+
+
+var core_browser_esm_jsx = function jsx(type, props) {
+ var args = arguments;
+
+ if (props == null || !core_browser_esm_hasOwnProperty.call(props, 'css')) {
+ // $FlowFixMe
+ return external_this_React_["createElement"].apply(undefined, args);
+ }
+
+ if (false) {}
+
+ var argsLength = args.length;
+ var createElementArgArray = new Array(argsLength);
+ createElementArgArray[0] = Emotion;
+ var newProps = {};
+
+ for (var key in props) {
+ if (core_browser_esm_hasOwnProperty.call(props, key)) {
+ newProps[key] = props[key];
+ }
+ }
+
+ newProps[typePropName] = type;
+
+ if (false) { var match, error; }
+
+ createElementArgArray[1] = newProps;
+
+ for (var i = 2; i < argsLength; i++) {
+ createElementArgArray[i] = args[i];
+ } // $FlowFixMe
+
+
+ return external_this_React_["createElement"].apply(null, createElementArgArray);
+};
+
+var warnedAboutCssPropForGlobal = false;
+var Global =
+/* #__PURE__ */
+core_browser_esm_withEmotionCache(function (props, cache) {
+ if (false) {}
+
+ var styles = props.styles;
+
+ if (typeof styles === 'function') {
+ return Object(external_this_React_["createElement"])(ThemeContext.Consumer, null, function (theme) {
+ var serialized = serialize_browser_esm_serializeStyles([styles(theme)]);
+ return Object(external_this_React_["createElement"])(core_browser_esm_InnerGlobal, {
+ serialized: serialized,
+ cache: cache
+ });
+ });
+ }
+
+ var serialized = serialize_browser_esm_serializeStyles([styles]);
+ return Object(external_this_React_["createElement"])(core_browser_esm_InnerGlobal, {
+ serialized: serialized,
+ cache: cache
+ });
+});
+
+// maintain place over rerenders.
+// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild
+// initial client-side render from SSR, use place of hydrating tag
+var core_browser_esm_InnerGlobal =
+/*#__PURE__*/
+function (_React$Component) {
+ inheritsLoose_default()(InnerGlobal, _React$Component);
+
+ function InnerGlobal(props, context, updater) {
+ return _React$Component.call(this, props, context, updater) || this;
+ }
+
+ var _proto = InnerGlobal.prototype;
+
+ _proto.componentDidMount = function componentDidMount() {
+ this.sheet = new StyleSheet({
+ key: this.props.cache.key + "-global",
+ nonce: this.props.cache.sheet.nonce,
+ container: this.props.cache.sheet.container
+ }); // $FlowFixMe
+
+ var node = document.querySelector("style[data-emotion-" + this.props.cache.key + "=\"" + this.props.serialized.name + "\"]");
+
+ if (node !== null) {
+ this.sheet.tags.push(node);
+ }
+
+ if (this.props.cache.sheet.tags.length) {
+ this.sheet.before = this.props.cache.sheet.tags[0];
+ }
+
+ this.insertStyles();
+ };
+
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
+ if (prevProps.serialized.name !== this.props.serialized.name) {
+ this.insertStyles();
+ }
+ };
+
+ _proto.insertStyles = function insertStyles$1() {
+ if (this.props.serialized.next !== undefined) {
+ // insert keyframes
+ insertStyles(this.props.cache, this.props.serialized.next, true);
+ }
+
+ if (this.sheet.tags.length) {
+ // if this doesn't exist then it will be null so the style element will be appended
+ var element = this.sheet.tags[this.sheet.tags.length - 1].nextElementSibling;
+ this.sheet.before = element;
+ this.sheet.flush();
+ }
+
+ this.props.cache.insert("", this.props.serialized, this.sheet, false);
+ };
+
+ _proto.componentWillUnmount = function componentWillUnmount() {
+ this.sheet.flush();
+ };
+
+ _proto.render = function render() {
+
+ return null;
+ };
+
+ return InnerGlobal;
+}(external_this_React_["Component"]);
+
+var core_browser_esm_keyframes = function keyframes() {
+ var insertable = css_browser_esm.apply(void 0, arguments);
+ var name = "animation-" + insertable.name; // $FlowFixMe
+
+ return {
+ name: name,
+ styles: "@keyframes " + name + "{" + insertable.styles + "}",
+ anim: 1,
+ toString: function toString() {
+ return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
+ }
+ };
+};
+
+var core_browser_esm_classnames = function classnames(args) {
+ var len = args.length;
+ var i = 0;
+ var cls = '';
+
+ for (; i < len; i++) {
+ var arg = args[i];
+ if (arg == null) continue;
+ var toAdd = void 0;
+
+ switch (typeof arg) {
+ case 'boolean':
+ break;
+
+ case 'object':
+ {
+ if (Array.isArray(arg)) {
+ toAdd = classnames(arg);
+ } else {
+ toAdd = '';
+
+ for (var k in arg) {
+ if (arg[k] && k) {
+ toAdd && (toAdd += ' ');
+ toAdd += k;
+ }
+ }
+ }
+
+ break;
+ }
+
+ default:
+ {
+ toAdd = arg;
+ }
+ }
+
+ if (toAdd) {
+ cls && (cls += ' ');
+ cls += toAdd;
+ }
+ }
+
+ return cls;
+};
+
+function merge(registered, css, className) {
+ var registeredStyles = [];
+ var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
+
+ if (registeredStyles.length < 2) {
+ return className;
+ }
+
+ return rawClassName + css(registeredStyles);
+}
+
+var ClassNames = core_browser_esm_withEmotionCache(function (props, context) {
+ return Object(external_this_React_["createElement"])(ThemeContext.Consumer, null, function (theme) {
+ var hasRendered = false;
+
+ var css = function css() {
+ if (hasRendered && "production" !== 'production') {
+ throw new Error('css can only be used during render');
+ }
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ var serialized = serialize_browser_esm_serializeStyles(args, context.registered);
+
+ {
+ insertStyles(context, serialized, false);
+ }
+
+ return context.key + "-" + serialized.name;
+ };
+
+ var cx = function cx() {
+ if (hasRendered && "production" !== 'production') {
+ throw new Error('cx can only be used during render');
+ }
+
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ return merge(context.registered, css, core_browser_esm_classnames(args));
+ };
+
+ var content = {
+ css: css,
+ cx: cx,
+ theme: theme
+ };
+ var ele = props.children(content);
+ hasRendered = true;
+
+ return ele;
+ });
+});
+
+
+
+// CONCATENATED MODULE: ./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.js
+
+
+
+
+
+
+
+var testOmitPropsOnStringTag = is_prop_valid_browser_esm;
+
+var testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {
+ return key !== 'theme' && key !== 'innerRef';
+};
+
+var getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {
+ return typeof tag === 'string' && // 96 is one less than the char code
+ // for "a" so this is checking that
+ // it's a lowercase character
+ tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;
+};
+
+function styled_base_browser_esm_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function styled_base_browser_esm_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { styled_base_browser_esm_ownKeys(source, true).forEach(function (key) { defineProperty_default()(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { styled_base_browser_esm_ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+var styled_base_browser_esm_ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
+
+var styled_base_browser_esm_createStyled = function createStyled(tag, options) {
+ if (false) {}
+
+ var identifierName;
+ var shouldForwardProp;
+ var targetClassName;
+
+ if (options !== undefined) {
+ identifierName = options.label;
+ targetClassName = options.target;
+ shouldForwardProp = tag.__emotion_forwardProp && options.shouldForwardProp ? function (propName) {
+ return tag.__emotion_forwardProp(propName) && // $FlowFixMe
+ options.shouldForwardProp(propName);
+ } : options.shouldForwardProp;
+ }
+
+ var isReal = tag.__emotion_real === tag;
+ var baseTag = isReal && tag.__emotion_base || tag;
+
+ if (typeof shouldForwardProp !== 'function' && isReal) {
+ shouldForwardProp = tag.__emotion_forwardProp;
+ }
+
+ var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);
+ var shouldUseAs = !defaultShouldForwardProp('as');
+ return function () {
+ var args = arguments;
+ var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];
+
+ if (identifierName !== undefined) {
+ styles.push("label:" + identifierName + ";");
+ }
+
+ if (args[0] == null || args[0].raw === undefined) {
+ styles.push.apply(styles, args);
+ } else {
+ if (false) {}
+
+ styles.push(args[0][0]);
+ var len = args.length;
+ var i = 1;
+
+ for (; i < len; i++) {
+ if (false) {}
+
+ styles.push(args[i], args[0][i]);
+ }
+ } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class
+
+
+ var Styled = core_browser_esm_withEmotionCache(function (props, context, ref) {
+ return Object(external_this_React_["createElement"])(ThemeContext.Consumer, null, function (theme) {
+ var finalTag = shouldUseAs && props.as || baseTag;
+ var className = '';
+ var classInterpolations = [];
+ var mergedProps = props;
+
+ if (props.theme == null) {
+ mergedProps = {};
+
+ for (var key in props) {
+ mergedProps[key] = props[key];
+ }
+
+ mergedProps.theme = theme;
+ }
+
+ if (typeof props.className === 'string') {
+ className = getRegisteredStyles(context.registered, classInterpolations, props.className);
+ } else if (props.className != null) {
+ className = props.className + " ";
+ }
+
+ var serialized = serialize_browser_esm_serializeStyles(styles.concat(classInterpolations), context.registered, mergedProps);
+ var rules = insertStyles(context, serialized, typeof finalTag === 'string');
+ className += context.key + "-" + serialized.name;
+
+ if (targetClassName !== undefined) {
+ className += " " + targetClassName;
+ }
+
+ var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;
+ var newProps = {};
+
+ for (var _key in props) {
+ if (shouldUseAs && _key === 'as') continue;
+
+ if ( // $FlowFixMe
+ finalShouldForwardProp(_key)) {
+ newProps[_key] = props[_key];
+ }
+ }
+
+ newProps.className = className;
+ newProps.ref = ref || props.innerRef;
+
+ if (false) {}
+
+ var ele = Object(external_this_React_["createElement"])(finalTag, newProps);
+
+ return ele;
+ });
+ });
+ Styled.displayName = identifierName !== undefined ? identifierName : "Styled(" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + ")";
+ Styled.defaultProps = tag.defaultProps;
+ Styled.__emotion_real = Styled;
+ Styled.__emotion_base = baseTag;
+ Styled.__emotion_styles = styles;
+ Styled.__emotion_forwardProp = shouldForwardProp;
+ Object.defineProperty(Styled, 'toString', {
+ value: function value() {
+ if (targetClassName === undefined && "production" !== 'production') {
+ return 'NO_COMPONENT_SELECTOR';
+ } // $FlowFixMe: coerce undefined to string
+
+
+ return "." + targetClassName;
+ }
+ });
+
+ Styled.withComponent = function (nextTag, nextOptions) {
+ return createStyled(nextTag, nextOptions !== undefined ? styled_base_browser_esm_objectSpread({}, options || {}, {}, nextOptions) : options).apply(void 0, styles);
+ };
+
+ return Styled;
+ };
+};
+
+/* harmony default export */ var styled_base_browser_esm = (styled_base_browser_esm_createStyled);
+
+// EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js
+var tinycolor = __webpack_require__(66);
+var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/colors-values.js
+
+
+function colors_values_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function colors_values_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { colors_values_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { colors_values_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+var BASE = {
+ black: '#000',
+ white: '#fff'
+};
+/**
+ * TODO: Continue to update values as "G2" design evolves.
+ *
+ * "G2" refers to the movement to advance the interface of the block editor.
+ * https://github.com/WordPress/gutenberg/issues/18667
+ */
+
+var G2 = {
+ blue: {
+ medium: {
+ focus: '#007cba',
+ focusDark: '#fff'
+ }
+ },
+ darkGray: {
+ primary: '#1e1e1e'
+ },
+ mediumGray: {
+ text: '#757575'
+ },
+ lightGray: {
+ ui: '#949494',
+ secondary: '#ccc',
+ tertiary: '#e7e8e9'
+ }
+};
+var DARK_GRAY = {
+ 900: '#191e23',
+ 800: '#23282d',
+ 700: '#32373c',
+ 600: '#40464d',
+ 500: '#555d66',
+ // Use this most of the time for dark items.
+ 400: '#606a73',
+ 300: '#6c7781',
+ // Lightest gray that can be used for AA text contrast.
+ 200: '#7e8993',
+ 150: '#8d96a0',
+ // Lightest gray that can be used for AA non-text contrast.
+ 100: '#8f98a1'
+};
+var DARK_OPACITY = {
+ 900: rgba('#000510', 0.9),
+ 800: rgba('#00000a', 0.85),
+ 700: rgba('#06060b', 0.8),
+ 600: rgba('#000913', 0.75),
+ 500: rgba('#0a1829', 0.7),
+ 400: rgba('#0a1829', 0.65),
+ 300: rgba('#0e1c2e', 0.62),
+ 200: rgba('#162435', 0.55),
+ 100: rgba('#223443', 0.5),
+ backgroundFill: rgba(DARK_GRAY[700], 0.7)
+};
+var DARK_OPACITY_LIGHT = {
+ 900: rgba('#304455', 0.45),
+ 800: rgba('#425863', 0.4),
+ 700: rgba('#667886', 0.35),
+ 600: rgba('#7b86a2', 0.3),
+ 500: rgba('#9197a2', 0.25),
+ 400: rgba('#95959c', 0.2),
+ 300: rgba('#829493', 0.15),
+ 200: rgba('#8b8b96', 0.1),
+ 100: rgba('#747474', 0.05)
+};
+var LIGHT_GRAY = {
+ 900: '#a2aab2',
+ 800: '#b5bcc2',
+ 700: '#ccd0d4',
+ 600: '#d7dade',
+ 500: '#e2e4e7',
+ // Good for "grayed" items and borders.
+ 400: '#e8eaeb',
+ // Good for "readonly" input fields and special text selection.
+ 300: '#edeff0',
+ 200: '#f3f4f5',
+ 100: '#f8f9f9'
+};
+var LIGHT_OPACITY_LIGHT = {
+ 900: rgba(BASE.white, 0.5),
+ 800: rgba(BASE.white, 0.45),
+ 700: rgba(BASE.white, 0.4),
+ 600: rgba(BASE.white, 0.35),
+ 500: rgba(BASE.white, 0.3),
+ 400: rgba(BASE.white, 0.25),
+ 300: rgba(BASE.white, 0.2),
+ 200: rgba(BASE.white, 0.15),
+ 100: rgba(BASE.white, 0.1),
+ backgroundFill: rgba(LIGHT_GRAY[300], 0.8)
+}; // Additional colors.
+// Some are from https://make.wordpress.org/design/handbook/foundations/colors/.
+
+var BLUE = {
+ wordpress: {
+ 700: '#00669b'
+ },
+ dark: {
+ 900: '#0071a1'
+ },
+ medium: {
+ 900: '#006589',
+ 800: '#00739c',
+ 700: '#007fac',
+ 600: '#008dbe',
+ 500: '#00a0d2',
+ 400: '#33b3db',
+ 300: '#66c6e4',
+ 200: '#bfe7f3',
+ 100: '#e5f5fa',
+ highlight: '#b3e7fe',
+ focus: '#007cba'
+ }
+};
+var ALERT = {
+ yellow: '#f0b849',
+ red: '#d94f4f',
+ green: '#4ab866'
+};
+var ADMIN = {
+ theme: "var( --wp-admin-theme-color, ".concat(BLUE.wordpress[700], ")"),
+ themeDark10: "var( --wp-admin-theme-color-darker-10, ".concat(BLUE.medium.focus, ")")
+}; // Namespaced values for raw colors hex codes
+
+var UI = {
+ theme: ADMIN.theme,
+ background: BASE.white,
+ backgroundDisabled: LIGHT_GRAY[200],
+ border: G2.darkGray.primary,
+ borderFocus: ADMIN.themeDark10,
+ borderDisabled: DARK_GRAY[700],
+ borderLight: LIGHT_GRAY[600],
+ label: DARK_GRAY[500],
+ textDisabled: DARK_GRAY[150],
+ textDark: BASE.white,
+ textLight: BASE.black
+};
+var COLORS = colors_values_objectSpread({}, BASE, {
+ darkGray: Object(external_this_lodash_["merge"])({}, DARK_GRAY, G2.darkGray),
+ darkOpacity: DARK_OPACITY,
+ darkOpacityLight: DARK_OPACITY_LIGHT,
+ mediumGray: G2.mediumGray,
+ lightGray: Object(external_this_lodash_["merge"])({}, LIGHT_GRAY, G2.lightGray),
+ lightGrayLight: LIGHT_OPACITY_LIGHT,
+ blue: Object(external_this_lodash_["merge"])({}, BLUE, G2.blue),
+ alert: ALERT,
+ admin: ADMIN,
+ ui: UI
+});
+/* harmony default export */ var colors_values = (COLORS);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/colors.js
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * Generating a CSS complient rgba() color value.
+ *
+ * @param {string} hexValue The hex value to convert to rgba().
+ * @param {number} alpha The alpha value for opacity.
+ * @return {string} The converted rgba() color value.
+ *
+ * @example
+ * rgba( '#000000', 0.5 )
+ * // rgba(0, 0, 0, 0.5)
+ */
+
+function rgba() {
+ var hexValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
+ var alpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
+
+ var _tinycolor$toRgb = tinycolor_default()(hexValue).toRgb(),
+ r = _tinycolor$toRgb.r,
+ g = _tinycolor$toRgb.g,
+ b = _tinycolor$toRgb.b;
+
+ return "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(alpha, ")");
+}
+/**
+ * Retrieves a color from the color palette.
+ *
+ * @param {string} value The value to retrieve.
+ * @return {string} The color (or fallback, if not found).
+ *
+ * @example
+ * color( 'blue.wordpress.700' )
+ * // #00669b
+ */
+
+function colors_color(value) {
+ var fallbackColor = '#000';
+ return Object(external_this_lodash_["get"])(COLORS, value, fallbackColor);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/reduce-motion.js
+/**
+ * Allows users to opt-out of animations via OS-level preferences.
+ *
+ * @param {string} prop CSS Property name
+ * @return {string} Generated CSS code for the reduced style
+ */
+function reduceMotion() {
+ var prop = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'transition';
+ var style;
+
+ switch (prop) {
+ case 'transition':
+ style = 'transition-duration: 0ms;';
+ break;
+
+ case 'animation':
+ style = 'animation-duration: 1ms;';
+ break;
+
+ default:
+ style = "\n\t\t\t\tanimation-duration: 1ms;\n\t\t\t\ttransition-duration: 0ms;\n\t\t\t";
+ }
+
+ return "\n\t\t@media ( prefers-reduced-motion: reduce ) {\n\t\t\t".concat(style, ";\n\t\t}\n\t");
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js
+
+
+function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var alignment_matrix_control_styles_ref = true ? {
+ name: "1xiracb",
+ styles: "border-radius:2px;box-sizing:border-box;display:grid;grid-template-columns:repeat( 3,1fr );outline:none;"
+} : undefined;
+
+var rootBase = function rootBase() {
+ return alignment_matrix_control_styles_ref;
+};
+
+var alignment_matrix_control_styles_rootSize = function rootSize(_ref2) {
+ var _ref2$size = _ref2.size,
+ size = _ref2$size === void 0 ? 92 : _ref2$size;
+ return /*#__PURE__*/css_browser_esm("grid-template-rows:repeat( 3,calc( ", size, "px / 3 ) );width:", size, "px;" + ( true ? "" : undefined));
+};
+
+var Root = styled_base_browser_esm("div", {
+ target: "e1od1u4s0",
+ label: "Root"
+})(rootBase, ";border:1px solid transparent;cursor:pointer;grid-template-columns:auto;", alignment_matrix_control_styles_rootSize, ";" + ( true ? "" : undefined));
+var Row = styled_base_browser_esm("div", {
+ target: "e1od1u4s1",
+ label: "Row"
+})( true ? {
+ name: "1177s8r",
+ styles: "box-sizing:border-box;display:grid;grid-template-columns:repeat( 3,1fr );"
+} : undefined);
+
+var alignment_matrix_control_styles_pointActive = function pointActive(_ref3) {
+ var isActive = _ref3.isActive;
+ var boxShadow = isActive ? "0 0 0 2px ".concat(colors_color('black')) : null;
+ var pointColor = isActive ? colors_color('black') : colors_color('lightGray.800');
+ var pointColorHover = isActive ? colors_color('black') : colors_color('blue.medium.focus');
+ return /*#__PURE__*/css_browser_esm("box-shadow:", boxShadow, ";color:", pointColor, ";*:hover > &{color:", pointColorHover, ";}" + ( true ? "" : undefined));
+};
+
+var alignment_matrix_control_styles_pointBase = function pointBase(props) {
+ return /*#__PURE__*/css_browser_esm("background:currentColor;box-sizing:border-box;display:grid;margin:auto;transition:all 120ms linear;", reduceMotion('transition'), " ", alignment_matrix_control_styles_pointActive(props), true ? "" : undefined);
+};
+var Point = styled_base_browser_esm("span", {
+ target: "e1od1u4s2",
+ label: "Point"
+})("height:6px;width:6px;", alignment_matrix_control_styles_pointBase, true ? "" : undefined);
+var Cell = styled_base_browser_esm("span", {
+ target: "e1od1u4s3",
+ label: "Cell"
+})( true ? {
+ name: "10ro24i",
+ styles: "appearance:none;border:none;box-sizing:border-box;margin:0;display:flex;position:relative;outline:none;align-items:center;justify-content:center;padding:0;"
+} : undefined);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/cell.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function cell_Cell(_ref) {
+ var _ref$isActive = _ref.isActive,
+ isActive = _ref$isActive === void 0 ? false : _ref$isActive,
+ value = _ref.value,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["isActive", "value"]);
+
+ var tooltipText = ALIGNMENT_LABEL[value];
+ return Object(external_this_wp_element_["createElement"])(build_module_tooltip["a" /* default */], {
+ text: tooltipText
+ }, Object(external_this_wp_element_["createElement"])(CompositeItem["a" /* CompositeItem */], Object(esm_extends["a" /* default */])({
+ as: Cell,
+ role: "gridcell"
+ }, props), Object(external_this_wp_element_["createElement"])(visually_hidden, null, value), Object(external_this_wp_element_["createElement"])(Point, {
+ isActive: isActive,
+ role: "presentation"
+ })));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/rtl.js
+/**
+ * External dependencies
+ */
+
+
+var LOWER_LEFT_REGEXP = new RegExp(/-left/g);
+var LOWER_RIGHT_REGEXP = new RegExp(/-right/g);
+var UPPER_LEFT_REGEXP = new RegExp(/Left/g);
+var UPPER_RIGHT_REGEXP = new RegExp(/Right/g);
+/**
+ * Checks to see whether the document is set to rtl.
+ *
+ * @return {boolean} Whether document is RTL.
+ */
+
+function getRTL() {
+ return !!(document && document.documentElement.dir === 'rtl');
+}
+/**
+ * Simple hook to retrieve RTL direction value
+ *
+ * @return {boolean} Whether document is RTL.
+ */
+
+function useRTL() {
+ return getRTL();
+}
+/**
+ * Flips a CSS property from left <-> right.
+ *
+ * @param {string} key The CSS property name.
+ *
+ * @return {string} The flipped CSS property name, if applicable.
+ */
+
+function getConvertedKey(key) {
+ if (key === 'left') {
+ return 'right';
+ }
+
+ if (key === 'right') {
+ return 'left';
+ }
+
+ if (LOWER_LEFT_REGEXP.test(key)) {
+ return key.replace(LOWER_LEFT_REGEXP, '-right');
+ }
+
+ if (LOWER_RIGHT_REGEXP.test(key)) {
+ return key.replace(LOWER_RIGHT_REGEXP, '-left');
+ }
+
+ if (UPPER_LEFT_REGEXP.test(key)) {
+ return key.replace(UPPER_LEFT_REGEXP, 'Right');
+ }
+
+ if (UPPER_RIGHT_REGEXP.test(key)) {
+ return key.replace(UPPER_RIGHT_REGEXP, 'Left');
+ }
+
+ return key;
+}
+/**
+ * An incredibly basic ltr -> rtl converter for style properties
+ *
+ * @param {Object} ltrStyles
+ *
+ * @return {Object} Converted ltr -> rtl styles
+ */
+
+
+var rtl_convertLTRToRTL = function convertLTRToRTL() {
+ var ltrStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ return Object(external_this_lodash_["mapKeys"])(ltrStyles, function (_value, key) {
+ return getConvertedKey(key);
+ });
+};
+/**
+ * A higher-order function that create an incredibly basic ltr -> rtl style converter for CSS objects.
+ *
+ * @param {Object} ltrStyles Ltr styles. Converts and renders from ltr -> rtl styles, if applicable.
+ * @param {null|Object} rtlStyles Rtl styles. Renders if provided.
+ *
+ * @return {Function} A function to output CSS styles for Emotion's renderer
+ */
+
+function rtl() {
+ var ltrStyles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+ var rtlStyles = arguments.length > 1 ? arguments[1] : undefined;
+ return function () {
+ var isRTL = getRTL();
+
+ if (rtlStyles) {
+ return isRTL ? /*#__PURE__*/css_browser_esm(rtlStyles, true ? "" : undefined) : /*#__PURE__*/css_browser_esm(ltrStyles, true ? "" : undefined);
+ }
+
+ return isRTL ? /*#__PURE__*/css_browser_esm(rtl_convertLTRToRTL(ltrStyles), true ? "" : undefined) : /*#__PURE__*/css_browser_esm(ltrStyles, true ? "" : undefined);
+ };
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js
+
+
+function alignment_matrix_control_icon_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var alignment_matrix_control_icon_styles_rootSize = function rootSize() {
+ var padding = 1.5;
+ var size = 24;
+ return /*#__PURE__*/css_browser_esm({
+ gridTemplateRows: "repeat( 3, calc( ".concat(size - padding * 2, "px / 3))"),
+ padding: padding,
+ maxHeight: size,
+ maxWidth: size
+ }, true ? "" : undefined);
+};
+
+var alignment_matrix_control_icon_styles_rootPointerEvents = function rootPointerEvents(_ref) {
+ var disablePointerEvents = _ref.disablePointerEvents;
+ return /*#__PURE__*/css_browser_esm({
+ pointerEvents: disablePointerEvents ? 'none' : null
+ }, true ? "" : undefined);
+};
+
+var alignment_matrix_control_icon_styles_Wrapper = styled_base_browser_esm("div", {
+ target: "elqsdmc0",
+ label: "Wrapper"
+})( true ? {
+ name: "co61ta",
+ styles: "box-sizing:border-box;padding:2px;"
+} : undefined);
+var alignment_matrix_control_icon_styles_Root = styled_base_browser_esm("div", {
+ target: "elqsdmc1",
+ label: "Root"
+})("transform-origin:top left;height:100%;width:100%;", rootBase, ";", alignment_matrix_control_icon_styles_rootSize, ";", alignment_matrix_control_icon_styles_rootPointerEvents, ";" + ( true ? "" : undefined));
+
+var alignment_matrix_control_icon_styles_pointActive = function pointActive(_ref2) {
+ var isActive = _ref2.isActive;
+ var boxShadow = isActive ? "0 0 0 1px currentColor" : null;
+ return /*#__PURE__*/css_browser_esm("box-shadow:", boxShadow, ";color:currentColor;*:hover > &{color:currentColor;}" + ( true ? "" : undefined));
+};
+
+var alignment_matrix_control_icon_styles_Point = styled_base_browser_esm("span", {
+ target: "elqsdmc2",
+ label: "Point"
+})("height:2px;width:2px;", alignment_matrix_control_styles_pointBase, ";", alignment_matrix_control_icon_styles_pointActive, ";" + ( true ? "" : undefined));
+var alignment_matrix_control_icon_styles_Cell = Cell;
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/icon.js
+
+
+
+
+
+function icon_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function icon_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { icon_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { icon_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+var BASE_SIZE = 24;
+function AlignmentMatrixControlIcon(_ref) {
+ var className = _ref.className,
+ _ref$disablePointerEv = _ref.disablePointerEvents,
+ disablePointerEvents = _ref$disablePointerEv === void 0 ? true : _ref$disablePointerEv,
+ _ref$size = _ref.size,
+ size = _ref$size === void 0 ? BASE_SIZE : _ref$size,
+ _ref$style = _ref.style,
+ style = _ref$style === void 0 ? {} : _ref$style,
+ _ref$value = _ref.value,
+ value = _ref$value === void 0 ? 'center' : _ref$value,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["className", "disablePointerEvents", "size", "style", "value"]);
+
+ var alignIndex = getAlignmentIndex(value);
+ var scale = (size / BASE_SIZE).toFixed(2);
+ var classes = classnames_default()('component-alignment-matrix-control-icon', className);
+
+ var styles = icon_objectSpread({}, style, {
+ transform: "scale(".concat(scale, ")")
+ });
+
+ return Object(external_this_wp_element_["createElement"])(alignment_matrix_control_icon_styles_Root, Object(esm_extends["a" /* default */])({}, props, {
+ className: classes,
+ disablePointerEvents: disablePointerEvents,
+ role: "presentation",
+ size: size,
+ style: styles
+ }), ALIGNMENTS.map(function (align, index) {
+ var isActive = alignIndex === index;
+ return Object(external_this_wp_element_["createElement"])(alignment_matrix_control_icon_styles_Cell, {
+ key: align
+ }, Object(external_this_wp_element_["createElement"])(alignment_matrix_control_icon_styles_Point, {
+ isActive: isActive
+ }));
+ }));
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/alignment-matrix-control/index.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+function useBaseId(id) {
+ var instanceId = Object(external_this_wp_compose_["useInstanceId"])(AlignmentMatrixControl, 'alignment-matrix-control');
+ return id || instanceId;
+}
+
+function AlignmentMatrixControl(_ref) {
+ var className = _ref.className,
+ id = _ref.id,
+ _ref$label = _ref.label,
+ label = _ref$label === void 0 ? Object(external_this_wp_i18n_["__"])('Alignment Matrix Control') : _ref$label,
+ _ref$defaultValue = _ref.defaultValue,
+ defaultValue = _ref$defaultValue === void 0 ? 'center center' : _ref$defaultValue,
+ value = _ref.value,
+ _ref$onChange = _ref.onChange,
+ onChange = _ref$onChange === void 0 ? external_this_lodash_["noop"] : _ref$onChange,
+ _ref$width = _ref.width,
+ width = _ref$width === void 0 ? 92 : _ref$width,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["className", "id", "label", "defaultValue", "value", "onChange", "width"]);
+
+ var _useState = Object(external_this_wp_element_["useState"])(value !== null && value !== void 0 ? value : defaultValue),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 1),
+ immutableDefaultValue = _useState2[0];
+
+ var isRTL = useRTL();
+ var baseId = useBaseId(id);
+ var initialCurrentId = getItemId(baseId, immutableDefaultValue);
+ var composite = Object(CompositeState_3a25dcee["g" /* u */])({
+ baseId: baseId,
+ currentId: initialCurrentId,
+ rtl: isRTL
+ });
+
+ var handleOnChange = function handleOnChange(nextValue) {
+ onChange(nextValue);
+ };
+
+ Object(external_this_wp_element_["useEffect"])(function () {
+ if (typeof value !== 'undefined') {
+ composite.setCurrentId(getItemId(baseId, value));
+ }
+ }, [value, composite.setCurrentId]);
+ var classes = classnames_default()('component-alignment-matrix-control', className);
+ return Object(external_this_wp_element_["createElement"])(Composite["a" /* Composite */], Object(esm_extends["a" /* default */])({}, props, composite, {
+ "aria-label": label,
+ as: Root,
+ className: classes,
+ role: "grid",
+ width: width
+ }), GRID.map(function (cells, index) {
+ return Object(external_this_wp_element_["createElement"])(CompositeGroup, Object(esm_extends["a" /* default */])({}, composite, {
+ as: Row,
+ role: "row",
+ key: index
+ }), cells.map(function (cell) {
+ var cellId = getItemId(baseId, cell);
+ var isActive = composite.currentId === cellId;
+ return Object(external_this_wp_element_["createElement"])(cell_Cell, Object(esm_extends["a" /* default */])({}, composite, {
+ id: cellId,
+ isActive: isActive,
+ key: cell,
+ value: cell,
+ onFocus: function onFocus() {
+ return handleOnChange(cell);
+ }
}));
- /* eslint-enable jsx-a11y/no-static-element-interactions */
- // Apply focus to element as long as focusOnMount is truthy; false is
- // the only "disabled" value.
-
- if (focusOnMount) {
- content = Object(external_this_wp_element_["createElement"])(FocusManaged, null, content);
- }
-
- return Object(external_this_wp_element_["createElement"])(context_Consumer, null, function (_ref3) {
- var getSlot = _ref3.getSlot;
-
- // In case there is no slot context in which to render,
- // default to an in-place rendering.
- if (getSlot && getSlot(SLOT_NAME)) {
- content = Object(external_this_wp_element_["createElement"])(slot_fill_fill, {
- name: SLOT_NAME
- }, content);
- }
-
- return Object(external_this_wp_element_["createElement"])("span", {
- ref: _this3.anchorNode
- }, content, isMobile && expandOnMobile && Object(external_this_wp_element_["createElement"])(scroll_lock, null));
- });
- }
- }]);
-
- return Popover;
-}(external_this_wp_element_["Component"]);
-
-popover_Popover.defaultProps = {
- focusOnMount: 'firstElement',
- noArrow: false
-};
-var PopoverContainer = popover_Popover;
-
-PopoverContainer.Slot = function () {
- return Object(external_this_wp_element_["createElement"])(slot_fill_slot, {
- bubblesVirtually: true,
- name: SLOT_NAME
- });
-};
-
-/* harmony default export */ var popover = (PopoverContainer);
+ }));
+ }));
+}
+AlignmentMatrixControl.Icon = AlignmentMatrixControlIcon;
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/animate/index.js
+var animate = __webpack_require__(160);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/base-control/index.js
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function BaseControl(_ref) {
+ var id = _ref.id,
+ label = _ref.label,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ help = _ref.help,
+ className = _ref.className,
+ children = _ref.children;
+ return Object(external_this_wp_element_["createElement"])("div", {
+ className: classnames_default()('components-base-control', className)
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ className: "components-base-control__field"
+ }, label && id && (hideLabelFromVision ? Object(external_this_wp_element_["createElement"])(visually_hidden, {
+ as: "label",
+ htmlFor: id
+ }, label) : Object(external_this_wp_element_["createElement"])("label", {
+ className: "components-base-control__label",
+ htmlFor: id
+ }, label)), label && !id && (hideLabelFromVision ? Object(external_this_wp_element_["createElement"])(visually_hidden, {
+ as: "label"
+ }, label) : Object(external_this_wp_element_["createElement"])(BaseControl.VisualLabel, null, label)), children), !!help && Object(external_this_wp_element_["createElement"])("p", {
+ id: id + '__help',
+ className: "components-base-control__help"
+ }, help));
+}
+
+BaseControl.VisualLabel = function (_ref2) {
+ var className = _ref2.className,
+ children = _ref2.children;
+ className = classnames_default()('components-base-control__label', className);
+ return Object(external_this_wp_element_["createElement"])("span", {
+ className: className
+ }, children);
+};
+
+/* harmony default export */ var base_control = (BaseControl);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/angle-picker-control/index.js
+
+
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function getAngle(centerX, centerY, pointX, pointY) {
+ var y = pointY - centerY;
+ var x = pointX - centerX;
+ var angleInRadians = Math.atan2(y, x);
+ var angleInDeg = Math.round(angleInRadians * (180 / Math.PI)) + 90;
+
+ if (angleInDeg < 0) {
+ return 360 + angleInDeg;
+ }
+
+ return angleInDeg;
+}
+
+var angle_picker_control_AngleCircle = function AngleCircle(_ref) {
+ var value = _ref.value,
+ onChange = _ref.onChange,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["value", "onChange"]);
+
+ var angleCircleRef = Object(external_this_wp_element_["useRef"])();
+ var angleCircleCenter = Object(external_this_wp_element_["useRef"])();
+
+ var setAngleCircleCenter = function setAngleCircleCenter() {
+ var rect = angleCircleRef.current.getBoundingClientRect();
+ angleCircleCenter.current = {
+ x: rect.x + rect.width / 2,
+ y: rect.y + rect.height / 2
+ };
+ };
+
+ var changeAngleToPosition = function changeAngleToPosition(event) {
+ var _angleCircleCenter$cu = angleCircleCenter.current,
+ centerX = _angleCircleCenter$cu.x,
+ centerY = _angleCircleCenter$cu.y; // Prevent (drag) mouse events from selecting and accidentally
+ // triggering actions from other elements.
+
+ event.preventDefault();
+ onChange(getAngle(centerX, centerY, event.clientX, event.clientY));
+ };
+
+ var _useDragging = Object(external_this_wp_compose_["__experimentalUseDragging"])({
+ onDragStart: function onDragStart(event) {
+ setAngleCircleCenter();
+ changeAngleToPosition(event);
+ },
+ onDragMove: changeAngleToPosition,
+ onDragEnd: changeAngleToPosition
+ }),
+ startDrag = _useDragging.startDrag,
+ isDragging = _useDragging.isDragging;
+
+ return (
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
+ Object(external_this_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({
+ ref: angleCircleRef,
+ onMouseDown: startDrag,
+ className: "components-angle-picker-control__angle-circle",
+ style: isDragging ? {
+ cursor: 'grabbing'
+ } : undefined
+ }, props), Object(external_this_wp_element_["createElement"])("div", {
+ style: value ? {
+ transform: "rotate(".concat(value, "deg)")
+ } : undefined,
+ className: "components-angle-picker-control__angle-circle-indicator-wrapper"
+ }, Object(external_this_wp_element_["createElement"])("span", {
+ className: "components-angle-picker-control__angle-circle-indicator"
+ })))
+ /* eslint-enable jsx-a11y/no-static-element-interactions */
+
+ );
+};
+
+function AnglePickerControl(_ref2) {
+ var value = _ref2.value,
+ _onChange = _ref2.onChange,
+ _ref2$label = _ref2.label,
+ label = _ref2$label === void 0 ? Object(external_this_wp_i18n_["__"])('Angle') : _ref2$label;
+ var instanceId = Object(external_this_wp_compose_["useInstanceId"])(AnglePickerControl);
+ var inputId = "components-angle-picker-control__input-".concat(instanceId);
+ return Object(external_this_wp_element_["createElement"])(base_control, {
+ label: label,
+ id: inputId,
+ className: "components-angle-picker-control"
+ }, Object(external_this_wp_element_["createElement"])(angle_picker_control_AngleCircle, {
+ value: value,
+ onChange: _onChange,
+ "aria-hidden": "true"
+ }), Object(external_this_wp_element_["createElement"])("input", {
+ className: "components-angle-picker-control__input-field",
+ type: "number",
+ id: inputId,
+ onChange: function onChange(event) {
+ var unprocessedValue = event.target.value;
+ var inputValue = unprocessedValue !== '' ? parseInt(event.target.value, 10) : 0;
+
+ _onChange(inputValue);
+ },
+ value: value,
+ min: 0,
+ max: 360,
+ step: "1"
+ }));
+}
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
+var classCallCheck = __webpack_require__(20);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
+var assertThisInitialized = __webpack_require__(12);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
+var createClass = __webpack_require__(19);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
+var possibleConstructorReturn = __webpack_require__(23);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
+var getPrototypeOf = __webpack_require__(16);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules
+var inherits = __webpack_require__(22);
+
+// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
+var toConsumableArray = __webpack_require__(18);
+
+// EXTERNAL MODULE: external {"this":["wp","keycodes"]}
+var external_this_wp_keycodes_ = __webpack_require__(21);
+
+// EXTERNAL MODULE: external {"this":["wp","richText"]}
+var external_this_wp_richText_ = __webpack_require__(25);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/button/index.js
+var build_module_button = __webpack_require__(34);
+
+// EXTERNAL MODULE: ./node_modules/@wordpress/components/build-module/popover/index.js + 2 modules
+var popover = __webpack_require__(112);
// EXTERNAL MODULE: external {"this":["wp","a11y"]}
-var external_this_wp_a11y_ = __webpack_require__(48);
+var external_this_wp_a11y_ = __webpack_require__(54);
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/higher-order/with-spoken-messages/index.js
@@ -27373,6 +21600,10 @@
+function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
+
+function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
/**
* External dependencies
*/
@@ -27388,52 +21619,51 @@
* A Higher Order Component used to be provide a unique instance ID by
* component.
*
- * @param {WPElement} WrappedComponent The wrapped component.
- *
- * @return {Component} Component with an instanceId prop.
+ * @param {WPComponent} WrappedComponent The wrapped component.
+ *
+ * @return {WPComponent} The component to be rendered.
*/
/* harmony default export */ var with_spoken_messages = (Object(external_this_wp_compose_["createHigherOrderComponent"])(function (WrappedComponent) {
- return (
- /*#__PURE__*/
- function (_Component) {
- Object(inherits["a" /* default */])(_class, _Component);
-
- function _class() {
- var _this;
-
- Object(classCallCheck["a" /* default */])(this, _class);
-
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(_class).apply(this, arguments));
- _this.debouncedSpeak = Object(external_lodash_["debounce"])(_this.speak.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this))), 500);
- return _this;
- }
-
- Object(createClass["a" /* default */])(_class, [{
- key: "speak",
- value: function speak(message) {
- var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'polite';
-
- Object(external_this_wp_a11y_["speak"])(message, type);
- }
- }, {
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- this.debouncedSpeak.cancel();
- }
- }, {
- key: "render",
- value: function render() {
- return Object(external_this_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, this.props, {
- speak: this.speak,
- debouncedSpeak: this.debouncedSpeak
- }));
- }
- }]);
-
- return _class;
- }(external_this_wp_element_["Component"])
- );
+ return /*#__PURE__*/function (_Component) {
+ Object(inherits["a" /* default */])(_class, _Component);
+
+ var _super = _createSuper(_class);
+
+ function _class() {
+ var _this;
+
+ Object(classCallCheck["a" /* default */])(this, _class);
+
+ _this = _super.apply(this, arguments);
+ _this.debouncedSpeak = Object(external_this_lodash_["debounce"])(_this.speak.bind(Object(assertThisInitialized["a" /* default */])(_this)), 500);
+ return _this;
+ }
+
+ Object(createClass["a" /* default */])(_class, [{
+ key: "speak",
+ value: function speak(message) {
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'polite';
+
+ Object(external_this_wp_a11y_["speak"])(message, type);
+ }
+ }, {
+ key: "componentWillUnmount",
+ value: function componentWillUnmount() {
+ this.debouncedSpeak.cancel();
+ }
+ }, {
+ key: "render",
+ value: function render() {
+ return Object(external_this_wp_element_["createElement"])(WrappedComponent, Object(esm_extends["a" /* default */])({}, this.props, {
+ speak: this.speak,
+ debouncedSpeak: this.debouncedSpeak
+ }));
+ }
+ }]);
+
+ return _class;
+ }(external_this_wp_element_["Component"]);
}, 'withSpokenMessages'));
// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/autocomplete/index.js
@@ -27447,109 +21677,103 @@
-
-/**
- * External dependencies
- */
-
-
-/**
- * WordPress dependencies
- */
-
-
-
-
-
-
-
-/**
- * Internal dependencies
- */
-
+function autocomplete_createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (autocomplete_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
+
+function autocomplete_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+
+
+
+/**
+ * Internal dependencies
+ */
/**
* A raw completer option.
+ *
* @typedef {*} CompleterOption
*/
/**
* @callback FnGetOptions
*
- * @returns {(CompleterOption[]|Promise.)} The completer options or a promise for them.
+ * @return {(CompleterOption[]|Promise.)} The completer options or a promise for them.
*/
/**
* @callback FnGetOptionKeywords
* @param {CompleterOption} option a completer option.
*
- * @returns {string[]} list of key words to search.
+ * @return {string[]} list of key words to search.
*/
/**
* @callback FnIsOptionDisabled
* @param {CompleterOption} option a completer option.
*
- * @returns {string[]} whether or not the given option is disabled.
+ * @return {string[]} whether or not the given option is disabled.
*/
/**
* @callback FnGetOptionLabel
* @param {CompleterOption} option a completer option.
*
- * @returns {(string|Array.<(string|Component)>)} list of react components to render.
- */
-
-/**
- * @callback FnAllowNode
- * @param {Node} textNode check if the completer can handle this text node.
- *
- * @returns {boolean} true if the completer can handle this text node.
+ * @return {(string|Array.<(string|Component)>)} list of react components to render.
*/
/**
* @callback FnAllowContext
- * @param {Range} before the range before the auto complete trigger and query.
- * @param {Range} after the range after the autocomplete trigger and query.
- *
- * @returns {boolean} true if the completer can handle these ranges.
+ * @param {string} before the string before the auto complete trigger and query.
+ * @param {string} after the string after the autocomplete trigger and query.
+ *
+ * @return {boolean} true if the completer can handle.
*/
/**
* @typedef {Object} OptionCompletion
- * @property {('insert-at-caret', 'replace')} action the intended placement of the completion.
+ * @property {'insert-at-caret'|'replace'} action the intended placement of the completion.
* @property {OptionCompletionValue} value the completion value.
*/
/**
* A completion value.
- * @typedef {(String|WPElement|Object)} OptionCompletionValue
+ *
+ * @typedef {(string|WPElement|Object)} OptionCompletionValue
*/
/**
* @callback FnGetOptionCompletion
* @param {CompleterOption} value the value of the completer option.
- * @param {Range} range the nodes included in the autocomplete trigger and query.
- * @param {String} query the text value of the autocomplete query.
- *
- * @returns {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an
+ * @param {string} query the text value of the autocomplete query.
+ *
+ * @return {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an
* OptionCompletionValue is returned, the
* completion action defaults to `insert-at-caret`.
*/
/**
- * @typedef {Object} Completer
- * @property {String} name a way to identify a completer, useful for selective overriding.
- * @property {?String} className A class to apply to the popup menu.
- * @property {String} triggerPrefix the prefix that will display the menu.
+ * @typedef {Object} WPCompleter
+ * @property {string} name a way to identify a completer, useful for selective overriding.
+ * @property {?string} className A class to apply to the popup menu.
+ * @property {string} triggerPrefix the prefix that will display the menu.
* @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.
* @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.
* @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.
* @property {FnGetOptionLabel} getOptionLabel get the label for a given option.
- * @property {?FnAllowNode} allowNode filter the allowed text nodes in the autocomplete.
* @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.
* @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.
*/
@@ -27570,7 +21794,7 @@
}
var isMatch = keywords.some(function (keyword) {
- return search.test(Object(external_lodash_["deburr"])(keyword));
+ return search.test(Object(external_this_lodash_["deburr"])(keyword));
});
if (!isMatch) {
@@ -27587,29 +21811,132 @@
return filtered;
}
-function getCaretRect() {
- var range = window.getSelection().getRangeAt(0);
-
- if (range) {
- return Object(external_this_wp_dom_["getRectangleFromRange"])(range);
- }
-}
-
-var autocomplete_Autocomplete =
-/*#__PURE__*/
-function (_Component) {
+function getRange() {
+ var selection = window.getSelection();
+ return selection.rangeCount ? selection.getRangeAt(0) : null;
+}
+
+var autocomplete_getAutoCompleterUI = function getAutoCompleterUI(autocompleter) {
+ var useItems = autocompleter.useItems ? autocompleter.useItems : function (filterValue) {
+ var _useState = Object(external_this_wp_element_["useState"])([]),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ items = _useState2[0],
+ setItems = _useState2[1];
+ /*
+ * We support both synchronous and asynchronous retrieval of completer options
+ * but internally treat all as async so we maintain a single, consistent code path.
+ *
+ * Because networks can be slow, and the internet is wonderfully unpredictable,
+ * we don't want two promises updating the state at once. This ensures that only
+ * the most recent promise will act on `optionsData`. This doesn't use the state
+ * because `setState` is batched, and so there's no guarantee that setting
+ * `activePromise` in the state would result in it actually being in `this.state`
+ * before the promise resolves and we check to see if this is the active promise or not.
+ */
+
+
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ var options = autocompleter.options,
+ isDebounced = autocompleter.isDebounced;
+ var loadOptions = Object(external_this_lodash_["debounce"])(function () {
+ var promise = Promise.resolve(typeof options === 'function' ? options(filterValue) : options).then(function (optionsData) {
+ if (promise.canceled) {
+ return;
+ }
+
+ var keyedOptions = optionsData.map(function (optionData, optionIndex) {
+ return {
+ key: "".concat(autocompleter.name, "-").concat(optionIndex),
+ value: optionData,
+ label: autocompleter.getOptionLabel(optionData),
+ keywords: autocompleter.getOptionKeywords ? autocompleter.getOptionKeywords(optionData) : [],
+ isDisabled: autocompleter.isOptionDisabled ? autocompleter.isOptionDisabled(optionData) : false
+ };
+ }); // create a regular expression to filter the options
+
+ var search = new RegExp('(?:\\b|\\s|^)' + Object(external_this_lodash_["escapeRegExp"])(filterValue), 'i');
+ setItems(filterOptions(search, keyedOptions));
+ });
+ return promise;
+ }, isDebounced ? 250 : 0);
+ var promise = loadOptions();
+ return function () {
+ loadOptions.cancel();
+
+ if (promise) {
+ promise.canceled = true;
+ }
+ };
+ }, [filterValue]);
+ return [items];
+ };
+
+ function AutocompleterUI(_ref) {
+ var filterValue = _ref.filterValue,
+ instanceId = _ref.instanceId,
+ listBoxId = _ref.listBoxId,
+ className = _ref.className,
+ selectedIndex = _ref.selectedIndex,
+ onChangeOptions = _ref.onChangeOptions,
+ onSelect = _ref.onSelect,
+ onReset = _ref.onReset;
+
+ var _useItems = useItems(filterValue),
+ _useItems2 = Object(slicedToArray["a" /* default */])(_useItems, 1),
+ items = _useItems2[0];
+
+ Object(external_this_wp_element_["useLayoutEffect"])(function () {
+ onChangeOptions(items);
+ }, [items]);
+
+ if (!items.length > 0) {
+ return null;
+ }
+
+ return Object(external_this_wp_element_["createElement"])(popover["a" /* default */], {
+ focusOnMount: false,
+ onClose: onReset,
+ position: "top right",
+ className: "components-autocomplete__popover",
+ anchorRef: getRange()
+ }, Object(external_this_wp_element_["createElement"])("div", {
+ id: listBoxId,
+ role: "listbox",
+ className: "components-autocomplete__results"
+ }, Object(external_this_lodash_["map"])(items, function (option, index) {
+ return Object(external_this_wp_element_["createElement"])(build_module_button["a" /* default */], {
+ key: option.key,
+ id: "components-autocomplete-item-".concat(instanceId, "-").concat(option.key),
+ role: "option",
+ "aria-selected": index === selectedIndex,
+ disabled: option.isDisabled,
+ className: classnames_default()('components-autocomplete__result', className, {
+ 'is-selected': index === selectedIndex
+ }),
+ onClick: function onClick() {
+ return onSelect(option);
+ }
+ }, option.label);
+ })));
+ }
+
+ return AutocompleterUI;
+};
+
+var autocomplete_Autocomplete = /*#__PURE__*/function (_Component) {
Object(inherits["a" /* default */])(Autocomplete, _Component);
+ var _super = autocomplete_createSuper(Autocomplete);
+
Object(createClass["a" /* default */])(Autocomplete, null, [{
key: "getInitialState",
value: function getInitialState() {
return {
- search: /./,
selectedIndex: 0,
- suppress: undefined,
- open: undefined,
- query: undefined,
- filteredOptions: []
+ filteredOptions: [],
+ filterValue: '',
+ autocompleter: null,
+ AutocompleterUI: null
};
}
}]);
@@ -27619,33 +21946,26 @@
Object(classCallCheck["a" /* default */])(this, Autocomplete);
- _this = Object(possibleConstructorReturn["a" /* default */])(this, Object(getPrototypeOf["a" /* default */])(Autocomplete).apply(this, arguments));
- _this.bindNode = _this.bindNode.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.select = _this.select.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.reset = _this.reset.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.resetWhenSuppressed = _this.resetWhenSuppressed.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.handleKeyDown = _this.handleKeyDown.bind(Object(assertThisInitialized["a" /* default */])(Object(assertThisInitialized["a" /* default */])(_this)));
- _this.debouncedLoadOptions = Object(external_lodash_["debounce"])(_this.loadOptions, 250);
+ _this = _super.apply(this, arguments);
+ _this.select = _this.select.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.reset = _this.reset.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.onChangeOptions = _this.onChangeOptions.bind(Object(assertThisInitialized["a" /* default */])(_this));
+ _this.handleKeyDown = _this.handleKeyDown.bind(Object(assertThisInitialized["a" /* default */])(_this));
_this.state = _this.constructor.getInitialState();
return _this;
}
Object(createClass["a" /* default */])(Autocomplete, [{
- key: "bindNode",
- value: function bindNode(node) {
- this.node = node;
- }
- }, {
key: "insertCompletion",
value: function insertCompletion(replacement) {
var _this$state = this.state,
- open = _this$state.open,
- query = _this$state.query;
+ autocompleter = _this$state.autocompleter,
+ filterValue = _this$state.filterValue;
var _this$props = this.props,
record = _this$props.record,
onChange = _this$props.onChange;
var end = record.start;
- var start = end - open.triggerPrefix.length - query.length;
+ var start = end - autocompleter.triggerPrefix.length - filterValue.length;
var toInsert = Object(external_this_wp_richText_["create"])({
html: Object(external_this_wp_element_["renderToString"])(replacement)
});
@@ -27656,25 +21976,25 @@
value: function select(option) {
var onReplace = this.props.onReplace;
var _this$state2 = this.state,
- open = _this$state2.open,
- query = _this$state2.query;
-
- var _ref = open || {},
- getOptionCompletion = _ref.getOptionCompletion;
+ autocompleter = _this$state2.autocompleter,
+ filterValue = _this$state2.filterValue;
+
+ var _ref2 = autocompleter || {},
+ getOptionCompletion = _ref2.getOptionCompletion;
if (option.isDisabled) {
return;
}
if (getOptionCompletion) {
- var completion = getOptionCompletion(option.value, query);
-
- var _ref2 = undefined === completion.action || undefined === completion.value ? {
+ var completion = getOptionCompletion(option.value, filterValue);
+
+ var _ref3 = undefined === completion.action || undefined === completion.value ? {
action: 'insert-at-caret',
value: completion
} : completion,
- action = _ref2.action,
- value = _ref2.value;
+ action = _ref3.action,
+ value = _ref3.value;
if ('replace' === action) {
onReplace([value]);
@@ -27690,28 +22010,7 @@
}, {
key: "reset",
value: function reset() {
- var isMounted = !!this.node; // Autocompletions may replace the block containing this component,
- // so we make sure it is mounted before resetting the state.
-
- if (isMounted) {
- this.setState(this.constructor.getInitialState());
- }
- }
- }, {
- key: "resetWhenSuppressed",
- value: function resetWhenSuppressed() {
- var _this$state3 = this.state,
- open = _this$state3.open,
- suppress = _this$state3.suppress;
-
- if (open && suppress === open.idx) {
- this.reset();
- }
- }
- }, {
- key: "handleFocusOutside",
- value: function handleFocusOutside() {
- this.reset();
+ this.setState(this.constructor.getInitialState());
}
}, {
key: "announce",
@@ -27723,7 +22022,9 @@
}
if (!!filteredOptions.length) {
- debouncedSpeak(Object(external_this_wp_i18n_["sprintf"])(Object(external_this_wp_i18n_["_n"])('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', filteredOptions.length), filteredOptions.length), 'assertive');
+ debouncedSpeak(Object(external_this_wp_i18n_["sprintf"])(
+ /* translators: %d: number of results. */
+ Object(external_this_wp_i18n_["_n"])('%d result found, use up and down arrow keys to navigate.', '%d results found, use up and down arrow keys to navigate.', filteredOptions.length), filteredOptions.length), 'assertive');
} else {
debouncedSpeak(Object(external_this_wp_i18n_["__"])('No results.'), 'assertive');
}
@@ -27731,94 +22032,28 @@
/**
* Load options for an autocompleter.
*
- * @param {Completer} completer The autocompleter.
- * @param {string} query The query, if any.
+ * @param {Array} filteredOptions
*/
}, {
- key: "loadOptions",
- value: function loadOptions(completer, query) {
- var _this2 = this;
-
- var options = completer.options;
- /*
- * We support both synchronous and asynchronous retrieval of completer options
- * but internally treat all as async so we maintain a single, consistent code path.
- *
- * Because networks can be slow, and the internet is wonderfully unpredictable,
- * we don't want two promises updating the state at once. This ensures that only
- * the most recent promise will act on `optionsData`. This doesn't use the state
- * because `setState` is batched, and so there's no guarantee that setting
- * `activePromise` in the state would result in it actually being in `this.state`
- * before the promise resolves and we check to see if this is the active promise or not.
- */
-
- var promise = this.activePromise = Promise.resolve(typeof options === 'function' ? options(query) : options).then(function (optionsData) {
- var _this2$setState;
-
- if (promise !== _this2.activePromise) {
- // Another promise has become active since this one was asked to resolve, so do nothing,
- // or else we might end triggering a race condition updating the state.
- return;
- }
-
- var keyedOptions = optionsData.map(function (optionData, optionIndex) {
- return {
- key: "".concat(completer.idx, "-").concat(optionIndex),
- value: optionData,
- label: completer.getOptionLabel(optionData),
- keywords: completer.getOptionKeywords ? completer.getOptionKeywords(optionData) : [],
- isDisabled: completer.isOptionDisabled ? completer.isOptionDisabled(optionData) : false
- };
- });
- var filteredOptions = filterOptions(_this2.state.search, keyedOptions);
- var selectedIndex = filteredOptions.length === _this2.state.filteredOptions.length ? _this2.state.selectedIndex : 0;
-
- _this2.setState((_this2$setState = {}, Object(defineProperty["a" /* default */])(_this2$setState, 'options_' + completer.idx, keyedOptions), Object(defineProperty["a" /* default */])(_this2$setState, "filteredOptions", filteredOptions), Object(defineProperty["a" /* default */])(_this2$setState, "selectedIndex", selectedIndex), _this2$setState));
-
- _this2.announce(filteredOptions);
- });
+ key: "onChangeOptions",
+ value: function onChangeOptions(filteredOptions) {
+ var selectedIndex = filteredOptions.length === this.state.filteredOptions.length ? this.state.selectedIndex : 0;
+ this.setState({
+ filteredOptions: filteredOptions,
+ selectedIndex: selectedIndex
+ });
+ this.announce(filteredOptions);
}
}, {
key: "handleKeyDown",
value: function handleKeyDown(event) {
- var _this$state4 = this.state,
- open = _this$state4.open,
- suppress = _this$state4.suppress,
- selectedIndex = _this$state4.selectedIndex,
- filteredOptions = _this$state4.filteredOptions;
-
- if (!open) {
- return;
- }
-
- if (suppress === open.idx) {
- switch (event.keyCode) {
- // cancel popup suppression on CTRL+SPACE
- case external_this_wp_keycodes_["SPACE"]:
- var ctrlKey = event.ctrlKey,
- shiftKey = event.shiftKey,
- altKey = event.altKey,
- metaKey = event.metaKey;
-
- if (ctrlKey && !(shiftKey || altKey || metaKey)) {
- this.setState({
- suppress: undefined
- });
- event.preventDefault();
- event.stopPropagation();
- }
-
- break;
- // reset on cursor movement
-
- case external_this_wp_keycodes_["UP"]:
- case external_this_wp_keycodes_["DOWN"]:
- case external_this_wp_keycodes_["LEFT"]:
- case external_this_wp_keycodes_["RIGHT"]:
- this.reset();
- }
-
+ var _this$state3 = this.state,
+ autocompleter = _this$state3.autocompleter,
+ selectedIndex = _this$state3.selectedIndex,
+ filteredOptions = _this$state3.filteredOptions;
+
+ if (!autocompleter) {
return;
}
@@ -27845,7 +22080,8 @@
case external_this_wp_keycodes_["ESCAPE"]:
this.setState({
- suppress: open.idx
+ autocompleter: null,
+ AutocompleterUI: null
});
break;
@@ -27868,43 +22104,22 @@
event.stopPropagation();
}
}, {
- key: "toggleKeyEvents",
- value: function toggleKeyEvents(isListening) {
- // This exists because we must capture ENTER key presses before RichText.
- // It seems that react fires the simulated capturing events after the
- // native browser event has already bubbled so we can't stopPropagation
- // and avoid RichText getting the event from TinyMCE, hence we must
- // register a native event handler.
- var handler = isListening ? 'addEventListener' : 'removeEventListener';
- this.node[handler]('keydown', this.handleKeyDown, true);
- }
- }, {
key: "componentDidUpdate",
- value: function componentDidUpdate(prevProps, prevState) {
+ value: function componentDidUpdate(prevProps) {
var _this$props2 = this.props,
record = _this$props2.record,
completers = _this$props2.completers;
var prevRecord = prevProps.record;
- var prevOpen = prevState.open;
-
- if (!this.state.open !== !prevOpen) {
- this.toggleKeyEvents(!!this.state.open);
- }
if (Object(external_this_wp_richText_["isCollapsed"])(record)) {
- var text = Object(external_lodash_["deburr"])(Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(record, 0)));
- var prevText = Object(external_lodash_["deburr"])(Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(prevRecord, 0)));
+ var text = Object(external_this_lodash_["deburr"])(Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(record, 0)));
+ var prevText = Object(external_this_lodash_["deburr"])(Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(prevRecord, 0)));
if (text !== prevText) {
var textAfterSelection = Object(external_this_wp_richText_["getTextContent"])(Object(external_this_wp_richText_["slice"])(record, undefined, Object(external_this_wp_richText_["getTextContent"])(record).length));
- var allCompleters = Object(external_lodash_["map"])(completers, function (completer, idx) {
- return Object(objectSpread["a" /* default */])({}, completer, {
- idx: idx
- });
- });
- var open = Object(external_lodash_["find"])(allCompleters, function (_ref3) {
- var triggerPrefix = _ref3.triggerPrefix,
- allowContext = _ref3.allowContext;
+ var autocompleter = Object(external_this_lodash_["find"])(completers, function (_ref4) {
+ var triggerPrefix = _ref4.triggerPrefix,
+ allowContext = _ref4.allowContext;
var index = text.lastIndexOf(triggerPrefix);
if (index === -1) {
@@ -27918,157 +22133,6054 @@
return /^\S*$/.test(text.slice(index + triggerPrefix.length));
});
- if (!open) {
+ if (!autocompleter) {
this.reset();
return;
}
- var safeTrigger = Object(external_lodash_["escapeRegExp"])(open.triggerPrefix);
+ var safeTrigger = Object(external_this_lodash_["escapeRegExp"])(autocompleter.triggerPrefix);
var match = text.match(new RegExp("".concat(safeTrigger, "(\\S*)$")));
var query = match && match[1];
- var _this$state5 = this.state,
- wasOpen = _this$state5.open,
- wasSuppress = _this$state5.suppress,
- wasQuery = _this$state5.query;
-
- if (open && (!wasOpen || open.idx !== wasOpen.idx || query !== wasQuery)) {
- if (open.isDebounced) {
- this.debouncedLoadOptions(open, query);
- } else {
- this.loadOptions(open, query);
- }
- } // create a regular expression to filter the options
-
-
- var search = open ? new RegExp('(?:\\b|\\s|^)' + Object(external_lodash_["escapeRegExp"])(query), 'i') : /./; // filter the options we already have
-
- var filteredOptions = open ? filterOptions(search, this.state['options_' + open.idx]) : []; // check if we should still suppress the popover
-
- var suppress = open && wasSuppress === open.idx ? wasSuppress : undefined; // update the state
-
- if (wasOpen || open) {
- this.setState({
- selectedIndex: 0,
- filteredOptions: filteredOptions,
- suppress: suppress,
- search: search,
- open: open,
- query: query
- });
- } // announce the count of filtered options but only if they have loaded
-
-
- if (open && this.state['options_' + open.idx]) {
- this.announce(filteredOptions);
- }
- }
- }
- }
- }, {
- key: "componentWillUnmount",
- value: function componentWillUnmount() {
- this.toggleKeyEvents(false);
- this.debouncedLoadOptions.cancel();
+ this.setState({
+ autocompleter: autocompleter,
+ AutocompleterUI: autocompleter !== this.state.autocompleter ? autocomplete_getAutoCompleterUI(autocompleter) : this.state.AutocompleterUI,
+ filterValue: query
+ });
+ }
+ }
}
}, {
key: "render",
value: function render() {
- var _this3 = this;
-
var _this$props3 = this.props,
children = _this$props3.children,
- instanceId = _this$props3.instanceId;
- var _this$state6 = this.state,
- open = _this$state6.open,
- suppress = _this$state6.suppress,
- selectedIndex = _this$state6.selectedIndex,
- filteredOptions = _this$state6.filteredOptions;
-
- var _ref4 = filteredOptions[selectedIndex] || {},
- _ref4$key = _ref4.key,
- selectedKey = _ref4$key === void 0 ? '' : _ref4$key;
-
- var _ref5 = open || {},
- className = _ref5.className,
- idx = _ref5.idx;
-
- var isExpanded = suppress !== idx && filteredOptions.length > 0;
+ instanceId = _this$props3.instanceId,
+ isSelected = _this$props3.isSelected;
+ var _this$state4 = this.state,
+ autocompleter = _this$state4.autocompleter,
+ selectedIndex = _this$state4.selectedIndex,
+ filteredOptions = _this$state4.filteredOptions,
+ AutocompleterUI = _this$state4.AutocompleterUI,
+ filterValue = _this$state4.filterValue;
+
+ var _ref5 = filteredOptions[selectedIndex] || {},
+ _ref5$key = _ref5.key,
+ selectedKey = _ref5$key === void 0 ? '' : _ref5$key;
+
+ var _ref6 = autocompleter || {},
+ className = _ref6.className;
+
+ var isExpanded = !!autocompleter && filteredOptions.length > 0;
var listBoxId = isExpanded ? "components-autocomplete-listbox-".concat(instanceId) : null;
- var activeId = isExpanded ? "components-autocomplete-item-".concat(instanceId, "-").concat(selectedKey) : null; // Disable reason: Clicking the editor should reset the autocomplete when the menu is suppressed
-
- /* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */
-
- return Object(external_this_wp_element_["createElement"])("div", {
- ref: this.bindNode,
- onClick: this.resetWhenSuppressed,
- className: "components-autocomplete"
- }, children({
+ var activeId = isExpanded ? "components-autocomplete-item-".concat(instanceId, "-").concat(selectedKey) : null;
+ return Object(external_this_wp_element_["createElement"])(external_this_wp_element_["Fragment"], null, children({
isExpanded: isExpanded,
listBoxId: listBoxId,
- activeId: activeId
- }), isExpanded && Object(external_this_wp_element_["createElement"])(popover, {
- focusOnMount: false,
- onClose: this.reset,
- position: "top right",
- className: "components-autocomplete__popover",
- getAnchorRect: getCaretRect
- }, Object(external_this_wp_element_["createElement"])("div", {
- id: listBoxId,
- role: "listbox",
- className: "components-autocomplete__results"
- }, isExpanded && Object(external_lodash_["map"])(filteredOptions, function (option, index) {
- return Object(external_this_wp_element_["createElement"])(build_module_button, {
- key: option.key,
- id: "components-autocomplete-item-".concat(instanceId, "-").concat(option.key),
- role: "option",
- "aria-selected": index === selectedIndex,
- disabled: option.isDisabled,
- className: classnames_default()('components-autocomplete__result', className, {
- 'is-selected': index === selectedIndex
- }),
- onClick: function onClick() {
- return _this3.select(option);
- }
- }, option.label);
- }))));
- /* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */
+ activeId: activeId,
+ onKeyDown: this.handleKeyDown
+ }), isSelected && AutocompleterUI && Object(external_this_wp_element_["createElement"])(AutocompleterUI, {
+ className: className,
+ filterValue: filterValue,
+ instanceId: instanceId,
+ listBoxId: listBoxId,
+ selectedIndex: selectedIndex,
+ onChangeOptions: this.onChangeOptions,
+ onSelect: this.select,
+ onReset: this.onReset
+ }));
}
}]);
return Autocomplete;
}(external_this_wp_element_["Component"]);
-/* harmony default export */ var autocomplete = (Object(external_this_wp_compose_["compose"])([with_spoken_messages, external_this_wp_compose_["withInstanceId"], with_focus_outside])(autocomplete_Autocomplete));
-
-// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/base-control/index.js
-
-
-/**
- * External dependencies
- */
-
-
-function BaseControl(_ref) {
- var id = _ref.id,
- label = _ref.label,
- help = _ref.help,
+/* harmony default export */ var autocomplete = (Object(external_this_wp_compose_["compose"])([with_spoken_messages, external_this_wp_compose_["withInstanceId"]])(autocomplete_Autocomplete));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flex/styles/flex-styles.js
+
+
+function flex_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
+
+/**
+ * External dependencies
+ */
+
+
+var flex_styles_alignStyle = function alignStyle(_ref2) {
+ var align = _ref2.align;
+ var aligns = {
+ top: 'flex-start',
+ bottom: 'flex-end'
+ };
+ var value = aligns[align] || align;
+ return /*#__PURE__*/css_browser_esm({
+ alignItems: value
+ }, true ? "" : undefined);
+};
+
+var flex_styles_justifyStyle = function justifyStyle(_ref3) {
+ var justify = _ref3.justify,
+ isReversed = _ref3.isReversed;
+ var justifies = {
+ left: 'flex-start',
+ right: 'flex-end'
+ };
+ var value = justifies[justify] || justify;
+
+ if (isReversed && justifies[justify]) {
+ value = justify === 'left' ? justifies.right : justifies.left;
+ }
+
+ return /*#__PURE__*/css_browser_esm({
+ justifyContent: value
+ }, true ? "" : undefined);
+};
+
+var flex_styles_gapStyle = function gapStyle(_ref4) {
+ var gap = _ref4.gap,
+ isReversed = _ref4.isReversed;
+ var base = 4;
+ var value = typeof gap === 'number' ? base * gap : base;
+ var dir = isReversed ? 'left' : 'right';
+ var padding = "padding-".concat(dir);
+ return /*#__PURE__*/css_browser_esm("> *{", padding, ":", value, "px;&:last-child{", padding, ":0;}}" + ( true ? "" : undefined));
+};
+
+var flex_styles_ref = true ? {
+ name: "8kj89b",
+ styles: "flex-direction:row-reverse;"
+} : undefined;
+
+var reversedStyles = function reversedStyles(_ref5) {
+ var isReversed = _ref5.isReversed;
+ if (!isReversed) return '';
+ return flex_styles_ref;
+};
+
+var Flex = styled_base_browser_esm("div", {
+ target: "eboqfv50",
+ label: "Flex"
+})("box-sizing:border-box;display:flex;", flex_styles_alignStyle, ";", flex_styles_justifyStyle, ";", flex_styles_gapStyle, ";", reversedStyles, ";" + ( true ? "" : undefined));
+var Item = styled_base_browser_esm("div", {
+ target: "eboqfv51",
+ label: "Item"
+})( true ? {
+ name: "13luw5d",
+ styles: "box-sizing:border-box;min-width:0;max-width:100%;"
+} : undefined);
+var Block = /*#__PURE__*/styled_base_browser_esm(Item, {
+ target: "eboqfv52",
+ label: "Block"
+})( true ? {
+ name: "1rr4qq7",
+ styles: "flex:1;"
+} : undefined);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flex/item.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function FlexItem(_ref, ref) {
+ var className = _ref.className,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["className"]);
+
+ var classes = classnames_default()('components-flex__item', className);
+ return Object(external_this_wp_element_["createElement"])(Item, Object(esm_extends["a" /* default */])({}, props, {
+ className: classes,
+ ref: ref
+ }));
+}
+
+/* harmony default export */ var flex_item = (Object(external_this_wp_element_["forwardRef"])(FlexItem));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flex/block.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+function FlexBlock(_ref, ref) {
+ var className = _ref.className,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["className"]);
+
+ var classes = classnames_default()('components-flex__block', className);
+ return Object(external_this_wp_element_["createElement"])(Block, Object(esm_extends["a" /* default */])({}, props, {
+ className: classes,
+ ref: ref
+ }));
+}
+
+/* harmony default export */ var block = (Object(external_this_wp_element_["forwardRef"])(FlexBlock));
+
+// CONCATENATED MODULE: ./node_modules/react-use-gesture/dist/react-use-gesture.esm.js
+
+
+// vector add
+function addV(v1, v2) {
+ return v1.map(function (v, i) {
+ return v + v2[i];
+ });
+} // vector substract
+
+function subV(v1, v2) {
+ return v1.map(function (v, i) {
+ return v - v2[i];
+ });
+}
+/**
+ * Calculates velocity
+ * @param delta the difference between current and previous vectors
+ * @param delta_t the time offset
+ * @param len the length of the delta vector
+ * @returns velocity
+ */
+
+function calculateVelocity(delta, delta_t, len) {
+ len = len || Math.hypot.apply(Math, delta);
+ return delta_t ? len / delta_t : 0;
+}
+/**
+ * Calculates velocities vector
+ * @template T the expected vector type
+ * @param delta the difference between current and previous vectors
+ * @param delta_t the time offset
+ * @returns velocities vector
+ */
+
+function calculateVelocities(delta, delta_t) {
+ return delta_t ? delta.map(function (v) {
+ return v / delta_t;
+ }) : Array(delta.length).fill(0);
+}
+/**
+ * Calculates distance
+ * @param movement the difference between current and initial vectors
+ * @returns distance
+ */
+
+function calculateDistance(movement) {
+ return Math.hypot.apply(Math, movement);
+}
+/**
+ * Calculates direction
+ * @template T the expected vector type
+ * @param delta
+ * @param len
+ * @returns direction
+ */
+
+function calculateDirection(delta, len) {
+ len = len || Math.hypot.apply(Math, delta) || 1;
+ return delta.map(function (v) {
+ return v / len;
+ });
+}
+/**
+ * Calculates all kinematics
+ * @template T the expected vector type
+ * @param movement the difference between current and initial vectors
+ * @param delta the difference between current and previous vectors
+ * @param delta_t the time difference between current and previous timestamps
+ * @returns all kinematics
+ */
+
+function calculateAllKinematics(movement, delta, delta_t) {
+ var len = Math.hypot.apply(Math, delta);
+ return {
+ velocities: calculateVelocities(delta, delta_t),
+ velocity: calculateVelocity(delta, delta_t, len),
+ distance: calculateDistance(movement),
+ direction: calculateDirection(delta, len)
+ };
+}
+function getIntentionalDisplacement(movement, threshold) {
+ var abs = Math.abs(movement);
+ return abs >= threshold ? Math.sign(movement) * threshold : false;
+}
+
+function minMax(value, min, max) {
+ return Math.max(min, Math.min(value, max));
+} // Based on @aholachek ;)
+// https://twitter.com/chpwn/status/285540192096497664
+// iOS constant = 0.55
+// https://medium.com/@nathangitter/building-fluid-interfaces-ios-swift-9732bb934bf5
+
+
+function rubberband2(distance, constant) {
+ // default constant from the article is 0.7
+ return Math.pow(distance, constant * 5);
+}
+
+function rubberband(distance, dimension, constant) {
+ if (dimension === 0 || Math.abs(dimension) === Infinity) return rubberband2(distance, constant);
+ return distance * dimension * constant / (dimension + constant * distance);
+}
+
+function rubberbandIfOutOfBounds(position, min, max, constant) {
+ if (constant === void 0) {
+ constant = 0.15;
+ }
+
+ if (constant === 0) return minMax(position, min, max);
+
+ if (position < min) {
+ return -rubberband(min - position, max - min, constant) + min;
+ }
+
+ if (position > max) {
+ return rubberband(position - max, max - min, constant) + max;
+ }
+
+ return position;
+}
+
+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);
+ }
+}
+
+function _createClass(Constructor, protoProps, staticProps) {
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
+ if (staticProps) _defineProperties(Constructor, staticProps);
+ return Constructor;
+}
+
+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);
+}
+
+function _inheritsLoose(subClass, superClass) {
+ subClass.prototype = Object.create(superClass.prototype);
+ subClass.prototype.constructor = subClass;
+ subClass.__proto__ = superClass;
+}
+
+function _objectWithoutPropertiesLoose(source, excluded) {
+ if (source == null) return {};
+ var target = {};
+ var sourceKeys = Object.keys(source);
+ var key, i;
+
+ for (i = 0; i < sourceKeys.length; i++) {
+ key = sourceKeys[i];
+ if (excluded.indexOf(key) >= 0) continue;
+ target[key] = source[key];
+ }
+
+ return target;
+}
+
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
+ }
+
+ return self;
+}
+
+function _unsupportedIterableToArray(o, minLen) {
+ if (!o) return;
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
+ var n = Object.prototype.toString.call(o).slice(8, -1);
+ if (n === "Object" && o.constructor) n = o.constructor.name;
+ if (n === "Map" || n === "Set") return Array.from(n);
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
+}
+
+function _arrayLikeToArray(arr, len) {
+ if (len == null || len > arr.length) len = arr.length;
+
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+
+ return arr2;
+}
+
+function _createForOfIteratorHelperLoose(o) {
+ var i = 0;
+
+ if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
+ if (Array.isArray(o) || (o = _unsupportedIterableToArray(o))) return function () {
+ if (i >= o.length) return {
+ done: true
+ };
+ return {
+ done: false,
+ value: o[i++]
+ };
+ };
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
+ }
+
+ i = o[Symbol.iterator]();
+ return i.next.bind(i);
+}
+
+// blank function
+function noop() {} // returns a function that chains all functions given as parameters
+
+var chainFns = function chainFns() {
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
+ fns[_key] = arguments[_key];
+ }
+
+ return function () {
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ return fns.forEach(function (fn) {
+ return fn.apply(void 0, args);
+ });
+ };
+};
+var def = {
+ array: function array(value) {
+ return Array.isArray(value) ? value : [value, value];
+ },
+ withDefault: function withDefault(value, defaultIfUndefined) {
+ return value !== void 0 ? value : defaultIfUndefined;
+ }
+};
+function matchKeysFromObject(obj, matchingObject) {
+ var o = {};
+ Object.entries(obj).forEach(function (_ref) {
+ var key = _ref[0],
+ value = _ref[1];
+ return (value !== void 0 || key in matchingObject) && (o[key] = value);
+ });
+ return o;
+}
+function valueFn(v) {
+ return typeof v === 'function' ? v() : v;
+}
+
+function getInitialState() {
+ // common initial state for all gestures
+ var initialCommon = {
+ _active: false,
+ _blocked: false,
+ _intentional: [false, false],
+ _movement: [0, 0],
+ _initial: [0, 0],
+ _lastEventType: undefined,
+ event: undefined,
+ // currentTarget: undefined,
+ // pointerId: undefined,
+ values: [0, 0],
+ velocities: [0, 0],
+ delta: [0, 0],
+ movement: [0, 0],
+ offset: [0, 0],
+ lastOffset: [0, 0],
+ direction: [0, 0],
+ initial: [0, 0],
+ previous: [0, 0],
+ first: false,
+ last: false,
+ active: false,
+ timeStamp: 0,
+ startTime: 0,
+ elapsedTime: 0,
+ cancel: noop,
+ canceled: false,
+ memo: undefined,
+ args: undefined
+ }; // initial state for coordinates-based gestures
+
+ var initialCoordinates = {
+ axis: undefined,
+ xy: [0, 0],
+ vxvy: [0, 0],
+ velocity: 0,
+ distance: 0
+ }; // initial state for distance and angle-based gestures (pinch)
+
+ var initialDistanceAngle = {
+ da: [0, 0],
+ vdva: [0, 0],
+ origin: undefined,
+ turns: 0
+ }; // initial state object (used by the gesture controller)
+
+ return {
+ shared: {
+ hovering: false,
+ scrolling: false,
+ wheeling: false,
+ dragging: false,
+ moving: false,
+ pinching: false,
+ touches: 0,
+ buttons: 0,
+ down: false,
+ shiftKey: false,
+ altKey: false,
+ metaKey: false,
+ ctrlKey: false
+ },
+ drag: _extends({}, initialCommon, {}, initialCoordinates, {
+ _isTap: true,
+ _delayedEvent: false,
+ tap: false,
+ swipe: [0, 0]
+ }),
+ pinch: _extends({}, initialCommon, {}, initialDistanceAngle),
+ wheel: _extends({}, initialCommon, {}, initialCoordinates),
+ move: _extends({}, initialCommon, {}, initialCoordinates),
+ scroll: _extends({}, initialCommon, {}, initialCoordinates)
+ };
+}
+
+var setListeners = function setListeners(add) {
+ return function (el, listeners, options) {
+ var action = add ? 'addEventListener' : 'removeEventListener';
+ listeners.forEach(function (_ref) {
+ var eventName = _ref[0],
+ fn = _ref[1];
+ return el[action](eventName, fn, options);
+ });
+ };
+};
+/**
+ * Whether the browser supports GestureEvent (ie Safari)
+ * @returns true if the browser supports gesture event
+ */
+
+
+function supportsGestureEvents() {
+ try {
+ // TODO [TS] possibly find GestureEvent definitions?
+ // @ts-ignore: no type definitions for webkit GestureEvents
+ return 'constructor' in GestureEvent;
+ } catch (e) {
+ return false;
+ }
+}
+var addListeners = /*#__PURE__*/setListeners(true);
+var removeListeners = /*#__PURE__*/setListeners(false);
+/**
+ * Gets modifier keys from event
+ * @param event
+ * @returns modifier keys
+ */
+
+function getModifierKeys(event) {
+ var shiftKey = event.shiftKey,
+ altKey = event.altKey,
+ metaKey = event.metaKey,
+ ctrlKey = event.ctrlKey;
+ return {
+ shiftKey: shiftKey,
+ altKey: altKey,
+ metaKey: metaKey,
+ ctrlKey: ctrlKey
+ };
+}
+
+function getTouchEvents(event) {
+ if ('touches' in event) {
+ var touches = event.touches,
+ changedTouches = event.changedTouches;
+ return touches.length > 0 ? touches : changedTouches;
+ }
+
+ return null;
+}
+
+function getGenericEventData(event) {
+ var buttons = 'buttons' in event ? event.buttons : 0;
+ var touchEvents = getTouchEvents(event);
+ var touches = touchEvents && touchEvents.length || 0;
+ var down = touches > 0 || buttons > 0;
+ return _extends({
+ touches: touches,
+ down: down,
+ buttons: buttons
+ }, getModifierKeys(event));
+}
+/**
+ * Gets scroll event values
+ * @param event
+ * @returns scroll event values
+ */
+
+function getScrollEventValues(event) {
+ // If the currentTarget is the window then we return the scrollX/Y position.
+ // If not (ie the currentTarget is a DOM element), then we return scrollLeft/Top
+ var _event$currentTarget = event.currentTarget,
+ scrollX = _event$currentTarget.scrollX,
+ scrollY = _event$currentTarget.scrollY,
+ scrollLeft = _event$currentTarget.scrollLeft,
+ scrollTop = _event$currentTarget.scrollTop;
+ return {
+ values: [scrollX || scrollLeft || 0, scrollY || scrollTop || 0]
+ };
+}
+/**
+ * Gets wheel event values.
+ * @param event
+ * @returns wheel event values
+ */
+
+function getWheelEventValues(event) {
+ var deltaX = event.deltaX,
+ deltaY = event.deltaY; //TODO implement polyfill ?
+ // https://developer.mozilla.org/en-US/docs/Web/Events/wheel#Polyfill
+
+ return {
+ values: [deltaX, deltaY]
+ };
+}
+/**
+ * Gets pointer event values.
+ * @param event
+ * @returns pointer event values
+ */
+
+function getPointerEventValues(event) {
+ var touchEvents = getTouchEvents(event);
+
+ var _ref2 = touchEvents ? touchEvents[0] : event,
+ clientX = _ref2.clientX,
+ clientY = _ref2.clientY;
+
+ return {
+ values: [clientX, clientY]
+ };
+}
+var WEBKIT_DISTANCE_SCALE_FACTOR = 260;
+/**
+ * Gets webkit gesture event values.
+ * @param event
+ * @returns webkit gesture event values
+ */
+
+function getWebkitGestureEventValues(event) {
+ return {
+ values: [event.scale * WEBKIT_DISTANCE_SCALE_FACTOR, event.rotation]
+ };
+}
+/**
+ * Gets two touches event data
+ * @param event
+ * @returns two touches event data
+ */
+
+function getTwoTouchesEventData(event) {
+ var touches = event.touches;
+ var dx = touches[1].clientX - touches[0].clientX;
+ var dy = touches[1].clientY - touches[0].clientY;
+ var values = [Math.hypot(dx, dy), -(Math.atan2(dx, dy) * 180) / Math.PI];
+ var origin = [(touches[1].clientX + touches[0].clientX) / 2, (touches[1].clientY + touches[0].clientY) / 2];
+ return {
+ values: values,
+ origin: origin
+ };
+}
+
+/**
+ * The controller will keep track of the state for all gestures and also keep
+ * track of timeouts, and window listeners.
+ *
+ * @template BinderType the type the bind function should return
+ */
+
+var Controller = function Controller() {
+ var _this = this;
+
+ this.state = getInitialState(); // state for all gestures
+
+ this.timeouts = {}; // keeping track of timeouts for debounced gestures (such as move, scroll, wheel)
+
+ this.domListeners = []; // when config.domTarget is set, we attach events directly to the dom
+
+ this.windowListeners = {}; // keeps track of window listeners added by gestures (drag only at the moment)
+
+ this.bindings = {}; // an object holding the handlers associated to the gestures
+
+ /**
+ * Function ran on component unmount: cleans timeouts and removes dom listeners set by the bind function.
+ */
+
+ this.clean = function () {
+ _this.resetBindings();
+
+ Object.values(_this.timeouts).forEach(clearTimeout);
+ Object.keys(_this.windowListeners).forEach(function (stateKey) {
+ return _this.removeWindowListeners(stateKey);
+ });
+ };
+ /**
+ * Function run every time the bind function is run (ie on every render).
+ * Resets the binding object and remove dom listeners attached to config.domTarget
+ */
+
+
+ this.resetBindings = function () {
+ _this.bindings = {};
+
+ var domTarget = _this.getDomTarget();
+
+ if (domTarget) {
+ removeListeners(domTarget, _this.domListeners, _this.config.eventOptions);
+ _this.domListeners = [];
+ }
+ };
+ /**
+ * Returns the domTarget element and parses a ref if needed.
+ */
+
+
+ this.getDomTarget = function () {
+ var domTarget = _this.config.domTarget;
+ return domTarget && 'current' in domTarget ? domTarget.current : domTarget;
+ };
+ /**
+ * Commodity function to let recognizers simply add listeners to config.window.
+ */
+
+
+ this.addWindowListeners = function (stateKey, listeners) {
+ if (!_this.config.window) return; // we use this.windowListeners to keep track of the listeners we add
+
+ _this.windowListeners[stateKey] = listeners;
+ addListeners(_this.config.window, listeners, _this.config.eventOptions);
+ };
+ /**
+ * Commodity function to let recognizers simply remove listeners to config.window.
+ */
+
+
+ this.removeWindowListeners = function (stateKey) {
+ if (!_this.config.window) return;
+ var listeners = _this.windowListeners[stateKey];
+
+ if (listeners) {
+ removeListeners(_this.config.window, listeners, _this.config.eventOptions);
+ delete _this.windowListeners[stateKey];
+ }
+ };
+ /**
+ * When config.domTarget is set, this function will add dom listeners to it
+ */
+
+
+ this.addDomTargetListeners = function (target) {
+ /** We iterate on the entries of this.binding for each event, then we chain
+ * the array of functions mapped to it and push them to this.domListeners
+ */
+ Object.entries(_this.bindings).forEach(function (_ref) {
+ var event = _ref[0],
+ fns = _ref[1];
+
+ _this.domListeners.push([event.substr(2).toLowerCase(), chainFns.apply(void 0, fns)]);
+ });
+ addListeners(target, _this.domListeners, _this.config.eventOptions);
+ };
+ /**
+ * this.bindings is an object which keys match ReactEventHandlerKeys.
+ * Since a recognizer might want to bind a handler function to an event key already used by a previously
+ * added recognizer, we need to make sure that each event key is an array of all the functions mapped for
+ * that key.
+ */
+
+
+ this.addBindings = function (eventNames, fn) {
+ var eventNamesArray = !Array.isArray(eventNames) ? [eventNames] : eventNames;
+ eventNamesArray.forEach(function (eventName) {
+ if (_this.bindings[eventName]) _this.bindings[eventName].push(fn);else _this.bindings[eventName] = [fn];
+ });
+ };
+ /**
+ * getBindings will return an object that will be bound by users
+ * to the react component they want to interact with.
+ */
+
+
+ this.getBindings = function () {
+ var bindings = {};
+ var captureString = _this.config.captureString;
+ Object.entries(_this.bindings).forEach(function (_ref2) {
+ var event = _ref2[0],
+ fns = _ref2[1];
+ var fnsArray = Array.isArray(fns) ? fns : [fns];
+ var key = event + captureString;
+ bindings[key] = chainFns.apply(void 0, fnsArray);
+ });
+ return bindings;
+ };
+
+ this.getBind = function () {
+ // If config.domTarget is set we add event listeners to it and return the clean function.
+ if (_this.config.domTarget) {
+ var domTarget = _this.getDomTarget();
+
+ domTarget && _this.addDomTargetListeners(domTarget);
+ return _this.clean;
+ } // If not, we return an object that contains gesture handlers mapped to react handler event keys.
+
+
+ return _this.getBindings();
+ };
+};
+
+/**
+ * @private
+ *
+ * Utility hook called by all gesture hooks and that will be responsible for the internals.
+ *
+ * @param {Partial} handlers
+ * @param {RecognizerClasses} classes
+ * @param {InternalConfig} config
+ * @param {NativeHandlersPartial} nativeHandlers - native handlers such as onClick, onMouseDown, etc.
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useRecognizers(handlers, classes, config, nativeHandlers) {
+ // The gesture controller keeping track of all gesture states
+ var controller = external_this_React_default.a.useMemo(function () {
+ var current = new Controller();
+ /**
+ * The bind function will create gesture recognizers and return the right
+ * bind object depending on whether `domTarget` was specified in the config object.
+ */
+
+ var bind = function bind() {
+ current.resetBindings();
+
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ for (var _iterator = _createForOfIteratorHelperLoose(classes), _step; !(_step = _iterator()).done;) {
+ var RecognizerClass = _step.value;
+ new RecognizerClass(current, args).addBindings();
+ } // we also add event bindings for native handlers
+
+
+ if (controller.nativeRefs) {
+ for (var eventName in controller.nativeRefs) {
+ current.addBindings(eventName, // @ts-ignore we're cheating when it comes to event type :(
+ controller.nativeRefs[eventName]);
+ }
+ }
+
+ return current.getBind();
+ };
+
+ return {
+ nativeRefs: nativeHandlers,
+ current: current,
+ bind: bind
+ };
+ }, []); // We reassign the config and handlers to the controller on every render.
+
+ controller.current.config = config;
+ controller.current.handlers = handlers; // We assign nativeHandlers, otherwise they won't be refreshed on the next render.
+
+ controller.nativeRefs = nativeHandlers; // Run controller clean functions on unmount.
+
+ external_this_React_default.a.useEffect(function () {
+ return controller.current.clean;
+ }, []);
+ return controller.bind;
+}
+
+/**
+ * @private
+ * Recognizer abstract class.
+ *
+ * @protected
+ * @abstract
+ * @type {StateKey} whether the Recognizer should deal with coordinates or distance / angle
+ */
+
+var Recognizer = /*#__PURE__*/function () {
+ /**
+ * Creates an instance of a gesture recognizer.
+ * @param stateKey drag, move, pinch, etc.
+ * @param controller the controller attached to the gesture
+ * @param [args] the args that should be passed to the gesture handler
+ */
+ function Recognizer(stateKey, controller, args) {
+ var _this = this;
+
+ if (args === void 0) {
+ args = [];
+ }
+
+ this.stateKey = stateKey;
+ this.controller = controller;
+ this.args = args;
+ this.debounced = true; // Convenience method to set a timeout for a given gesture
+
+ this.setTimeout = function (callback, ms) {
+ var _window;
+
+ if (ms === void 0) {
+ ms = 140;
+ }
+
+ for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
+ args[_key - 2] = arguments[_key];
+ }
+
+ _this.controller.timeouts[_this.stateKey] = (_window = window).setTimeout.apply(_window, [callback, ms].concat(args));
+ }; // Convenience method to clear a timeout for a given gesture
+
+
+ this.clearTimeout = function () {
+ clearTimeout(_this.controller.timeouts[_this.stateKey]);
+ }; // Convenience method to add window listeners for a given gesture
+
+
+ this.addWindowListeners = function (listeners) {
+ _this.controller.addWindowListeners(_this.stateKey, listeners);
+ }; // Convenience method to remove window listeners for a given gesture
+
+
+ this.removeWindowListeners = function () {
+ _this.controller.removeWindowListeners(_this.stateKey);
+ };
+ /**
+ * Returns the reinitialized start state for the gesture.
+ * Should be common to all gestures.
+ *
+ * @param {Vector2} values
+ * @param {UseGestureEvent} event
+ * @returns - the start state for the gesture
+ */
+
+
+ this.getStartGestureState = function (values, event) {
+ return _extends({}, getInitialState()[_this.stateKey], {
+ _active: true,
+ values: values,
+ initial: values,
+ offset: _this.state.offset,
+ lastOffset: _this.state.offset,
+ startTime: event.timeStamp
+ });
+ }; // Runs rubberband on a vector
+
+
+ this.rubberband = function (vector, rubberband) {
+ var bounds = _this.config.bounds;
+ /**
+ * [x, y]: [rubberband(x, min, max), rubberband(y, min, max)]
+ */
+
+ return vector.map(function (v, i) {
+ return rubberbandIfOutOfBounds(v, bounds[i][0], bounds[i][1], rubberband[i]);
+ });
+ };
+ /**
+ * Fires the gesture handler
+ *
+ * @param {boolean} [forceFlag] - if true, then the handler will fire even if the gesture is not intentional
+ */
+
+
+ this.fireGestureHandler = function (forceFlag) {
+ /**
+ * If the gesture has been blocked (this can happen when the gesture has started in an unwanted direction),
+ * clean everything and don't do anything.
+ */
+ if (_this.state._blocked) {
+ // we need debounced gestures to end by themselves
+ if (!_this.debounced) {
+ _this.state._active = false;
+
+ _this.clean();
+ }
+
+ return null;
+ } // If the gesture has no intentional dimension, don't do fire the handler.
+
+
+ var _this$state$_intentio = _this.state._intentional,
+ intentionalX = _this$state$_intentio[0],
+ intentionalY = _this$state$_intentio[1];
+ if (!forceFlag && intentionalX === false && intentionalY === false) return null;
+ var _this$state = _this.state,
+ _active = _this$state._active,
+ active = _this$state.active;
+ _this.state.active = _active;
+ _this.state.first = _active && !active; // `first` is true when the gesture becomes active
+
+ _this.state.last = active && !_active; // `last` is true when the gesture becomes inactive
+
+ _this.controller.state.shared[_this.ingKey] = _active; // Sets dragging, pinching, etc. to the gesture active state
+
+ var state = _extends({}, _this.controller.state.shared, {}, _this.state, {}, _this.mapStateValues(_this.state)); // @ts-ignore
+
+
+ var newMemo = _this.handler(state); // Sets memo to the returned value of the handler (unless it's not undefined)
+
+
+ _this.state.memo = newMemo !== void 0 ? newMemo : _this.state.memo; // Cleans the gesture when the gesture is no longer active.
+
+ if (!_active) _this.clean();
+ return state;
+ };
+ } // Returns the gesture config
+
+
+ var _proto = Recognizer.prototype;
+
+ // Conveninence method to update the shared state
+ _proto.updateSharedState = function updateSharedState(sharedState) {
+ Object.assign(this.controller.state.shared, sharedState);
+ } // Conveninence method to update the gesture state
+ ;
+
+ _proto.updateGestureState = function updateGestureState(gestureState) {
+ Object.assign(this.state, gestureState);
+ }
+ /**
+ * Returns a generic, common payload for all gestures from an event.
+ *
+ * @param {UseGestureEvent} event
+ * @param {boolean} [isStartEvent]
+ * @returns - the generic gesture payload
+ */
+ ;
+
+ _proto.getGenericPayload = function getGenericPayload(event, isStartEvent) {
+ var timeStamp = event.timeStamp,
+ type = event.type;
+ var _this$state2 = this.state,
+ values = _this$state2.values,
+ startTime = _this$state2.startTime;
+ return {
+ _lastEventType: type,
+ event: event,
+ timeStamp: timeStamp,
+ elapsedTime: isStartEvent ? 0 : timeStamp - startTime,
+ args: this.args,
+ previous: values
+ };
+ }
+ /**
+ * Returns state properties depending on the movement and state.
+ *
+ * Should be overriden for custom behavior, doesn't do anything in the implementation
+ * below.
+ */
+ ;
+
+ _proto.checkIntentionality = function checkIntentionality(_intentional, _movement, _state) {
+ return {
+ _intentional: _intentional,
+ _blocked: false
+ };
+ }
+ /**
+ * Returns basic movement properties for the gesture based on the next values and current state.
+ */
+ ;
+
+ _proto.getMovement = function getMovement(values, state) {
+ if (state === void 0) {
+ state = this.state;
+ }
+
+ var _this$config = this.config,
+ initial = _this$config.initial,
+ threshold = _this$config.threshold,
+ rubberband = _this$config.rubberband;
+ var t0 = threshold[0],
+ t1 = threshold[1];
+ var _state2 = state,
+ _initial = _state2._initial,
+ _active = _state2._active,
+ intentional = _state2._intentional,
+ lastOffset = _state2.lastOffset,
+ prevMovement = _state2.movement;
+ var i0 = intentional[0],
+ i1 = intentional[1];
+
+ var _this$getInternalMove = this.getInternalMovement(values, state),
+ _m0 = _this$getInternalMove[0],
+ _m1 = _this$getInternalMove[1];
+ /**
+ * For both dimensions of the gesture, check its intentionality on each frame.
+ */
+
+
+ if (i0 === false) {
+ i0 = getIntentionalDisplacement(_m0, t0);
+ }
+
+ if (i1 === false) {
+ i1 = getIntentionalDisplacement(_m1, t1);
+ } // Get gesture specific state properties based on intentionality and movement.
+
+
+ var intentionalityCheck = this.checkIntentionality([i0, i1], [_m0, _m1], state);
+ var _intentional = intentionalityCheck._intentional,
+ _blocked = intentionalityCheck._blocked;
+ var _i0 = _intentional[0],
+ _i1 = _intentional[1];
+ var _movement = [_m0, _m1];
+ if (_i0 !== false && intentional[0] === false) _initial[0] = valueFn(initial)[0];
+ if (_i1 !== false && intentional[1] === false) _initial[1] = valueFn(initial)[1];
+ /**
+ * If the gesture has been blocked (from gesture specific checkIntentionality),
+ * stop right there.
+ */
+
+ if (_blocked) return _extends({}, intentionalityCheck, {
+ _movement: _movement,
+ delta: [0, 0]
+ });
+ /**
+ * The movement sent to the handler has 0 in its dimensions when intentionality is false.
+ * It is calculated from the actual movement minus the threshold.
+ */
+
+ var movement = [_i0 !== false ? _m0 - _i0 : valueFn(initial)[0], _i1 !== false ? _m1 - _i1 : valueFn(initial)[1]];
+ var offset = addV(movement, lastOffset);
+ /**
+ * Rubberband should be 0 when the gesture is no longer active, so that movement
+ * and offset can return within their bounds.
+ */
+
+ var _rubberband = _active ? rubberband : [0, 0];
+
+ movement = this.rubberband(addV(movement, _initial), _rubberband); // rubberbanded movement
+
+ return _extends({}, intentionalityCheck, {
+ _initial: _initial,
+ _movement: _movement,
+ movement: movement,
+ offset: this.rubberband(offset, _rubberband),
+ delta: subV(movement, prevMovement)
+ });
+ } // Cleans the gesture. Can be overriden by gestures.
+ ;
+
+ _proto.clean = function clean() {
+ this.clearTimeout();
+ this.removeWindowListeners();
+ };
+
+ _createClass(Recognizer, [{
+ key: "config",
+ get: function get() {
+ return this.controller.config[this.stateKey];
+ } // Is the gesture enabled
+
+ }, {
+ key: "enabled",
+ get: function get() {
+ return this.controller.config.enabled && this.config.enabled;
+ } // Returns the controller state for a given gesture
+
+ }, {
+ key: "state",
+ get: function get() {
+ return this.controller.state[this.stateKey];
+ } // Returns the gesture handler
+
+ }, {
+ key: "handler",
+ get: function get() {
+ return this.controller.handlers[this.stateKey];
+ }
+ }]);
+
+ return Recognizer;
+}();
+
+/**
+ * @private
+ * Abstract class for coordinates-based gesture recongizers
+ * @abstract
+ * @class CoordinatesRecognizer
+ * @extends {Recognizer}
+ * @template T
+ */
+
+var CoordinatesRecognizer = /*#__PURE__*/function (_Recognizer) {
+ _inheritsLoose(CoordinatesRecognizer, _Recognizer);
+
+ function CoordinatesRecognizer() {
+ return _Recognizer.apply(this, arguments) || this;
+ }
+
+ var _proto = CoordinatesRecognizer.prototype;
+
+ /**
+ * Returns the real movement (without taking intentionality into acount)
+ */
+ _proto.getInternalMovement = function getInternalMovement(values, state) {
+ return subV(values, state.initial);
+ }
+ /**
+ * In coordinates-based gesture, this function will detect the first intentional axis,
+ * lock the gesture axis if lockDirection is specified in the config, block the gesture
+ * if the first intentional axis doesn't match the specified axis in config.
+ *
+ * @param {[FalseOrNumber, FalseOrNumber]} _intentional
+ * @param {Vector2} _movement
+ * @param {PartialGestureState} state
+ */
+ ;
+
+ _proto.checkIntentionality = function checkIntentionality(_intentional, _movement, state) {
+ var _intentional2 = _intentional,
+ _ix = _intentional2[0],
+ _iy = _intentional2[1];
+ var intentionalMovement = _ix !== false || _iy !== false;
+ var axis = state.axis;
+ var _blocked = false; // If the movement is intentional, we can compute axis.
+
+ if (intentionalMovement) {
+ var _movement$map = _movement.map(Math.abs),
+ absX = _movement$map[0],
+ absY = _movement$map[1];
+
+ var _this$config = this.config,
+ configAxis = _this$config.axis,
+ lockDirection = _this$config.lockDirection; // We make sure we only set axis value if it hadn't been detected before.
+
+ axis = axis || (absX > absY ? 'x' : absX < absY ? 'y' : undefined);
+
+ if (!!configAxis || lockDirection) {
+ if (!!axis) {
+ // If the detected axis doesn't match the config axis we block the gesture
+ if (!!configAxis && axis !== configAxis) _blocked = true;else {
+ // Otherwise we prevent the gesture from updating the unwanted axis.
+ var lockedIndex = axis === 'x' ? 1 : 0;
+ _intentional[lockedIndex] = false;
+ }
+ } else {
+ // Until we've detected the axis, we prevent the hnadler from updating.
+ _intentional = [false, false];
+ }
+ }
+ }
+
+ return {
+ _intentional: _intentional,
+ _blocked: _blocked,
+ axis: axis
+ };
+ };
+
+ _proto.getKinematics = function getKinematics(values, event) {
+ var timeStamp = this.state.timeStamp;
+ var movementDetection = this.getMovement(values, this.state);
+ var _blocked = movementDetection._blocked,
+ delta = movementDetection.delta,
+ movement = movementDetection.movement;
+ if (_blocked) return movementDetection;
+ var delta_t = event.timeStamp - timeStamp;
+ var kinematics = calculateAllKinematics(movement, delta, delta_t);
+ return _extends({
+ values: values,
+ delta: delta
+ }, movementDetection, {}, kinematics);
+ };
+
+ _proto.mapStateValues = function mapStateValues(state) {
+ return {
+ xy: state.values,
+ vxvy: state.velocities
+ };
+ };
+
+ return CoordinatesRecognizer;
+}(Recognizer);
+
+var TAP_DISTANCE_THRESHOLD = 3;
+var SWIPE_MAX_ELAPSED_TIME = 220;
+var FILTER_REPEATED_EVENTS_DELAY = 200;
+
+var DragRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {
+ _inheritsLoose(DragRecognizer, _CoordinatesRecognize);
+
+ function DragRecognizer(controller, args) {
+ var _this;
+
+ _this = _CoordinatesRecognize.call(this, 'drag', controller, args) || this;
+ _this.ingKey = 'dragging';
+ _this.wasTouch = false;
+
+ _this.isEventTypeTouch = function (type) {
+ return !!type && type.indexOf('touch') === 0;
+ };
+
+ _this.dragShouldStart = function (event) {
+ var _getGenericEventData = getGenericEventData(event),
+ touches = _getGenericEventData.touches;
+
+ var _lastEventType = _this.state._lastEventType;
+ /**
+ * This tries to filter out mouse events triggered by touch screens
+ * */
+ // If the previous gesture was touch-based, and the current one is mouse based,
+ // this means that we might be dealing with mouse simulated events if they're close to
+ // each other. We're only doing this check when we're not using pointer events.
+
+ if (!_this.controller.config.pointer && _this.isEventTypeTouch(_lastEventType) && !_this.isEventTypeTouch(event.type)) {
+ var delay = Math.abs(event.timeStamp - _this.state.startTime);
+ if (delay < FILTER_REPEATED_EVENTS_DELAY) return false;
+ }
+
+ return _this.enabled && touches < 2;
+ };
+
+ _this.setPointers = function (event) {
+ var currentTarget = event.currentTarget,
+ pointerId = event.pointerId;
+ if (currentTarget) currentTarget.setPointerCapture(pointerId);
+
+ _this.updateGestureState({
+ currentTarget: currentTarget,
+ pointerId: pointerId
+ });
+ };
+
+ _this.removePointers = function () {
+ var _this$state = _this.state,
+ currentTarget = _this$state.currentTarget,
+ pointerId = _this$state.pointerId;
+ if (currentTarget && pointerId) currentTarget.releasePointerCapture(pointerId);
+ };
+
+ _this.setListeners = function (isTouch) {
+ _this.removeWindowListeners();
+
+ var dragListeners = isTouch ? [['touchmove', _this.onDragChange], ['touchend', _this.onDragEnd], ['touchcancel', _this.onDragEnd]] : [['mousemove', _this.onDragChange], ['mouseup', _this.onDragEnd]];
+
+ _this.addWindowListeners(dragListeners);
+ };
+
+ _this.onDragStart = function (event) {
+ if (!_this.dragShouldStart(event)) return; // if pointers events
+
+ if (_this.controller.config.pointer) _this.setPointers(event);else _this.setListeners(_this.isEventTypeTouch(event.type));
+
+ if (_this.config.delay > 0) {
+ _this.state._delayedEvent = true;
+ if (typeof event.persist === 'function') event.persist();
+
+ _this.setTimeout(function () {
+ return _this.startDrag(event);
+ }, _this.config.delay);
+ } else {
+ _this.startDrag(event);
+ }
+ };
+
+ _this.onDragChange = function (event) {
+ var canceled = _this.state.canceled;
+ if (canceled) return;
+
+ if (!_this.state._active) {
+ if (_this.state._delayedEvent) {
+ _this.clearTimeout();
+
+ _this.startDrag(event);
+ }
+
+ return;
+ }
+
+ var genericEventData = getGenericEventData(event);
+
+ if (!genericEventData.down) {
+ _this.onDragEnd(event);
+
+ return;
+ }
+
+ _this.updateSharedState(genericEventData);
+
+ var _getPointerEventValue = getPointerEventValues(event),
+ values = _getPointerEventValue.values;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ var _isTap = _this.state._isTap;
+ if (_isTap && calculateDistance(kinematics._movement) >= TAP_DISTANCE_THRESHOLD) _isTap = false;
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics, {
+ _isTap: _isTap,
+ cancel: function cancel() {
+ return _this.onCancel();
+ }
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onDragEnd = function (event) {
+ _this.state._active = false;
+
+ _this.updateSharedState({
+ down: false,
+ buttons: 0,
+ touches: 0
+ });
+
+ var _this$state2 = _this.state,
+ _isTap = _this$state2._isTap,
+ values = _this$state2.values,
+ _this$state2$velociti = _this$state2.velocities,
+ vx = _this$state2$velociti[0],
+ vy = _this$state2$velociti[1],
+ _this$state2$movement = _this$state2.movement,
+ mx = _this$state2$movement[0],
+ my = _this$state2$movement[1],
+ _this$state2$_intenti = _this$state2._intentional,
+ ix = _this$state2$_intenti[0],
+ iy = _this$state2$_intenti[1];
+
+ var endState = _extends({}, _this.getGenericPayload(event), {}, _this.getMovement(values));
+
+ var elapsedTime = endState.elapsedTime;
+ var _this$config = _this.config,
+ _this$config$swipeVel = _this$config.swipeVelocity,
+ svx = _this$config$swipeVel[0],
+ svy = _this$config$swipeVel[1],
+ _this$config$swipeDis = _this$config.swipeDistance,
+ sx = _this$config$swipeDis[0],
+ sy = _this$config$swipeDis[1];
+ var swipe = [0, 0];
+
+ if (elapsedTime < SWIPE_MAX_ELAPSED_TIME) {
+ if (ix !== false && Math.abs(vx) > svx && Math.abs(mx) > sx) swipe[0] = Math.sign(vx);
+ if (iy !== false && Math.abs(vy) > svy && Math.abs(my) > sy) swipe[1] = Math.sign(vy);
+ }
+
+ _this.updateGestureState(_extends({
+ event: event
+ }, endState, {
+ tap: _isTap,
+ swipe: swipe
+ }));
+
+ _this.fireGestureHandler(_this.config.filterTaps && _this.state._isTap);
+ };
+
+ _this.clean = function () {
+ _CoordinatesRecognize.prototype.clean.call(_assertThisInitialized(_this));
+
+ _this.state._delayedEvent = false;
+ if (_this.controller.config.pointer) _this.removePointers();
+ };
+
+ _this.onCancel = function () {
+ _this.updateGestureState({
+ canceled: true,
+ cancel: noop
+ });
+
+ _this.state._active = false;
+
+ _this.updateSharedState({
+ down: false,
+ buttons: 0,
+ touches: 0
+ });
+
+ requestAnimationFrame(function () {
+ return _this.fireGestureHandler();
+ });
+ };
+
+ return _this;
+ }
+
+ var _proto = DragRecognizer.prototype;
+
+ _proto.startDrag = function startDrag(event) {
+ var _this2 = this;
+
+ var _getPointerEventValue2 = getPointerEventValues(event),
+ values = _getPointerEventValue2.values;
+
+ this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, this.getStartGestureState(values, event), {}, this.getGenericPayload(event, true));
+
+ this.updateGestureState(_extends({}, startState, {}, this.getMovement(values, startState), {
+ cancel: function cancel() {
+ return _this2.onCancel();
+ }
+ }));
+ this.fireGestureHandler();
+ };
+
+ _proto.addBindings = function addBindings() {
+ if (this.controller.config.pointer) {
+ this.controller.addBindings('onPointerDown', this.onDragStart);
+ this.controller.addBindings('onPointerMove', this.onDragChange);
+ this.controller.addBindings(['onPointerUp', 'onPointerCancel'], this.onDragEnd);
+ } else {
+ this.controller.addBindings(['onTouchStart', 'onMouseDown'], this.onDragStart);
+ }
+ };
+
+ return DragRecognizer;
+}(CoordinatesRecognizer);
+
+var DEFAULT_DRAG_DELAY = 180;
+var DEFAULT_RUBBERBAND = 0.15;
+var DEFAULT_SWIPE_VELOCITY = 0.5;
+var DEFAULT_SWIPE_DISTANCE = 60;
+var defaultWindow = typeof window !== 'undefined' ? window : undefined;
+var defaultCoordinatesOptions = {
+ lockDirection: false,
+ axis: undefined,
+ bounds: undefined
+};
+/**
+ * @private
+ *
+ * Returns the internal generic option object.
+ *
+ * @param {Partial} [config={}]
+ * @returns {InternalGenericOptions}
+ */
+
+function getInternalGenericOptions(config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ _config$eventOptions = _config.eventOptions;
+ _config$eventOptions = _config$eventOptions === void 0 ? {} : _config$eventOptions;
+
+ var _config$eventOptions$ = _config$eventOptions.passive,
+ passive = _config$eventOptions$ === void 0 ? true : _config$eventOptions$,
+ _config$eventOptions$2 = _config$eventOptions.capture,
+ capture = _config$eventOptions$2 === void 0 ? false : _config$eventOptions$2,
+ _config$eventOptions$3 = _config$eventOptions.pointer,
+ pointer = _config$eventOptions$3 === void 0 ? false : _config$eventOptions$3,
+ _config$window = _config.window,
+ window = _config$window === void 0 ? defaultWindow : _config$window,
+ _config$domTarget = _config.domTarget,
+ domTarget = _config$domTarget === void 0 ? undefined : _config$domTarget,
+ _config$enabled = _config.enabled,
+ enabled = _config$enabled === void 0 ? true : _config$enabled,
+ restConfig = _objectWithoutPropertiesLoose(_config, ["eventOptions", "window", "domTarget", "enabled"]);
+
+ return _extends({}, restConfig, {
+ enabled: enabled,
+ domTarget: domTarget,
+ window: window,
+ // passive is always true if there's no domTarget
+ eventOptions: {
+ passive: !domTarget || !!passive,
+ capture: !!capture
+ },
+ captureString: capture ? 'Capture' : '',
+ pointer: !!pointer
+ });
+}
+function getInternalGestureOptions(gestureConfig) {
+ var _gestureConfig$thresh = gestureConfig.threshold,
+ threshold = _gestureConfig$thresh === void 0 ? undefined : _gestureConfig$thresh,
+ _gestureConfig$rubber = gestureConfig.rubberband,
+ rubberband = _gestureConfig$rubber === void 0 ? 0 : _gestureConfig$rubber,
+ _gestureConfig$enable = gestureConfig.enabled,
+ enabled = _gestureConfig$enable === void 0 ? true : _gestureConfig$enable,
+ _gestureConfig$initia = gestureConfig.initial,
+ initial = _gestureConfig$initia === void 0 ? [0, 0] : _gestureConfig$initia;
+ if (typeof rubberband === 'boolean') rubberband = rubberband ? DEFAULT_RUBBERBAND : 0;
+ if (threshold === void 0) threshold = 0;
+ return {
+ enabled: enabled,
+ initial: initial,
+ threshold: def.array(threshold),
+ rubberband: def.array(rubberband)
+ };
+}
+function getInternalCoordinatesOptions(coordinatesConfig) {
+ if (coordinatesConfig === void 0) {
+ coordinatesConfig = {};
+ }
+
+ var _coordinatesConfig = coordinatesConfig,
+ axis = _coordinatesConfig.axis,
+ lockDirection = _coordinatesConfig.lockDirection,
+ _coordinatesConfig$bo = _coordinatesConfig.bounds,
+ bounds = _coordinatesConfig$bo === void 0 ? {} : _coordinatesConfig$bo,
+ internalOptions = _objectWithoutPropertiesLoose(_coordinatesConfig, ["axis", "lockDirection", "bounds"]);
+
+ var boundsArray = [[def.withDefault(bounds.left, -Infinity), def.withDefault(bounds.right, Infinity)], [def.withDefault(bounds.top, -Infinity), def.withDefault(bounds.bottom, Infinity)]];
+ return _extends({}, getInternalGestureOptions(internalOptions), {}, defaultCoordinatesOptions, {}, matchKeysFromObject({
+ axis: axis,
+ lockDirection: lockDirection
+ }, coordinatesConfig), {
+ bounds: boundsArray
+ });
+}
+function getInternalDistanceAngleOptions(distanceAngleConfig) {
+ if (distanceAngleConfig === void 0) {
+ distanceAngleConfig = {};
+ }
+
+ var _distanceAngleConfig = distanceAngleConfig,
+ _distanceAngleConfig$ = _distanceAngleConfig.distanceBounds,
+ distanceBounds = _distanceAngleConfig$ === void 0 ? {} : _distanceAngleConfig$,
+ _distanceAngleConfig$2 = _distanceAngleConfig.angleBounds,
+ angleBounds = _distanceAngleConfig$2 === void 0 ? {} : _distanceAngleConfig$2,
+ internalOptions = _objectWithoutPropertiesLoose(_distanceAngleConfig, ["distanceBounds", "angleBounds"]);
+
+ var boundsArray = [[def.withDefault(distanceBounds.min, -Infinity), def.withDefault(distanceBounds.max, Infinity)], [def.withDefault(angleBounds.min, -Infinity), def.withDefault(angleBounds.max, Infinity)]];
+ return _extends({}, getInternalGestureOptions(internalOptions), {
+ bounds: boundsArray
+ });
+}
+function getInternalDragOptions(dragConfig) {
+ if (dragConfig === void 0) {
+ dragConfig = {};
+ }
+
+ var _dragConfig = dragConfig,
+ enabled = _dragConfig.enabled,
+ threshold = _dragConfig.threshold,
+ bounds = _dragConfig.bounds,
+ rubberband = _dragConfig.rubberband,
+ initial = _dragConfig.initial,
+ dragOptions = _objectWithoutPropertiesLoose(_dragConfig, ["enabled", "threshold", "bounds", "rubberband", "initial"]);
+
+ var _dragOptions$swipeVel = dragOptions.swipeVelocity,
+ swipeVelocity = _dragOptions$swipeVel === void 0 ? DEFAULT_SWIPE_VELOCITY : _dragOptions$swipeVel,
+ _dragOptions$swipeDis = dragOptions.swipeDistance,
+ swipeDistance = _dragOptions$swipeDis === void 0 ? DEFAULT_SWIPE_DISTANCE : _dragOptions$swipeDis,
+ _dragOptions$delay = dragOptions.delay,
+ delay = _dragOptions$delay === void 0 ? false : _dragOptions$delay,
+ _dragOptions$filterTa = dragOptions.filterTaps,
+ filterTaps = _dragOptions$filterTa === void 0 ? false : _dragOptions$filterTa,
+ axis = dragOptions.axis,
+ lockDirection = dragOptions.lockDirection;
+
+ if (threshold === void 0) {
+ threshold = Math.max(0, filterTaps ? 3 : 0, lockDirection || axis ? 1 : 0);
+ } else {
+ filterTaps = true;
+ }
+
+ var internalCoordinatesOptions = getInternalCoordinatesOptions(matchKeysFromObject({
+ enabled: enabled,
+ threshold: threshold,
+ bounds: bounds,
+ rubberband: rubberband,
+ axis: axis,
+ lockDirection: lockDirection,
+ initial: initial
+ }, dragConfig));
+ return _extends({}, internalCoordinatesOptions, {
+ filterTaps: filterTaps || internalCoordinatesOptions.threshold[0] + internalCoordinatesOptions.threshold[1] > 0,
+ swipeVelocity: def.array(swipeVelocity),
+ swipeDistance: def.array(swipeDistance),
+ delay: typeof delay === 'number' ? delay : delay ? DEFAULT_DRAG_DELAY : 0
+ });
+}
+
+/**
+ * @public
+ *
+ * Drag hook.
+ *
+ * @param {Handler<'drag'>} handler - the function fired every time the drag gesture updates
+ * @param {(Config | {})} [config={}] - the config object including generic options and drag options
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useDrag(handler, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ domTarget = _config.domTarget,
+ eventOptions = _config.eventOptions,
+ window = _config.window,
+ drag = _objectWithoutPropertiesLoose(_config, ["domTarget", "eventOptions", "window"]);
+ /**
+ * TODO: at the moment we recompute the config object at every render
+ * this could probably be optimized
+ */
+
+
+ var mergedConfig = _extends({}, getInternalGenericOptions({
+ domTarget: domTarget,
+ eventOptions: eventOptions,
+ window: window
+ }), {
+ drag: getInternalDragOptions(drag)
+ });
+
+ return useRecognizers({
+ drag: handler
+ }, [DragRecognizer], mergedConfig);
+}
+
+/**
+ * @private
+ * Abstract class for distance/angle-based gesture recongizers
+ * @abstract
+ * @class DistanceAngleRecognizer
+ * @extends {Recognizer}
+ * @template T
+ */
+
+var DistanceAngleRecognizer = /*#__PURE__*/function (_Recognizer) {
+ _inheritsLoose(DistanceAngleRecognizer, _Recognizer);
+
+ function DistanceAngleRecognizer() {
+ return _Recognizer.apply(this, arguments) || this;
+ }
+
+ var _proto = DistanceAngleRecognizer.prototype;
+
+ /**
+ * Returns the real movement (without taking intentionality into acount)
+ */
+ _proto.getInternalMovement = function getInternalMovement(_ref, state) {
+ var d = _ref[0],
+ a = _ref[1];
+ var da = state.values,
+ turns = state.turns,
+ initial = state.initial; // angle might not be defined when ctrl wheel is used for zoom only
+ // in that case we set it to the previous angle value
+
+ a = a !== void 0 ? a : da[1];
+ var delta_a = a - da[1];
+ /**
+ * The angle value might jump from 179deg to -179deg when we actually want to
+ * read 181deg to ensure continuity. To make that happen, we detect when the jump
+ * is supsiciously high (ie > 270deg) and increase the `turns` value
+ */
+
+ var newTurns = Math.abs(delta_a) > 270 ? turns + Math.sign(delta_a) : turns; // we update the angle difference to its corrected value
+
+ var movement_d = d - initial[0];
+ var movement_a = a - 360 * newTurns - initial[1];
+ return [movement_d, movement_a];
+ };
+
+ _proto.getKinematics = function getKinematics(values, event) {
+ var _this$state = this.state,
+ timeStamp = _this$state.timeStamp,
+ initial = _this$state.initial;
+ var movementDetection = this.getMovement(values, this.state);
+ var delta = movementDetection.delta,
+ movement = movementDetection.movement;
+ var turns = (values[1] - movement[1] - initial[1]) / 360;
+ var delta_t = event.timeStamp - timeStamp;
+ var kinematics = calculateAllKinematics(movement, delta, delta_t);
+ return _extends({
+ values: values,
+ delta: delta,
+ turns: turns
+ }, movementDetection, {}, kinematics);
+ };
+
+ _proto.mapStateValues = function mapStateValues(state) {
+ return {
+ da: state.values,
+ vdva: state.velocities
+ };
+ };
+
+ return DistanceAngleRecognizer;
+}(Recognizer);
+
+var PinchRecognizer = /*#__PURE__*/function (_DistanceAngleRecogni) {
+ _inheritsLoose(PinchRecognizer, _DistanceAngleRecogni);
+
+ function PinchRecognizer(controller, args) {
+ var _this;
+
+ _this = _DistanceAngleRecogni.call(this, 'pinch', controller, args) || this;
+ _this.ingKey = 'pinching';
+
+ _this.pinchShouldStart = function (event) {
+ var _getGenericEventData = getGenericEventData(event),
+ touches = _getGenericEventData.touches;
+
+ return _this.enabled && touches === 2;
+ };
+
+ _this.onPinchStart = function (event) {
+ if (!_this.pinchShouldStart(event)) return;
+
+ var _getTwoTouchesEventDa = getTwoTouchesEventData(event),
+ values = _getTwoTouchesEventDa.values,
+ origin = _getTwoTouchesEventDa.origin;
+
+ _this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, _this.getStartGestureState(values, event), {}, _this.getGenericPayload(event, true));
+
+ _this.updateGestureState(_extends({}, startState, {}, _this.getMovement(values, startState), {
+ origin: origin,
+ cancel: function cancel() {
+ return _this.onCancel();
+ }
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onPinchChange = function (event) {
+ var _this$state = _this.state,
+ canceled = _this$state.canceled,
+ timeStamp = _this$state.timeStamp,
+ _active = _this$state._active;
+ if (canceled || !_active) return;
+ var genericEventData = getGenericEventData(event);
+ if (genericEventData.touches !== 2 || event.timeStamp === timeStamp) return;
+
+ _this.updateSharedState(genericEventData);
+
+ var _getTwoTouchesEventDa2 = getTwoTouchesEventData(event),
+ values = _getTwoTouchesEventDa2.values,
+ origin = _getTwoTouchesEventDa2.origin;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics, {
+ origin: origin,
+ cancel: function cancel() {
+ return _this.onCancel();
+ }
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onPinchEnd = function (event) {
+ if (!_this.state.active) return;
+ _this.state._active = false;
+
+ _this.updateSharedState({
+ down: false,
+ touches: 0
+ });
+
+ _this.updateGestureState(_extends({
+ event: event
+ }, _this.getGenericPayload(event), {}, _this.getMovement(_this.state.values)));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onCancel = function () {
+ _this.state._active = false;
+
+ _this.updateGestureState({
+ canceled: true,
+ cancel: noop
+ });
+
+ _this.updateSharedState({
+ down: false,
+ touches: 0
+ });
+
+ requestAnimationFrame(function () {
+ return _this.fireGestureHandler();
+ });
+ };
+ /**
+ * PINCH WITH WEBKIT GESTURES
+ */
+
+
+ _this.onGestureStart = function (event) {
+ if (!_this.enabled) return;
+ event.preventDefault();
+
+ var _getWebkitGestureEven = getWebkitGestureEventValues(event),
+ values = _getWebkitGestureEven.values;
+
+ _this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, _this.getStartGestureState(values, event), {}, _this.getGenericPayload(event, true));
+
+ _this.updateGestureState(_extends({}, startState, {}, _this.getMovement(values, startState), {
+ cancel: function cancel() {
+ return _this.onCancel();
+ }
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onGestureChange = function (event) {
+ var _this$state2 = _this.state,
+ canceled = _this$state2.canceled,
+ _active = _this$state2._active;
+ if (canceled || !_active) return;
+ event.preventDefault();
+ var genericEventData = getGenericEventData(event);
+
+ _this.updateSharedState(genericEventData);
+
+ var _getWebkitGestureEven2 = getWebkitGestureEventValues(event),
+ values = _getWebkitGestureEven2.values;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics, {
+ cancel: function cancel() {
+ return _this.onCancel();
+ }
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onGestureEnd = function (event) {
+ event.preventDefault();
+ if (!_this.state.active) return;
+ _this.state._active = false;
+
+ _this.updateSharedState({
+ down: false,
+ touches: 0
+ });
+
+ _this.updateGestureState(_extends({
+ event: event
+ }, _this.getGenericPayload(event), {}, _this.getMovement(_this.state.values)));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.updateTouchData = function (event) {
+ if (!_this.enabled || event.touches.length !== 2 || !_this.state._active) return;
+
+ var _getTwoTouchesEventDa3 = getTwoTouchesEventData(event),
+ origin = _getTwoTouchesEventDa3.origin;
+
+ _this.state.origin = origin;
+ };
+ /**
+ * PINCH WITH WHEEL
+ */
+
+
+ _this.wheelShouldRun = function (event) {
+ return _this.enabled && event.ctrlKey;
+ };
+
+ _this.getWheelValuesFromEvent = function (event) {
+ var _getWheelEventValues = getWheelEventValues(event),
+ _getWheelEventValues$ = _getWheelEventValues.values,
+ delta_d = _getWheelEventValues$[1];
+
+ var _this$state$values = _this.state.values,
+ prev_d = _this$state$values[0],
+ prev_a = _this$state$values[1];
+ var d = prev_d - delta_d;
+ var a = prev_a !== void 0 ? prev_a : 0;
+ return {
+ values: [d, a],
+ origin: [event.clientX, event.clientY],
+ delta: [0, delta_d]
+ };
+ };
+
+ _this.onWheel = function (event) {
+ if (!_this.wheelShouldRun(event)) return;
+
+ _this.clearTimeout();
+
+ _this.setTimeout(_this.onWheelEnd);
+
+ if (!_this.state._active) _this.onWheelStart(event);else _this.onWheelChange(event);
+ };
+
+ _this.onWheelStart = function (event) {
+ var _this$getWheelValuesF = _this.getWheelValuesFromEvent(event),
+ values = _this$getWheelValuesF.values,
+ delta = _this$getWheelValuesF.delta,
+ origin = _this$getWheelValuesF.origin;
+
+ if (!_this.controller.config.eventOptions.passive) {
+ event.preventDefault();
+ } else if (false) {}
+
+ _this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, _this.getStartGestureState(values, event), {}, _this.getGenericPayload(event, true), {
+ initial: _this.state.values
+ });
+
+ _this.updateGestureState(_extends({}, startState, {}, _this.getMovement(values, startState), {
+ offset: values,
+ delta: delta,
+ origin: origin
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onWheelChange = function (event) {
+ var genericEventData = getGenericEventData(event);
+
+ _this.updateSharedState(genericEventData);
+
+ var _this$getWheelValuesF2 = _this.getWheelValuesFromEvent(event),
+ values = _this$getWheelValuesF2.values,
+ origin = _this$getWheelValuesF2.origin,
+ delta = _this$getWheelValuesF2.delta;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics, {
+ origin: origin,
+ delta: delta
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onWheelEnd = function () {
+ _this.state._active = false;
+
+ _this.updateGestureState(_this.getMovement(_this.state.values));
+
+ _this.fireGestureHandler();
+ };
+
+ return _this;
+ }
+
+ var _proto = PinchRecognizer.prototype;
+
+ _proto.addBindings = function addBindings() {
+ // Only try to use gesture events when they are supported and domTarget is set
+ // as React doesn't support gesture handlers.
+ if (this.controller.config.domTarget && supportsGestureEvents()) {
+ this.controller.addBindings('onGestureStart', this.onGestureStart);
+ this.controller.addBindings('onGestureChange', this.onGestureChange);
+ this.controller.addBindings(['onGestureEnd', 'onTouchCancel'], this.onGestureEnd);
+ this.controller.addBindings(['onTouchStart', 'onTouchMove'], this.updateTouchData);
+ } else {
+ this.controller.addBindings('onTouchStart', this.onPinchStart);
+ this.controller.addBindings('onTouchMove', this.onPinchChange);
+ this.controller.addBindings(['onTouchEnd', 'onTouchCancel'], this.onPinchEnd);
+ this.controller.addBindings('onWheel', this.onWheel);
+ }
+ };
+
+ return PinchRecognizer;
+}(DistanceAngleRecognizer);
+
+/**
+ * @public
+ *
+ * Pinch hook.
+ *
+ * @param {Handler<'pinch'>} handler - the function fired every time the pinch gesture updates
+ * @param {(Config | {})} [config={}] - the config object including generic options and pinch options
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function usePinch(handler, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ domTarget = _config.domTarget,
+ eventOptions = _config.eventOptions,
+ window = _config.window,
+ pinch = _objectWithoutPropertiesLoose(_config, ["domTarget", "eventOptions", "window"]);
+ /**
+ * TODO: at the moment we recompute the config object at every render
+ * this could probably be optimized
+ */
+
+
+ var mergedConfig = _extends({}, getInternalGenericOptions({
+ domTarget: domTarget,
+ eventOptions: eventOptions,
+ window: window
+ }), {
+ pinch: getInternalDistanceAngleOptions(pinch)
+ });
+
+ return useRecognizers({
+ pinch: handler
+ }, [PinchRecognizer], mergedConfig);
+}
+
+var WheelRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {
+ _inheritsLoose(WheelRecognizer, _CoordinatesRecognize);
+
+ function WheelRecognizer(controller, args) {
+ var _this;
+
+ _this = _CoordinatesRecognize.call(this, 'wheel', controller, args) || this;
+ _this.ingKey = 'wheeling';
+ _this.debounced = true;
+
+ _this.wheelShouldRun = function (event) {
+ if (event.ctrlKey && 'pinch' in _this.controller.handlers) return false;
+ return _this.enabled;
+ };
+
+ _this.getValuesFromEvent = function (event) {
+ var prevValues = _this.state.values;
+
+ var _getWheelEventValues = getWheelEventValues(event),
+ values = _getWheelEventValues.values;
+
+ return {
+ values: addV(values, prevValues)
+ };
+ };
+
+ _this.onWheel = function (event) {
+ if (!_this.wheelShouldRun(event)) return;
+
+ _this.clearTimeout();
+
+ _this.setTimeout(_this.onWheelEnd);
+
+ if (!_this.state._active) _this.onWheelStart(event);else _this.onWheelChange(event);
+ };
+
+ _this.onWheelStart = function (event) {
+ var _this$getValuesFromEv = _this.getValuesFromEvent(event),
+ values = _this$getValuesFromEv.values;
+
+ _this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, _this.getStartGestureState(values, event), {}, _this.getGenericPayload(event, true), {
+ initial: _this.state.values
+ });
+
+ var movementDetection = _this.getMovement(values, startState);
+
+ var delta = movementDetection.delta;
+
+ _this.updateGestureState(_extends({}, startState, {}, movementDetection, {
+ distance: calculateDistance(delta),
+ direction: calculateDirection(delta)
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onWheelChange = function (event) {
+ var genericEventData = getGenericEventData(event);
+
+ _this.updateSharedState(genericEventData);
+
+ var _this$getValuesFromEv2 = _this.getValuesFromEvent(event),
+ values = _this$getValuesFromEv2.values;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onWheelEnd = function () {
+ _this.state._active = false;
+
+ _this.updateGestureState(_extends({}, _this.getMovement(_this.state.values), {
+ velocities: [0, 0],
+ velocity: 0
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ return _this;
+ }
+
+ var _proto = WheelRecognizer.prototype;
+
+ _proto.addBindings = function addBindings() {
+ this.controller.addBindings('onWheel', this.onWheel);
+ };
+
+ return WheelRecognizer;
+}(CoordinatesRecognizer);
+
+/**
+ * @public
+ *
+ * Wheel hook.
+ *
+ * @param {Handler<'wheel'>} handler - the function fired every time the wheel gesture updates
+ * @param {(Config | {})} [config={}] - the config object including generic options and wheel options
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useWheel(handler, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ domTarget = _config.domTarget,
+ eventOptions = _config.eventOptions,
+ window = _config.window,
+ wheel = _objectWithoutPropertiesLoose(_config, ["domTarget", "eventOptions", "window"]);
+ /**
+ * TODO: at the moment we recompute the config object at every render
+ * this could probably be optimized
+ */
+
+
+ var mergedConfig = _extends({}, getInternalGenericOptions({
+ domTarget: domTarget,
+ eventOptions: eventOptions,
+ window: window
+ }), {
+ wheel: getInternalCoordinatesOptions(wheel)
+ });
+
+ return useRecognizers({
+ wheel: handler
+ }, [WheelRecognizer], mergedConfig);
+}
+
+var MoveRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {
+ _inheritsLoose(MoveRecognizer, _CoordinatesRecognize);
+
+ function MoveRecognizer(controller, args) {
+ var _this;
+
+ _this = _CoordinatesRecognize.call(this, 'move', controller, args) || this;
+ _this.ingKey = 'moving';
+ _this.debounced = true;
+
+ _this.moveShouldRun = function () {
+ return _this.enabled;
+ };
+
+ _this.onMove = function (event) {
+ if (!_this.moveShouldRun()) return;
+
+ _this.clearTimeout();
+
+ _this.setTimeout(_this.onMoveEnd);
+
+ if (!_this.state._active) _this.onMoveStart(event);else _this.onMoveChange(event);
+ };
+
+ _this.onMoveStart = function (event) {
+ var _getPointerEventValue = getPointerEventValues(event),
+ values = _getPointerEventValue.values;
+
+ _this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, _this.getStartGestureState(values, event), {}, _this.getGenericPayload(event, true));
+
+ _this.updateGestureState(_extends({}, startState, {}, _this.getMovement(values, startState)));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onMoveChange = function (event) {
+ var genericEventData = getGenericEventData(event);
+
+ _this.updateSharedState(genericEventData);
+
+ var _getPointerEventValue2 = getPointerEventValues(event),
+ values = _getPointerEventValue2.values;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onMoveEnd = function () {
+ _this.state._active = false;
+
+ _this.updateGestureState(_extends({}, _this.getMovement(_this.state.values), {
+ velocities: [0, 0],
+ velocity: 0
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onPointerEnter = function (event) {
+ _this.controller.state.shared.hovering = true;
+ if (!_this.controller.config.enabled) return;
+
+ if (_this.controller.config.hover.enabled) {
+ var _getPointerEventValue3 = getPointerEventValues(event),
+ values = _getPointerEventValue3.values;
+
+ var state = _extends({}, _this.controller.state.shared, {}, _this.state, {}, _this.getGenericPayload(event, true), {
+ values: values,
+ active: true,
+ hovering: true
+ });
+
+ _this.controller.handlers.hover(_extends({}, state, {}, _this.mapStateValues(state)));
+ }
+
+ if ('move' in _this.controller.handlers) _this.onMoveStart(event);
+ };
+
+ _this.onPointerLeave = function (event) {
+ _this.controller.state.shared.hovering = false;
+ if ('move' in _this.controller.handlers) _this.onMoveEnd();
+
+ if (_this.controller.config.hover.enabled) {
+ var _getPointerEventValue4 = getPointerEventValues(event),
+ values = _getPointerEventValue4.values;
+
+ var state = _extends({}, _this.controller.state.shared, {}, _this.state, {}, _this.getGenericPayload(event), {
+ values: values,
+ active: false
+ });
+
+ _this.controller.handlers.hover(_extends({}, state, {}, _this.mapStateValues(state)));
+ }
+ };
+
+ return _this;
+ }
+
+ var _proto = MoveRecognizer.prototype;
+
+ _proto.addBindings = function addBindings() {
+ if (this.controller.config.pointer) {
+ if ('move' in this.controller.handlers) {
+ this.controller.addBindings('onPointerMove', this.onMove);
+ }
+
+ if ('hover' in this.controller.handlers) {
+ this.controller.addBindings('onPointerEnter', this.onPointerEnter);
+ this.controller.addBindings('onPointerLeave', this.onPointerLeave);
+ }
+ } else {
+ if ('move' in this.controller.handlers) {
+ this.controller.addBindings('onMouseMove', this.onMove);
+ }
+
+ if ('hover' in this.controller.handlers) {
+ this.controller.addBindings('onMouseEnter', this.onPointerEnter);
+ this.controller.addBindings('onMouseLeave', this.onPointerLeave);
+ }
+ }
+ };
+
+ return MoveRecognizer;
+}(CoordinatesRecognizer);
+
+/**
+ * @public
+ *
+ * Move hook.
+ *
+ * @param {Handler<'move'>} handler - the function fired every time the move gesture updates
+ * @param {(Config | {})} [config={}] - the config object including generic options and move options
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useMove(handler, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ domTarget = _config.domTarget,
+ eventOptions = _config.eventOptions,
+ window = _config.window,
+ move = _objectWithoutPropertiesLoose(_config, ["domTarget", "eventOptions", "window"]);
+ /**
+ * TODO: at the moment we recompute the config object at every render
+ * this could probably be optimized
+ */
+
+
+ var mergedConfig = _extends({}, getInternalGenericOptions({
+ domTarget: domTarget,
+ eventOptions: eventOptions,
+ window: window
+ }), {
+ move: getInternalCoordinatesOptions(move)
+ });
+
+ return useRecognizers({
+ move: handler
+ }, [MoveRecognizer], mergedConfig);
+}
+
+/**
+ * @public
+ *
+ * Hover hook.
+ *
+ * @param {Handler<'hover'>} handler - the function fired every time the hover gesture updates
+ * @param {(Config | {})} [config={}] - the config object including generic options and hover options
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useHover(handler, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ domTarget = _config.domTarget,
+ eventOptions = _config.eventOptions,
+ window = _config.window,
+ hover = _objectWithoutPropertiesLoose(_config, ["domTarget", "eventOptions", "window"]);
+ /**
+ * TODO: at the moment we recompute the config object at every render
+ * this could probably be optimized
+ */
+
+
+ var mergedConfig = _extends({}, getInternalGenericOptions({
+ domTarget: domTarget,
+ eventOptions: eventOptions,
+ window: window
+ }), {
+ hover: _extends({
+ enabled: true
+ }, hover)
+ });
+
+ return useRecognizers({
+ hover: handler
+ }, [MoveRecognizer], mergedConfig);
+}
+
+var ScrollRecognizer = /*#__PURE__*/function (_CoordinatesRecognize) {
+ _inheritsLoose(ScrollRecognizer, _CoordinatesRecognize);
+
+ function ScrollRecognizer(controller, args) {
+ var _this;
+
+ _this = _CoordinatesRecognize.call(this, 'scroll', controller, args) || this;
+ _this.ingKey = 'scrolling';
+ _this.debounced = true;
+
+ _this.scrollShouldRun = function () {
+ return _this.enabled;
+ };
+
+ _this.onScroll = function (event) {
+ if (!_this.scrollShouldRun()) return;
+
+ _this.clearTimeout();
+
+ _this.setTimeout(_this.onScrollEnd);
+
+ if (!_this.state._active) _this.onScrollStart(event);else _this.onScrollChange(event);
+ };
+
+ _this.onScrollStart = function (event) {
+ var _getScrollEventValues = getScrollEventValues(event),
+ values = _getScrollEventValues.values;
+
+ _this.updateSharedState(getGenericEventData(event));
+
+ var startState = _extends({}, _this.getStartGestureState(values, event), {}, _this.getGenericPayload(event, true), {
+ initial: _this.state.values
+ });
+
+ var movementDetection = _this.getMovement(values, startState);
+
+ var delta = movementDetection.delta;
+
+ _this.updateGestureState(_extends({}, startState, {}, movementDetection, {
+ distance: calculateDistance(delta),
+ direction: calculateDirection(delta)
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onScrollChange = function (event) {
+ var genericEventData = getGenericEventData(event);
+
+ _this.updateSharedState(genericEventData);
+
+ var _getScrollEventValues2 = getScrollEventValues(event),
+ values = _getScrollEventValues2.values;
+
+ var kinematics = _this.getKinematics(values, event);
+
+ _this.updateGestureState(_extends({}, _this.getGenericPayload(event), {}, kinematics));
+
+ _this.fireGestureHandler();
+ };
+
+ _this.onScrollEnd = function () {
+ _this.state._active = false;
+
+ _this.updateGestureState(_extends({}, _this.getMovement(_this.state.values), {
+ velocities: [0, 0],
+ velocity: 0
+ }));
+
+ _this.fireGestureHandler();
+ };
+
+ return _this;
+ }
+
+ var _proto = ScrollRecognizer.prototype;
+
+ _proto.addBindings = function addBindings() {
+ this.controller.addBindings('onScroll', this.onScroll);
+ };
+
+ return ScrollRecognizer;
+}(CoordinatesRecognizer);
+
+/**
+ * @public
+ *
+ * Scroll hook.
+ *
+ * @param {Handler<'scroll'>} handler - the function fired every time the scroll gesture updates
+ * @param {(Config | {})} [config={}] - the config object including generic options and scroll options
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useScroll(handler, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ var _config = config,
+ domTarget = _config.domTarget,
+ eventOptions = _config.eventOptions,
+ window = _config.window,
+ scroll = _objectWithoutPropertiesLoose(_config, ["domTarget", "eventOptions", "window"]);
+ /**
+ * TODO: at the moment we recompute the config object at every render
+ * this could probably be optimized
+ */
+
+
+ var mergedConfig = _extends({}, getInternalGenericOptions({
+ domTarget: domTarget,
+ eventOptions: eventOptions,
+ window: window
+ }), {
+ scroll: getInternalCoordinatesOptions(scroll)
+ });
+
+ return useRecognizers({
+ scroll: handler
+ }, [ScrollRecognizer], mergedConfig);
+}
+
+/**
+ * @public
+ *
+ * The most complete gesture hook, allowing support for multiple gestures.
+ *
+ * @param {UserHandlersPartial} handlers - an object with on[Gesture] keys containg gesture handlers
+ * @param {UseGestureConfig} [config={}] - the full config object
+ * @returns {(...args: any[]) => HookReturnType}
+ */
+
+function useGesture(handlers, config) {
+ if (config === void 0) {
+ config = {};
+ }
+
+ /**
+ * If handlers contains {onDragStart, onDrag, onDragEnd, onMoveStart, onMove}
+ * actions will include 'onDrag' and 'onMove.
+ */
+ var _React$useState = external_this_React_default.a.useState(function () {
+ return new Set(Object.keys(handlers).map(function (k) {
+ return k.replace(/End|Start/, '');
+ }));
+ }),
+ actions = _React$useState[0];
+ /**
+ * Here we compute the derived internal config based on the provided config object.
+ * We decompose the config into its generic and gesture options and compute each.
+ * TODO: this is currently done on every render!
+ */
+
+
+ var _config = config,
+ drag = _config.drag,
+ wheel = _config.wheel,
+ move = _config.move,
+ scroll = _config.scroll,
+ pinch = _config.pinch,
+ hover = _config.hover,
+ restConfig = _objectWithoutPropertiesLoose(_config, ["drag", "wheel", "move", "scroll", "pinch", "hover"]);
+
+ var mergedConfig = getInternalGenericOptions(restConfig);
+ var classes = [];
+ var internalHandlers = {}; // will hold reference to native handlers such as onClick, onMouseDown, etc.
+
+ var _nativeHandlers = _extends({}, handlers);
+
+ if (actions.has('onDrag')) {
+ classes.push(DragRecognizer);
+ internalHandlers.drag = includeStartEndHandlers(handlers, 'onDrag', _nativeHandlers);
+ mergedConfig.drag = getInternalDragOptions(drag);
+ }
+
+ if (actions.has('onWheel')) {
+ classes.push(WheelRecognizer);
+ internalHandlers.wheel = includeStartEndHandlers(handlers, 'onWheel', _nativeHandlers);
+ mergedConfig.wheel = getInternalCoordinatesOptions(wheel);
+ }
+
+ if (actions.has('onScroll')) {
+ classes.push(ScrollRecognizer);
+ internalHandlers.scroll = includeStartEndHandlers(handlers, 'onScroll', _nativeHandlers);
+ mergedConfig.scroll = getInternalCoordinatesOptions(scroll);
+ }
+
+ if (actions.has('onMove')) {
+ classes.push(MoveRecognizer);
+ internalHandlers.move = includeStartEndHandlers(handlers, 'onMove', _nativeHandlers);
+ mergedConfig.move = getInternalCoordinatesOptions(move);
+ }
+
+ if (actions.has('onPinch')) {
+ classes.push(PinchRecognizer);
+ internalHandlers.pinch = includeStartEndHandlers(handlers, 'onPinch', _nativeHandlers);
+ mergedConfig.pinch = getInternalDistanceAngleOptions(pinch);
+ }
+
+ if (actions.has('onHover')) {
+ if (!actions.has('onMove')) classes.push(MoveRecognizer);
+ internalHandlers.hover = handlers.onHover;
+ mergedConfig.hover = _extends({
+ enabled: true
+ }, hover);
+ delete _nativeHandlers.onHover;
+ }
+
+ return useRecognizers(internalHandlers, classes, mergedConfig, _nativeHandlers);
+}
+/**
+ * @private
+ *
+ * This utility function will integrate start and end handlers into the regular
+ * handler function by using first and last conditions.
+ *
+ * @param {UserHandlersPartial} handlers - the handlers function object
+ * @param {HandlerKey} handlerKey - the key for which to integrate start and end handlers
+ * @returns
+ */
+
+function includeStartEndHandlers(handlers, handlerKey, _nativeHandlers) {
+ var startKey = handlerKey + 'Start';
+ var endKey = handlerKey + 'End';
+ delete _nativeHandlers[handlerKey];
+ delete _nativeHandlers[startKey];
+ delete _nativeHandlers[endKey];
+
+ var fn = function fn(state) {
+ var memo = undefined;
+ if (state.first && startKey in handlers) handlers[startKey](state);
+ if (handlerKey in handlers) memo = handlers[handlerKey](state);
+ if (state.last && endKey in handlers) handlers[endKey](state);
+ return memo;
+ };
+
+ return fn;
+}
+
+
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/flex/index.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+function FlexComponent(_ref, ref) {
+ var _ref$align = _ref.align,
+ align = _ref$align === void 0 ? 'center' : _ref$align,
className = _ref.className,
- children = _ref.children;
- return Object(external_this_wp_element_["createElement"])("div", {
- className: classnames_default()('components-base-control', className)
- }, Object(external_this_wp_element_["createElement"])("div", {
- className: "components-base-control__field"
- }, label && id && Object(external_this_wp_element_["createElement"])("label", {
- className: "components-base-control__label",
- htmlFor: id
- }, label), label && !id && Object(external_this_wp_element_["createElement"])("span", {
- className: "components-base-control__label"
- }, label), children), !!help && Object(external_this_wp_element_["createElement"])("p", {
- id: id + '__help',
- className: "components-base-control__help"
- }, help));
-}
-
-/* harmony default export */ var base_control = (BaseControl);
+ _ref$gap = _ref.gap,
+ gap = _ref$gap === void 0 ? 2 : _ref$gap,
+ _ref$justify = _ref.justify,
+ justify = _ref$justify === void 0 ? 'space-between' : _ref$justify,
+ _ref$isReversed = _ref.isReversed,
+ isReversed = _ref$isReversed === void 0 ? false : _ref$isReversed,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["align", "className", "gap", "justify", "isReversed"]);
+
+ var classes = classnames_default()('components-flex', className);
+ return Object(external_this_wp_element_["createElement"])(Flex, Object(esm_extends["a" /* default */])({}, props, {
+ align: align,
+ className: classes,
+ ref: ref,
+ gap: gap,
+ justify: justify,
+ isReversed: isReversed
+ }));
+}
+
+var flex_Flex = Object(external_this_wp_element_["forwardRef"])(FlexComponent);
+/* harmony default export */ var flex = (flex_Flex);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/state.js
+
+
+
+function state_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
+
+function state_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { state_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { state_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+var initialStateReducer = function initialStateReducer(state) {
+ return state;
+};
+
+var initialInputControlState = {
+ _event: {},
+ error: null,
+ initialValue: '',
+ isDirty: false,
+ isDragEnabled: false,
+ isDragging: false,
+ isPressEnterToChange: false,
+ value: ''
+};
+var actionTypes = {
+ CHANGE: 'CHANGE',
+ COMMIT: 'COMMIT',
+ DRAG_END: 'DRAG_END',
+ DRAG_START: 'DRAG_START',
+ DRAG: 'DRAG',
+ INVALIDATE: 'INVALIDATE',
+ PRESS_DOWN: 'PRESS_DOWN',
+ PRESS_ENTER: 'PRESS_ENTER',
+ PRESS_UP: 'PRESS_UP',
+ RESET: 'RESET',
+ UPDATE: 'UPDATE'
+};
+var inputControlActionTypes = actionTypes;
+/**
+ * Prepares initialState for the reducer.
+ *
+ * @param {Object} initialState The initial state.
+ * @return {Object} Prepared initialState for the reducer
+ */
+
+function mergeInitialState() {
+ var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialInputControlState;
+ var value = initialState.value;
+ return state_objectSpread({}, initialInputControlState, {}, initialState, {
+ initialValue: value
+ });
+}
+/**
+ * Composes multiple stateReducers into a single stateReducer, building
+ * the pipeline to control the flow for state and actions.
+ *
+ * @param {...Function} fns State reducers.
+ * @return {Function} The single composed stateReducer.
+ */
+
+
+var state_composeStateReducers = function composeStateReducers() {
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
+ fns[_key] = arguments[_key];
+ }
+
+ return function () {
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ return fns.reduceRight(function (state, fn) {
+ var fnState = fn.apply(void 0, args);
+ return Object(external_this_lodash_["isEmpty"])(fnState) ? state : state_objectSpread({}, state, {}, fnState);
+ }, {});
+ };
+};
+/**
+ * Creates a reducer that opens the channel for external state subscription
+ * and modification.
+ *
+ * This technique uses the "stateReducer" design pattern:
+ * https://kentcdodds.com/blog/the-state-reducer-pattern/
+ *
+ * @param {Function} composedStateReducers A custom reducer that can subscribe and modify state.
+ * @return {Function} The reducer.
+ */
+
+function inputControlStateReducer(composedStateReducers) {
+ return function (state, action) {
+ var nextState = state_objectSpread({}, state);
+
+ var type = action.type,
+ payload = action.payload;
+
+ switch (type) {
+ /**
+ * Keyboard events
+ */
+ case actionTypes.PRESS_UP:
+ nextState.isDirty = false;
+ break;
+
+ case actionTypes.PRESS_DOWN:
+ nextState.isDirty = false;
+ break;
+
+ /**
+ * Drag events
+ */
+
+ case actionTypes.DRAG_START:
+ nextState.isDragging = true;
+ break;
+
+ case actionTypes.DRAG_END:
+ nextState.isDragging = false;
+ break;
+
+ /**
+ * Input events
+ */
+
+ case actionTypes.CHANGE:
+ nextState.error = null;
+ nextState.value = payload.value;
+
+ if (state.isPressEnterToChange) {
+ nextState.isDirty = true;
+ }
+
+ break;
+
+ case actionTypes.COMMIT:
+ nextState.value = payload.value;
+ nextState.isDirty = false;
+ break;
+
+ case actionTypes.RESET:
+ nextState.error = null;
+ nextState.isDirty = false;
+ nextState.value = payload.value || state.initialValue;
+ break;
+
+ case actionTypes.UPDATE:
+ if (payload.value !== state.value) {
+ nextState.value = payload.value;
+ nextState.isDirty = false;
+ }
+
+ break;
+
+ /**
+ * Validation
+ */
+
+ case actionTypes.INVALIDATE:
+ nextState.error = payload.error;
+ break;
+ }
+
+ if (payload.event) {
+ nextState._event = payload.event;
+ }
+ /**
+ * Send the nextState + action to the composedReducers via
+ * this "bridge" mechanism. This allows external stateReducers
+ * to hook into actions, and modify state if needed.
+ */
+
+
+ return composedStateReducers(nextState, action);
+ };
+}
+/**
+ * A custom hook that connects and external stateReducer with an internal
+ * reducer. This hook manages the internal state of InputControl.
+ * However, by connecting an external stateReducer function, other
+ * components can react to actions as well as modify state before it is
+ * applied.
+ *
+ * This technique uses the "stateReducer" design pattern:
+ * https://kentcdodds.com/blog/the-state-reducer-pattern/
+ *
+ * @param {Function} stateReducer An external state reducer.
+ * @param {Object} initialState The initial state for the reducer.
+ * @return {Object} State, dispatch, and a collection of actions.
+ */
+
+
+function useInputControlStateReducer() {
+ var stateReducer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialStateReducer;
+ var initialState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : initialInputControlState;
+
+ var _useReducer = Object(external_this_wp_element_["useReducer"])(inputControlStateReducer(stateReducer), mergeInitialState(initialState)),
+ _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),
+ state = _useReducer2[0],
+ dispatch = _useReducer2[1];
+
+ var createChangeEvent = function createChangeEvent(type) {
+ return function (nextValue, event) {
+ /**
+ * Persist allows for the (Synthetic) event to be used outside of
+ * this function call.
+ * https://reactjs.org/docs/events.html#event-pooling
+ */
+ if (event && event.persist) {
+ event.persist();
+ }
+
+ dispatch({
+ type: type,
+ payload: {
+ value: nextValue,
+ event: event
+ }
+ });
+ };
+ };
+
+ var createKeyEvent = function createKeyEvent(type) {
+ return function (event) {
+ /**
+ * Persist allows for the (Synthetic) event to be used outside of
+ * this function call.
+ * https://reactjs.org/docs/events.html#event-pooling
+ */
+ if (event && event.persist) {
+ event.persist();
+ }
+
+ dispatch({
+ type: type,
+ payload: {
+ event: event
+ }
+ });
+ };
+ };
+
+ var createDragEvent = function createDragEvent(type) {
+ return function (dragProps) {
+ dispatch({
+ type: type,
+ payload: dragProps
+ });
+ };
+ };
+ /**
+ * Actions for the reducer
+ */
+
+
+ var change = createChangeEvent(actionTypes.CHANGE);
+ var inValidate = createChangeEvent(actionTypes.INVALIDATE);
+ var reset = createChangeEvent(actionTypes.RESET);
+ var commit = createChangeEvent(actionTypes.COMMIT);
+ var update = createChangeEvent(actionTypes.UPDATE);
+ var dragStart = createDragEvent(actionTypes.DRAG_START);
+ var drag = createDragEvent(actionTypes.DRAG);
+ var dragEnd = createDragEvent(actionTypes.DRAG_END);
+ var pressUp = createKeyEvent(actionTypes.PRESS_UP);
+ var pressDown = createKeyEvent(actionTypes.PRESS_DOWN);
+ var pressEnter = createKeyEvent(actionTypes.PRESS_ENTER);
+ return {
+ change: change,
+ commit: commit,
+ dispatch: dispatch,
+ drag: drag,
+ dragEnd: dragEnd,
+ dragStart: dragStart,
+ inValidate: inValidate,
+ pressDown: pressDown,
+ pressEnter: pressEnter,
+ pressUp: pressUp,
+ reset: reset,
+ state: state,
+ update: update
+ };
+}
+
+// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js
+function _taggedTemplateLiteral(strings, raw) {
+ if (!raw) {
+ raw = strings.slice(0);
+ }
+
+ return Object.freeze(Object.defineProperties(strings, {
+ raw: {
+ value: Object.freeze(raw)
+ }
+ }));
+}
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/text/styles/font-family.js
+var fontFamily = "font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\nOxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;";
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/text/styles/emotion-css.js
+/**
+ * External dependencies
+ */
+
+/* harmony default export */ var emotion_css = (css_browser_esm);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/text/styles/text-mixins.js
+
+
+function _templateObject9() {
+ var data = _taggedTemplateLiteral(["\n\t", "\n\t", "\n"]);
+
+ _templateObject9 = function _templateObject9() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject8() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject8 = function _templateObject8() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject7() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject7 = function _templateObject7() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject6() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject6 = function _templateObject6() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject5() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject5 = function _templateObject5() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject4() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject4 = function _templateObject4() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject3() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject3 = function _templateObject3() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject2() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject2 = function _templateObject2() {
+ return data;
+ };
+
+ return data;
+}
+
+function _templateObject() {
+ var data = _taggedTemplateLiteral(["\n\t\t\t\t", "\n\t\t\t\t", "\n\t\t\t"]);
+
+ _templateObject = function _templateObject() {
+ return data;
+ };
+
+ return data;
+}
+
+/**
+ * Internal dependencies
+ */
+
+
+var fontWeightNormal = "font-weight: 400;";
+var fontWeightSemibold = "font-weight: 600;";
+var text_mixins_title = "\n ".concat(fontWeightNormal, "\n");
+var titleLarge = "\n\tfont-size: 32px;\n\tline-height: 40px;\n";
+var titleMedium = "\n\tfont-size: 24px;\n\tline-height: 32px;\n";
+var titleSmall = "\n\tfont-size: 20px;\n\tline-height: 28px;\n";
+var subtitle = "\n\t".concat(fontWeightSemibold, "\n\tfont-size: 14px;\n\tline-height: 20px;\n");
+var subtitleLarge = "\n\tfont-size: 16px;\n\tline-height: 24px;\n";
+var subtitleSmall = "\n\tfont-size: 14px;\n\tline-height: 20px;\n";
+var text_mixins_body = "\n\t".concat(fontWeightNormal, "\n");
+var bodyLarge = "\n\tfont-size: 16px;\n\tline-height: 24px;\n";
+var bodySmall = "\n\tfont-size: 14px;\n\tline-height: 20px;\n";
+var text_mixins_button = "\n ".concat(fontWeightSemibold, "\n font-size: 14px;\n line-height: 20px;\n");
+var caption = "\n\t".concat(fontWeightNormal, "\n\tfont-size: 12px;\n\tline-height: 16px;\n");
+var text_mixins_label = "\n\t".concat(fontWeightSemibold, "\n\tfont-size: 12px;\n\tline-height: 16px;\n");
+/**
+ * @typedef {'title.large'|'title.medium'|'title.small'|'subtitle'|'subtitle.small'|'body'|'body.large'|'body.small'|'button'|'caption'|'label'} TextVariant
+ */
+
+/**
+ * @param {TextVariant} variantName
+ */
+
+var text_mixins_variant = function variant() {
+ var variantName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';
+
+ switch (variantName) {
+ case 'title.large':
+ return emotion_css(_templateObject(), text_mixins_title, titleLarge);
+
+ case 'title.medium':
+ return emotion_css(_templateObject2(), text_mixins_title, titleMedium);
+
+ case 'title.small':
+ return emotion_css(_templateObject3(), text_mixins_title, titleSmall);
+
+ case 'subtitle':
+ return emotion_css(_templateObject4(), subtitle, subtitleLarge);
+
+ case 'subtitle.small':
+ return emotion_css(_templateObject5(), subtitle, subtitleSmall);
+
+ case 'body':
+ return emotion_css(_templateObject6(), text_mixins_body);
+
+ case 'body.large':
+ return emotion_css(_templateObject7(), text_mixins_body, bodyLarge);
+
+ case 'body.small':
+ return emotion_css(_templateObject8(), text_mixins_body, bodySmall);
+
+ case 'button':
+ return text_mixins_button;
+
+ case 'caption':
+ return caption;
+
+ case 'label':
+ return text_mixins_label;
+ }
+};
+/**
+ * @typedef {Object} TextProps
+ * @property {TextVariant} variant one of TextVariant to be used
+ */
+
+/**
+ * @param {TextProps} props
+ */
+
+
+var text_mixins_text = function text(props) {
+ return emotion_css(_templateObject9(), fontFamily, text_mixins_variant(props.variant));
+};
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/text/index.js
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var Text = styled_base_browser_esm("p", {
+ target: "e15wbhsk0",
+ label: "Text"
+})("\n\tbox-sizing: border-box;\n\tmargin: 0;\n", text_mixins_text, true ? "" : undefined);
+
+/* harmony default export */ var build_module_text = (Text);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/styles/input-control-styles.js
+
+
+
+
+function input_control_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var FLOATING_LABEL_TRANSITION_SPEED = '60ms';
+
+var input_control_styles_rootFloatLabelStyles = function rootFloatLabelStyles(_ref3) {
+ var isFloatingLabel = _ref3.isFloatingLabel;
+ var paddingTop = isFloatingLabel ? 5 : 0;
+ return /*#__PURE__*/css_browser_esm({
+ paddingTop: paddingTop
+ }, true ? "" : undefined);
+};
+
+var input_control_styles_ref = true ? {
+ name: "r6z5ec",
+ styles: "z-index:1;"
+} : undefined;
+
+var rootFocusedStyles = function rootFocusedStyles(_ref4) {
+ var isFocused = _ref4.isFocused;
+ if (!isFocused) return '';
+ return input_control_styles_ref;
+};
+
+var input_control_styles_Root = styled_base_browser_esm("div", {
+ target: "e1cr7zh10",
+ label: "Root"
+})("box-sizing:border-box;position:relative;border-radius:2px;", input_control_styles_rootFloatLabelStyles, ";", rootFocusedStyles, ";" + ( true ? "" : undefined));
+
+var input_control_styles_containerDisabledStyle = function containerDisabledStyle(_ref5) {
+ var disabled = _ref5.disabled;
+ var backgroundColor = disabled ? colors_color('ui.backgroundDisabled') : colors_color('ui.background');
+ return /*#__PURE__*/css_browser_esm({
+ backgroundColor: backgroundColor
+ }, true ? "" : undefined);
+};
+
+var Container = styled_base_browser_esm("div", {
+ target: "e1cr7zh11",
+ label: "Container"
+})("align-items:center;box-sizing:border-box;border-radius:inherit;display:flex;position:relative;", input_control_styles_containerDisabledStyle, ";" + ( true ? "" : undefined));
+
+var input_control_styles_disabledStyles = function disabledStyles(_ref6) {
+ var disabled = _ref6.disabled;
+ if (!disabled) return '';
+ return /*#__PURE__*/css_browser_esm({
+ color: colors_color('ui.textDisabled')
+ }, true ? "" : undefined);
+};
+
+var input_control_styles_fontSizeStyles = function fontSizeStyles(_ref7) {
+ var size = _ref7.size;
+ var sizes = {
+ default: '13px',
+ small: '11px'
+ };
+ var fontSize = sizes[size];
+ var fontSizeMobile = '16px';
+ if (!fontSize) return '';
+ return /*#__PURE__*/css_browser_esm("font-size:", fontSizeMobile, ";@media ( min-width:600px ){font-size:", fontSize, ";}" + ( true ? "" : undefined));
+};
+
+var input_control_styles_sizeStyles = function sizeStyles(_ref8) {
+ var size = _ref8.size;
+ var sizes = {
+ default: {
+ height: 30,
+ lineHeight: 1,
+ minHeight: 30
+ },
+ small: {
+ height: 24,
+ lineHeight: 1,
+ minHeight: 24
+ }
+ };
+ var style = sizes[size] || sizes.default;
+ return /*#__PURE__*/css_browser_esm(style, true ? "" : undefined);
+};
+
+var input_control_styles_placeholderStyles = function placeholderStyles(_ref9) {
+ var isFilled = _ref9.isFilled,
+ isFloating = _ref9.isFloating,
+ isFloatingLabel = _ref9.isFloatingLabel;
+ var opacity = 1;
+
+ if (isFloatingLabel) {
+ if (!isFilled && !isFloating) {
+ opacity = 0;
+ }
+ }
+
+ return /*#__PURE__*/css_browser_esm("&::placeholder{opacity:", opacity, ";}&::-webkit-input-placeholder{line-height:normal;}" + ( true ? "" : undefined));
+};
+
+var input_control_styles_dragStyles = function dragStyles(_ref10) {
+ var isDragging = _ref10.isDragging,
+ dragCursor = _ref10.dragCursor;
+ var defaultArrowStyles = '';
+ var activeDragCursorStyles = '';
+
+ if (isDragging) {
+ defaultArrowStyles = /*#__PURE__*/css_browser_esm("cursor:", dragCursor, ";user-select:none;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}" + ( true ? "" : undefined));
+ }
+
+ if (isDragging && dragCursor) {
+ activeDragCursorStyles = /*#__PURE__*/css_browser_esm("&:active{cursor:", dragCursor, ";}" + ( true ? "" : undefined));
+ }
+
+ return /*#__PURE__*/css_browser_esm(defaultArrowStyles, ";", activeDragCursorStyles, ";" + ( true ? "" : undefined));
+}; // TODO: Resolve need to use &&& to increase specificity
+// https://github.com/WordPress/gutenberg/issues/18483
+
+
+var input_control_styles_Input = styled_base_browser_esm("input", {
+ target: "e1cr7zh12",
+ label: "Input"
+})("&&&{background-color:transparent;box-sizing:border-box;border:none;box-shadow:none !important;color:", colors_color('black'), ";display:block;outline:none;padding-left:8px;padding-right:8px;width:100%;", input_control_styles_dragStyles, ";", input_control_styles_disabledStyles, ";", input_control_styles_fontSizeStyles, ";", input_control_styles_sizeStyles, ";", input_control_styles_placeholderStyles, ";}" + ( true ? "" : undefined));
+
+var input_control_styles_laberColor = function laberColor(_ref11) {
+ var isFloatingLabel = _ref11.isFloatingLabel,
+ isFilled = _ref11.isFilled,
+ isFloating = _ref11.isFloating;
+ var isPlaceholder = isFloatingLabel && !isFilled;
+ var textColor = isPlaceholder || isFloating ? colors_color('ui.textDisabled') : 'currentColor';
+ return /*#__PURE__*/css_browser_esm({
+ color: textColor
+ }, true ? "" : undefined);
+};
+
+var input_control_styles_labelFontSize = function labelFontSize(_ref12) {
+ var isFloatingLabel = _ref12.isFloatingLabel,
+ size = _ref12.size;
+ var sizes = {
+ default: '13px',
+ small: '11px'
+ };
+ var fontSize = sizes[size];
+ var lineHeight = isFloatingLabel ? 1.2 : null;
+ return /*#__PURE__*/css_browser_esm({
+ fontSize: fontSize,
+ lineHeight: lineHeight
+ }, true ? "" : undefined);
+};
+
+var input_control_styles_labelPosition = function labelPosition(_ref13) {
+ var isFloatingLabel = _ref13.isFloatingLabel,
+ isFloating = _ref13.isFloating,
+ size = _ref13.size;
+ var paddingBottom = isFloatingLabel ? 0 : 4;
+ var position = isFloatingLabel ? 'absolute' : null;
+ var pointerEvents = isFloating ? null : 'none';
+ var isSmall = size === 'small';
+ var offsetTop = isSmall ? 1 : 2;
+ var offset = isSmall ? '-1px' : '-3px';
+ var marginTop = isFloating ? 0 : offsetTop;
+ var marginLeft = isFloatingLabel ? 8 : 0;
+ var transform = isFloating ? "translate( 0, calc(-100% + ".concat(offset, ") ) scale( 0.75 )") : 'translate( 0, -50%) scale(1)';
+
+ if (!isFloatingLabel) {
+ transform = null;
+ }
+
+ var transition = isFloatingLabel ? "transform ".concat(FLOATING_LABEL_TRANSITION_SPEED, " linear") : null;
+ return /*#__PURE__*/css_browser_esm({
+ marginTop: marginTop,
+ paddingBottom: paddingBottom,
+ position: position,
+ pointerEvents: pointerEvents,
+ transition: transition,
+ transform: transform
+ }, rtl({
+ marginLeft: marginLeft
+ })(), rtl({
+ transformOrigin: 'top left'
+ }, {
+ transformOrigin: 'top right'
+ })(), true ? "" : undefined);
+};
+
+var input_control_styles_ref2 = true ? {
+ name: "fjfd5j",
+ styles: "max-width:calc( 100% - 10px );overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"
+} : undefined;
+
+var labelTruncation = function labelTruncation(_ref14) {
+ var isFloating = _ref14.isFloating;
+ if (isFloating) return '';
+ return input_control_styles_ref2;
+};
+
+var BaseLabel = /*#__PURE__*/styled_base_browser_esm(build_module_text, {
+ target: "e1cr7zh13",
+ label: "BaseLabel"
+})("&&&{box-sizing:border-box;display:block;margin:0;max-width:100%;padding:0;pointer-events:none;top:50%;transition:transform ", FLOATING_LABEL_TRANSITION_SPEED, " linear,max-width ", FLOATING_LABEL_TRANSITION_SPEED, " linear;z-index:1;", input_control_styles_laberColor, ";", input_control_styles_labelFontSize, ";", input_control_styles_labelPosition, ";", labelTruncation, ";", reduceMotion('transition'), ";", rtl({
+ left: 0
+}), "}" + ( true ? "" : undefined));
+
+var input_control_styles_Label = function Label(props) {
+ return Object(external_this_wp_element_["createElement"])(BaseLabel, Object(esm_extends["a" /* default */])({}, props, {
+ as: "label"
+ }));
+};
+
+var input_control_styles_fieldsetTopStyles = function fieldsetTopStyles(_ref15) {
+ var isFloatingLabel = _ref15.isFloatingLabel;
+ var top = isFloatingLabel ? -5 : 0;
+ return /*#__PURE__*/css_browser_esm({
+ top: top
+ }, true ? "" : undefined);
+};
+
+var input_control_styles_fieldsetFocusedStyles = function fieldsetFocusedStyles(_ref16) {
+ var disabled = _ref16.disabled,
+ isFocused = _ref16.isFocused;
+ var borderColor = isFocused ? colors_color('ui.borderFocus') : colors_color('ui.border');
+
+ if (disabled) {
+ borderColor = 'ui.borderDisabled';
+ }
+
+ var borderWidth = isFocused ? 2 : 1;
+ var borderStyle = 'solid';
+ return /*#__PURE__*/css_browser_esm({
+ borderColor: borderColor,
+ borderStyle: borderStyle,
+ borderWidth: borderWidth
+ }, true ? "" : undefined);
+};
+
+var Fieldset = styled_base_browser_esm("fieldset", {
+ target: "e1cr7zh14",
+ label: "Fieldset"
+})("&&&{box-sizing:border-box;border-radius:inherit;bottom:0;left:0;margin:0;padding:0;pointer-events:none;position:absolute;right:0;", input_control_styles_fieldsetFocusedStyles, ";", input_control_styles_fieldsetTopStyles, ";", rtl({
+ paddingLeft: 2
+}), "}" + ( true ? "" : undefined));
+
+var input_control_styles_legendSize = function legendSize(_ref17) {
+ var isFloating = _ref17.isFloating,
+ size = _ref17.size;
+ var maxWidth = isFloating ? 1000 : 0.01;
+ var sizes = {
+ default: 9.75,
+ small: 8.25
+ };
+ var fontSize = sizes[size];
+ return /*#__PURE__*/css_browser_esm({
+ fontSize: fontSize,
+ maxWidth: maxWidth
+ }, true ? "" : undefined);
+};
+
+var Legend = styled_base_browser_esm("legend", {
+ target: "e1cr7zh15",
+ label: "Legend"
+})("&&&{box-sizing:border-box;display:block;height:11px;line-height:11px;margin:0;padding:0;transition:max-width ", FLOATING_LABEL_TRANSITION_SPEED, " linear;visibility:hidden;width:auto;", input_control_styles_legendSize, ";", reduceMotion('transition'), ";}" + ( true ? "" : undefined));
+
+var BaseLegendText = /*#__PURE__*/styled_base_browser_esm(build_module_text, {
+ target: "e1cr7zh16",
+ label: "BaseLegendText"
+})("box-sizing:border-box;display:inline-block;", rtl({
+ paddingLeft: 4,
+ paddingRight: 5
+}), true ? "" : undefined);
+
+var input_control_styles_LegendText = function LegendText(props) {
+ return Object(external_this_wp_element_["createElement"])(BaseLegendText, Object(esm_extends["a" /* default */])({}, props, {
+ as: "span"
+ }));
+};
+var Suffix = styled_base_browser_esm("span", {
+ target: "e1cr7zh17",
+ label: "Suffix"
+})( true ? {
+ name: "1pxuk39",
+ styles: "box-sizing:border-box;display:block;"
+} : undefined);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/backdrop.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Internal dependencies
+ */
+
+
+
+function Backdrop(_ref) {
+ var _ref$disabled = _ref.disabled,
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
+ _ref$isFloating = _ref.isFloating,
+ isFloating = _ref$isFloating === void 0 ? false : _ref$isFloating,
+ _ref$isFloatingLabel = _ref.isFloatingLabel,
+ isFloatingLabel = _ref$isFloatingLabel === void 0 ? false : _ref$isFloatingLabel,
+ _ref$isFocused = _ref.isFocused,
+ isFocused = _ref$isFocused === void 0 ? false : _ref$isFocused,
+ label = _ref.label,
+ _ref$size = _ref.size,
+ size = _ref$size === void 0 ? 'default' : _ref$size;
+ return Object(external_this_wp_element_["createElement"])(Fieldset, {
+ "aria-hidden": "true",
+ className: "components-input-control__backdrop",
+ disabled: disabled,
+ isFloatingLabel: isFloatingLabel,
+ isFocused: isFocused
+ }, isFloatingLabel && Object(external_this_wp_element_["createElement"])(Legend, {
+ "aria-hidden": "true",
+ className: "components-input-control__backdrop-label",
+ isFloating: isFloating,
+ size: size
+ }, Object(external_this_wp_element_["createElement"])(input_control_styles_LegendText, {
+ className: "components-input-control__backdrop-text"
+ }, label)));
+}
+
+var MemoizedBackdrop = Object(external_this_wp_element_["memo"])(Backdrop);
+/* harmony default export */ var backdrop = (MemoizedBackdrop);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/utils.js
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * Gets a CSS cursor value based on a drag direction.
+ *
+ * @param {string} dragDirection The drag direction.
+ * @return {string} The CSS cursor value.
+ */
+
+function getDragCursor(dragDirection) {
+ var dragCursor = 'ns-resize';
+
+ switch (dragDirection) {
+ case 'n':
+ case 's':
+ dragCursor = 'ns-resize';
+ break;
+
+ case 'e':
+ case 'w':
+ dragCursor = 'ew-resize';
+ break;
+ }
+
+ return dragCursor;
+}
+/**
+ * Custom hook that renders a drag cursor when dragging.
+ *
+ * @param {boolean} isDragging The dragging state.
+ * @param {string} dragDirection The drag direction.
+ *
+ * @return {string} The CSS cursor value.
+ */
+
+function useDragCursor(isDragging, dragDirection) {
+ var dragCursor = getDragCursor(dragDirection);
+ Object(external_this_wp_element_["useEffect"])(function () {
+ if (isDragging) {
+ document.documentElement.style.cursor = dragCursor;
+ document.documentElement.style.pointerEvents = 'none';
+ } else {
+ document.documentElement.style.cursor = null;
+ document.documentElement.style.pointerEvents = null;
+ }
+ }, [isDragging]);
+ return dragCursor;
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/values.js
+/**
+ * Determines if a value is null or undefined.
+ *
+ * @param {any} value The value to check.
+ * @return {boolean} Whether value is null or undefined.
+ */
+function isValueDefined(value) {
+ return value !== undefined && value !== null;
+}
+/**
+ * Determines if a value is empty, null, or undefined.
+ *
+ * @param {any} value The value to check.
+ * @return {boolean} Whether value is empty.
+ */
+
+function isValueEmpty(value) {
+ var isEmptyString = value === '';
+ return !isValueDefined(value) || isEmptyString;
+}
+/**
+ * Attempts to get a defined/non-null value from a collection of arguments.
+ *
+ * @param {Array} values Values to derive from.
+ * @param {any} fallbackValue Fallback value if there are no defined values.
+ * @return {any} A defined value or the fallback value.
+ */
+
+function getDefinedValue() {
+ var _values$find;
+
+ var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
+ var fallbackValue = arguments.length > 1 ? arguments[1] : undefined;
+ return (_values$find = values.find(isValueDefined)) !== null && _values$find !== void 0 ? _values$find : fallbackValue;
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/input-field.js
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+function InputField(_ref, ref) {
+ var _ref$disabled = _ref.disabled,
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
+ _ref$dragDirection = _ref.dragDirection,
+ dragDirection = _ref$dragDirection === void 0 ? 'n' : _ref$dragDirection,
+ _ref$dragThreshold = _ref.dragThreshold,
+ dragThreshold = _ref$dragThreshold === void 0 ? 10 : _ref$dragThreshold,
+ id = _ref.id,
+ _ref$isDragEnabled = _ref.isDragEnabled,
+ isDragEnabled = _ref$isDragEnabled === void 0 ? false : _ref$isDragEnabled,
+ _ref$isFloating = _ref.isFloating,
+ isFloating = _ref$isFloating === void 0 ? false : _ref$isFloating,
+ _ref$isFloatingLabelS = _ref.isFloatingLabelSet,
+ isFloatingLabelSet = _ref$isFloatingLabelS === void 0 ? false : _ref$isFloatingLabelS,
+ _ref$isPressEnterToCh = _ref.isPressEnterToChange,
+ isPressEnterToChange = _ref$isPressEnterToCh === void 0 ? false : _ref$isPressEnterToCh,
+ _ref$onBlur = _ref.onBlur,
+ onBlur = _ref$onBlur === void 0 ? external_this_lodash_["noop"] : _ref$onBlur,
+ _ref$onChange = _ref.onChange,
+ onChange = _ref$onChange === void 0 ? external_this_lodash_["noop"] : _ref$onChange,
+ _ref$onDrag = _ref.onDrag,
+ onDrag = _ref$onDrag === void 0 ? external_this_lodash_["noop"] : _ref$onDrag,
+ _ref$onDragEnd = _ref.onDragEnd,
+ onDragEnd = _ref$onDragEnd === void 0 ? external_this_lodash_["noop"] : _ref$onDragEnd,
+ _ref$onDragStart = _ref.onDragStart,
+ onDragStart = _ref$onDragStart === void 0 ? external_this_lodash_["noop"] : _ref$onDragStart,
+ _ref$onFocus = _ref.onFocus,
+ onFocus = _ref$onFocus === void 0 ? external_this_lodash_["noop"] : _ref$onFocus,
+ _ref$onKeyDown = _ref.onKeyDown,
+ onKeyDown = _ref$onKeyDown === void 0 ? external_this_lodash_["noop"] : _ref$onKeyDown,
+ onUpdateValue = _ref.onUpdateValue,
+ _ref$onValidate = _ref.onValidate,
+ onValidate = _ref$onValidate === void 0 ? external_this_lodash_["noop"] : _ref$onValidate,
+ _ref$size = _ref.size,
+ size = _ref$size === void 0 ? 'default' : _ref$size,
+ _ref$stateReducer = _ref.stateReducer,
+ stateReducer = _ref$stateReducer === void 0 ? function (state) {
+ return state;
+ } : _ref$stateReducer,
+ valueProp = _ref.value,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["disabled", "dragDirection", "dragThreshold", "id", "isDragEnabled", "isFloating", "isFloatingLabelSet", "isPressEnterToChange", "onBlur", "onChange", "onDrag", "onDragEnd", "onDragStart", "onFocus", "onKeyDown", "onUpdateValue", "onValidate", "size", "stateReducer", "value"]);
+
+ var _useInputControlState = useInputControlStateReducer(stateReducer, {
+ isDragEnabled: isDragEnabled,
+ value: valueProp,
+ isPressEnterToChange: isPressEnterToChange
+ }),
+ state = _useInputControlState.state,
+ change = _useInputControlState.change,
+ commit = _useInputControlState.commit,
+ drag = _useInputControlState.drag,
+ dragEnd = _useInputControlState.dragEnd,
+ dragStart = _useInputControlState.dragStart,
+ invalidate = _useInputControlState.invalidate,
+ pressDown = _useInputControlState.pressDown,
+ pressEnter = _useInputControlState.pressEnter,
+ pressUp = _useInputControlState.pressUp,
+ reset = _useInputControlState.reset,
+ update = _useInputControlState.update;
+
+ var _event = state._event,
+ value = state.value,
+ isDragging = state.isDragging,
+ isDirty = state.isDirty;
+ var valueRef = Object(external_this_wp_element_["useRef"])(value);
+ var dragCursor = useDragCursor(isDragging, dragDirection);
+ Object(external_this_wp_element_["useEffect"])(function () {
+ /**
+ * Handles syncing incoming value changes with internal state.
+ * This effectively enables a "controlled" state.
+ * https://reactjs.org/docs/forms.html#controlled-components
+ */
+ if (valueProp !== valueRef.current) {
+ update(valueProp);
+ valueRef.current = valueProp; // Quick return to avoid firing the onChange callback
+
+ return;
+ }
+ /**
+ * Fires the onChange callback when internal state value changes.
+ */
+
+
+ if (value !== valueRef.current && !isDirty) {
+ onChange(value, {
+ event: _event
+ });
+ onUpdateValue(!isValueEmpty(value));
+ valueRef.current = value;
+ }
+ }, [value, isDirty, valueProp]);
+
+ var handleOnBlur = function handleOnBlur(event) {
+ onBlur(event);
+ /**
+ * If isPressEnterToChange is set, this commits the value to
+ * the onChange callback.
+ */
+
+ if (isPressEnterToChange && isDirty) {
+ if (!isValueEmpty(value)) {
+ handleOnCommit({
+ target: {
+ value: value
+ }
+ }, event);
+ } else {
+ reset(valueProp);
+ }
+ }
+ };
+
+ var handleOnFocus = function handleOnFocus(event) {
+ onFocus(event);
+ };
+
+ var handleOnChange = function handleOnChange(event) {
+ var nextValue = event.target.value;
+ change(nextValue, event);
+ };
+
+ var handleOnCommit = function handleOnCommit(event) {
+ var nextValue = event.target.value;
+
+ try {
+ onValidate(nextValue, {
+ event: event
+ });
+ commit(nextValue, event);
+ } catch (err) {
+ invalidate(err, {
+ event: event
+ });
+ }
+ };
+
+ var handleOnKeyDown = function handleOnKeyDown(event) {
+ var keyCode = event.keyCode;
+ onKeyDown(event);
+
+ switch (keyCode) {
+ case external_this_wp_keycodes_["UP"]:
+ pressUp(event);
+ break;
+
+ case external_this_wp_keycodes_["DOWN"]:
+ pressDown(event);
+ break;
+
+ case external_this_wp_keycodes_["ENTER"]:
+ pressEnter(event);
+
+ if (isPressEnterToChange) {
+ event.preventDefault();
+ handleOnCommit(event);
+ }
+
+ break;
+ }
+ };
+
+ var dragGestureProps = useDrag(function (dragProps) {
+ var distance = dragProps.distance,
+ dragging = dragProps.dragging,
+ event = dragProps.event;
+ if (!isDragEnabled) return;
+ if (!distance) return;
+ event.stopPropagation();
+ /**
+ * Quick return if no longer dragging.
+ * This prevents unnecessary value calculations.
+ */
+
+ if (!dragging) {
+ onDragEnd(dragProps);
+ dragEnd(dragProps);
+ return;
+ }
+
+ onDrag(dragProps);
+ drag(dragProps);
+
+ if (!isDragging) {
+ onDragStart(dragProps);
+ dragStart(dragProps);
+ }
+ }, {
+ threshold: dragThreshold,
+ enabled: isDragEnabled
+ });
+ return Object(external_this_wp_element_["createElement"])(input_control_styles_Input, Object(esm_extends["a" /* default */])({}, props, dragGestureProps(), {
+ className: "components-input-control__input",
+ disabled: disabled,
+ dragCursor: dragCursor,
+ isDragging: isDragging,
+ id: id,
+ isFloating: isFloating,
+ isFloatingLabel: isFloatingLabelSet,
+ onBlur: handleOnBlur,
+ onChange: handleOnChange,
+ onFocus: handleOnFocus,
+ onKeyDown: handleOnKeyDown,
+ ref: ref,
+ size: size,
+ value: value
+ }));
+}
+
+var ForwardedComponent = Object(external_this_wp_element_["forwardRef"])(InputField);
+/* harmony default export */ var input_field = (ForwardedComponent);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/label.js
+
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+function label_Label(_ref) {
+ var children = _ref.children,
+ hideLabelFromVision = _ref.hideLabelFromVision,
+ htmlFor = _ref.htmlFor,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["children", "hideLabelFromVision", "htmlFor"]);
+
+ if (!children) return null;
+
+ if (hideLabelFromVision) {
+ return Object(external_this_wp_element_["createElement"])(visually_hidden, {
+ as: "label",
+ htmlFor: htmlFor
+ }, children);
+ }
+
+ return Object(external_this_wp_element_["createElement"])(input_control_styles_Label, Object(esm_extends["a" /* default */])({
+ htmlFor: htmlFor
+ }, props), children);
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/input-control/index.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * WordPress dependencies
+ */
+
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+function useUniqueId(idProp) {
+ var instanceId = Object(external_this_wp_compose_["useInstanceId"])(InputControl);
+ var id = "inspector-input-control-".concat(instanceId);
+ return idProp || id;
+}
+
+function InputControl(_ref, ref) {
+ var _ref$__unstableStateR = _ref.__unstableStateReducer,
+ stateReducer = _ref$__unstableStateR === void 0 ? function (state) {
+ return state;
+ } : _ref$__unstableStateR,
+ children = _ref.children,
+ className = _ref.className,
+ _ref$disabled = _ref.disabled,
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
+ _ref$hideLabelFromVis = _ref.hideLabelFromVision,
+ hideLabelFromVision = _ref$hideLabelFromVis === void 0 ? false : _ref$hideLabelFromVis,
+ idProp = _ref.id,
+ _ref$isPressEnterToCh = _ref.isPressEnterToChange,
+ isPressEnterToChange = _ref$isPressEnterToCh === void 0 ? false : _ref$isPressEnterToCh,
+ _ref$isFloatingLabel = _ref.isFloatingLabel,
+ isFloatingLabel = _ref$isFloatingLabel === void 0 ? false : _ref$isFloatingLabel,
+ label = _ref.label,
+ _ref$onBlur = _ref.onBlur,
+ onBlur = _ref$onBlur === void 0 ? external_this_lodash_["noop"] : _ref$onBlur,
+ _ref$onChange = _ref.onChange,
+ onChange = _ref$onChange === void 0 ? external_this_lodash_["noop"] : _ref$onChange,
+ _ref$onFocus = _ref.onFocus,
+ onFocus = _ref$onFocus === void 0 ? external_this_lodash_["noop"] : _ref$onFocus,
+ _ref$onValidate = _ref.onValidate,
+ onValidate = _ref$onValidate === void 0 ? external_this_lodash_["noop"] : _ref$onValidate,
+ _ref$onKeyDown = _ref.onKeyDown,
+ onKeyDown = _ref$onKeyDown === void 0 ? external_this_lodash_["noop"] : _ref$onKeyDown,
+ _ref$size = _ref.size,
+ size = _ref$size === void 0 ? 'default' : _ref$size,
+ suffix = _ref.suffix,
+ value = _ref.value,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["__unstableStateReducer", "children", "className", "disabled", "hideLabelFromVision", "id", "isPressEnterToChange", "isFloatingLabel", "label", "onBlur", "onChange", "onFocus", "onValidate", "onKeyDown", "size", "suffix", "value"]);
+
+ var _useState = Object(external_this_wp_element_["useState"])(false),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ isFocused = _useState2[0],
+ setIsFocused = _useState2[1];
+
+ var _useState3 = Object(external_this_wp_element_["useState"])(!isValueEmpty(value)),
+ _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),
+ isFilled = _useState4[0],
+ setIsFilled = _useState4[1];
+
+ var id = useUniqueId(idProp);
+ var classes = classnames_default()('components-input-control', className);
+
+ var handleOnBlur = function handleOnBlur(event) {
+ onBlur(event);
+ setIsFocused(false);
+ };
+
+ var handleOnFocus = function handleOnFocus(event) {
+ onFocus(event);
+ setIsFocused(true);
+ };
+
+ var isInputFilled = isFilled || !isValueEmpty(value);
+ var isFloating = isFloatingLabel ? isInputFilled || isFocused : false;
+ var isFloatingLabelSet = !hideLabelFromVision && isFloatingLabel && label;
+ return Object(external_this_wp_element_["createElement"])(input_control_styles_Root, {
+ className: classes,
+ isFloatingLabel: isFloatingLabelSet,
+ isFocused: isFocused
+ }, Object(external_this_wp_element_["createElement"])(label_Label, {
+ className: "components-input-control__label",
+ hideLabelFromVision: hideLabelFromVision,
+ htmlFor: id,
+ isFilled: isFilled,
+ isFloating: isFloating,
+ isFloatingLabel: isFloatingLabel,
+ size: size
+ }, label), Object(external_this_wp_element_["createElement"])(Container, {
+ className: "components-input-control__container",
+ disabled: disabled,
+ isFocused: isFocused
+ }, Object(external_this_wp_element_["createElement"])(input_field, Object(esm_extends["a" /* default */])({}, props, {
+ className: "components-input-control__input",
+ disabled: disabled,
+ id: id,
+ isFloating: isFloating,
+ isFloatingLabelSet: isFloatingLabelSet,
+ isPressEnterToChange: isPressEnterToChange,
+ onBlur: handleOnBlur,
+ onChange: onChange,
+ onFocus: handleOnFocus,
+ onKeyDown: onKeyDown,
+ onUpdateValue: setIsFilled,
+ onValidate: onValidate,
+ ref: ref,
+ setIsFocused: setIsFocused,
+ size: size,
+ stateReducer: stateReducer,
+ value: value
+ })), suffix && Object(external_this_wp_element_["createElement"])(Suffix, {
+ className: "components-input-control__suffix"
+ }, suffix), Object(external_this_wp_element_["createElement"])(backdrop, {
+ "aria-hidden": "true",
+ disabled: disabled,
+ isFloating: isFloating,
+ isFloatingLabel: isFloatingLabelSet,
+ isFocused: isFocused,
+ label: label,
+ size: size
+ }), children));
+}
+/* harmony default export */ var input_control = (Object(external_this_wp_element_["forwardRef"])(InputControl));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/number-control/styles/number-control-styles.js
+
+
+function number_control_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var number_control_styles_ref = true ? {
+ name: "1b9wwt5",
+ styles: "&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none !important;margin:0 !important;}"
+} : undefined;
+
+var htmlArrowStyles = function htmlArrowStyles(_ref2) {
+ var hideHTMLArrows = _ref2.hideHTMLArrows;
+ if (!hideHTMLArrows) return "";
+ return number_control_styles_ref;
+};
+
+var number_control_styles_Input = /*#__PURE__*/styled_base_browser_esm(input_control, {
+ target: "ep48uk90",
+ label: "Input"
+})(htmlArrowStyles, ";" + ( true ? "" : undefined));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/math.js
+/**
+ * External dependencies
+ */
+
+/**
+ * Parses and retrieves a number value.
+ *
+ * @param {any} value The incoming value.
+ *
+ * @return {number} The parsed number value.
+ */
+
+function getNumber(value) {
+ var number = Number(value);
+ return isNaN(number) ? 0 : number;
+}
+/**
+ * Safely adds 2 values.
+ *
+ * @param {number|string} args Values to add together.
+ *
+ * @return {number} The sum of values.
+ */
+
+function add() {
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
+ args[_key] = arguments[_key];
+ }
+
+ return args.reduce(function (sum, arg) {
+ return sum + getNumber(arg);
+ }, 0);
+}
+/**
+ * Safely subtracts 2 values.
+ *
+ * @param {number|string} args Values to subtract together.
+ *
+ * @return {number} The difference of the 2 values.
+ */
+
+function subtract() {
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+ args[_key2] = arguments[_key2];
+ }
+
+ return args.reduce(function (diff, arg, index) {
+ var value = getNumber(arg);
+ return index === 0 ? value : diff - value;
+ });
+}
+/**
+ * Determines the decimal position of a number value.
+ *
+ * @param {number} value The number to evaluate.
+ *
+ * @return {number} The number of decimal places.
+ */
+
+function getPrecision(value) {
+ var split = (value + '').split('.');
+ return split[1] !== undefined ? split[1].length : 0;
+}
+/**
+ * Clamps a value based on a min/max range with rounding
+ *
+ * @param {number} value The value.
+ * @param {number} min The minimum range.
+ * @param {number} max The maximum range.
+ * @param {number} step A multiplier for the value.
+ *
+ * @return {number} The rounded and clamped value.
+ */
+
+
+function roundClamp() {
+ var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
+ var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Infinity;
+ var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Infinity;
+ var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
+ var baseValue = getNumber(value);
+ var stepValue = getNumber(step);
+ var precision = getPrecision(step);
+ var rounded = Math.round(baseValue / stepValue) * stepValue;
+ var clampedValue = Object(external_this_lodash_["clamp"])(rounded, min, max);
+ return precision ? getNumber(clampedValue.toFixed(precision)) : clampedValue;
+}
+/**
+ * Clamps a value based on a min/max range with rounding.
+ * Returns a string.
+ *
+ * @param {any} args Arguments for roundClamp().
+ * @property {number} value The value.
+ * @property {number} min The minimum range.
+ * @property {number} max The maximum range.
+ * @property {number} step A multiplier for the value.
+ *
+ * @return {string} The rounded and clamped value.
+ */
+
+function roundClampString() {
+ return roundClamp.apply(void 0, arguments).toString();
+}
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/utils/hooks/use-jump-step.js
+
+
+/**
+ * WordPress dependencies
+ */
+
+/**
+ * A custom hook that calculates a step value (used by elements like input
+ * [type="number"]). This value can be modified based on whether the Shift
+ * key is being held down.
+ *
+ * For example, a shiftStep of 10, and a step of 1...
+ * Starting from 10, the next incremented value will be 11.
+ *
+ * Holding down shift...
+ * Starting from 10, the next incremented value will be 20.
+ *
+ * @param {Object} props Properties for the hook.
+ * @param {boolean} [props.isShiftStepEnabled=true] Determines if jumping values with shift is enabled
+ * @param {number} [props.shiftStep=10] Multiplier to jump by, when holding shift key.
+ * @param {number} [props.step=1] Multiplier to jump by, when not-holding shift key.
+ *
+ * @return {number} The jump step value.
+ */
+
+function useJumpStep(_ref) {
+ var _ref$isShiftStepEnabl = _ref.isShiftStepEnabled,
+ isShiftStepEnabled = _ref$isShiftStepEnabl === void 0 ? true : _ref$isShiftStepEnabl,
+ _ref$shiftStep = _ref.shiftStep,
+ shiftStep = _ref$shiftStep === void 0 ? 10 : _ref$shiftStep,
+ _ref$step = _ref.step,
+ step = _ref$step === void 0 ? 1 : _ref$step;
+
+ var _useState = Object(external_this_wp_element_["useState"])(false),
+ _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
+ isShiftKey = _useState2[0],
+ setIsShiftKey = _useState2[1];
+
+ Object(external_this_wp_element_["useEffect"])(function () {
+ var handleShiftKeyToggle = function handleShiftKeyToggle(event) {
+ setIsShiftKey(event.shiftKey);
+ };
+
+ window.addEventListener('keydown', handleShiftKeyToggle);
+ window.addEventListener('keyup', handleShiftKeyToggle);
+ return function () {
+ window.removeEventListener('keydown', handleShiftKeyToggle);
+ window.removeEventListener('keyup', handleShiftKeyToggle);
+ };
+ }, []);
+ var isEnabled = isShiftStepEnabled && isShiftKey;
+ return isEnabled ? shiftStep * step : step;
+}
+
+/* harmony default export */ var use_jump_step = (useJumpStep);
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/number-control/index.js
+
+
+
+
+
+/**
+ * External dependencies
+ */
+
+/**
+ * WordPress dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+
+
+
+
+
+function NumberControl(_ref, ref) {
+ var _ref$__unstableStateR = _ref.__unstableStateReducer,
+ stateReducer = _ref$__unstableStateR === void 0 ? function (state) {
+ return state;
+ } : _ref$__unstableStateR,
+ className = _ref.className,
+ _ref$dragDirection = _ref.dragDirection,
+ dragDirection = _ref$dragDirection === void 0 ? 'n' : _ref$dragDirection,
+ _ref$hideHTMLArrows = _ref.hideHTMLArrows,
+ hideHTMLArrows = _ref$hideHTMLArrows === void 0 ? false : _ref$hideHTMLArrows,
+ _ref$isDragEnabled = _ref.isDragEnabled,
+ isDragEnabled = _ref$isDragEnabled === void 0 ? true : _ref$isDragEnabled,
+ _ref$isShiftStepEnabl = _ref.isShiftStepEnabled,
+ isShiftStepEnabled = _ref$isShiftStepEnabl === void 0 ? true : _ref$isShiftStepEnabl,
+ label = _ref.label,
+ _ref$max = _ref.max,
+ max = _ref$max === void 0 ? Infinity : _ref$max,
+ _ref$min = _ref.min,
+ min = _ref$min === void 0 ? -Infinity : _ref$min,
+ _ref$shiftStep = _ref.shiftStep,
+ shiftStep = _ref$shiftStep === void 0 ? 10 : _ref$shiftStep,
+ _ref$step = _ref.step,
+ step = _ref$step === void 0 ? 1 : _ref$step,
+ _ref$type = _ref.type,
+ typeProp = _ref$type === void 0 ? 'number' : _ref$type,
+ valueProp = _ref.value,
+ props = Object(objectWithoutProperties["a" /* default */])(_ref, ["__unstableStateReducer", "className", "dragDirection", "hideHTMLArrows", "isDragEnabled", "isShiftStepEnabled", "label", "max", "min", "shiftStep", "step", "type", "value"]);
+
+ var isRtl = useRTL();
+ var baseValue = roundClamp(0, min, max, step);
+ var jumpStep = use_jump_step({
+ step: step,
+ shiftStep: shiftStep,
+ isShiftStepEnabled: isShiftStepEnabled
+ });
+ var autoComplete = typeProp === 'number' ? 'off' : null;
+ var classes = classnames_default()('components-number-control', className);
+ /**
+ * "Middleware" function that intercepts updates from InputControl.
+ * This allows us to tap into actions to transform the (next) state for
+ * InputControl.
+ *
+ * @param {Object} state State from InputControl
+ * @param {Object} action Action triggering state change
+ * @return {Object} The updated state to apply to InputControl
+ */
+
+ var numberControlStateReducer = function numberControlStateReducer(state, action) {
+ var type = action.type,
+ payload = action.payload;
+ var event = payload === null || payload === void 0 ? void 0 : payload.event;
+ var currentValue = state.value;
+ /**
+ * Handles custom UP and DOWN Keyboard events
+ */
+
+ if (type === inputControlActionTypes.PRESS_UP || type === inputControlActionTypes.PRESS_DOWN) {
+ var enableShift = event.shiftKey && isShiftStepEnabled;
+ var incrementalValue = enableShift ? parseFloat(shiftStep) * parseFloat(step) : parseFloat(step);
+ var nextValue = isValueEmpty(currentValue) ? baseValue : currentValue;
+
+ if (event === null || event === void 0 ? void 0 : event.preventDefault) {
+ event.preventDefault();
+ }
+
+ if (type === inputControlActionTypes.PRESS_UP) {
+ nextValue = add(nextValue, incrementalValue);
+ }
+
+ if (type === inputControlActionTypes.PRESS_DOWN) {
+ nextValue = subtract(nextValue, incrementalValue);
+ }
+
+ nextValue = roundClamp(nextValue, min, max, incrementalValue);
+ state.value = nextValue;
+ }
+ /**
+ * Handles drag to update events
+ */
+
+
+ if (type === inputControlActionTypes.DRAG && isDragEnabled) {
+ var delta = payload.delta,
+ shiftKey = payload.shiftKey;
+
+ var _delta = Object(slicedToArray["a" /* default */])(delta, 2),
+ x = _delta[0],
+ y = _delta[1];
+
+ var modifier = shiftKey ? parseFloat(shiftStep) * parseFloat(step) : parseFloat(step);
+ var directionModifier;
+ var directionBaseValue;
+
+ switch (dragDirection) {
+ case 'n':
+ directionBaseValue = y;
+ directionModifier = -1;
+ break;
+
+ case 'e':
+ directionBaseValue = x;
+ directionModifier = isRtl ? -1 : 1;
+ break;
+
+ case 's':
+ directionBaseValue = y;
+ directionModifier = 1;
+ break;
+
+ case 'w':
+ directionBaseValue = x;
+ directionModifier = isRtl ? 1 : -1;
+ break;
+ }
+
+ var distance = directionBaseValue * modifier * directionModifier;
+
+ var _nextValue;
+
+ if (distance !== 0) {
+ _nextValue = roundClamp(add(currentValue, distance), min, max, modifier);
+ state.value = _nextValue;
+ }
+ }
+ /**
+ * Handles ENTER key press and submit
+ */
+
+
+ if (type === inputControlActionTypes.PRESS_ENTER || type === inputControlActionTypes.SUBMIT) {
+ state.value = roundClamp(currentValue, min, max);
+ }
+
+ return state;
+ };
+
+ return Object(external_this_wp_element_["createElement"])(number_control_styles_Input, Object(esm_extends["a" /* default */])({
+ autoComplete: autoComplete,
+ inputMode: "numeric"
+ }, props, {
+ className: classes,
+ dragDirection: dragDirection,
+ hideHTMLArrows: hideHTMLArrows,
+ isDragEnabled: isDragEnabled,
+ label: label,
+ max: max,
+ min: min,
+ ref: ref,
+ step: jumpStep,
+ type: typeProp,
+ value: valueProp,
+ __unstableStateReducer: state_composeStateReducers(numberControlStateReducer, stateReducer)
+ }));
+}
+/* harmony default export */ var number_control = (Object(external_this_wp_element_["forwardRef"])(NumberControl));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/unit-control/styles/unit-control-styles.js
+
+
+function unit_control_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
+
+/**
+ * External dependencies
+ */
+
+
+/**
+ * Internal dependencies
+ */
+
+
+var unit_control_styles_Root = styled_base_browser_esm("div", {
+ target: "e1agakv00",
+ label: "Root"
+})( true ? {
+ name: "1bt0omd",
+ styles: "box-sizing:border-box;position:relative;"
+} : undefined);
+
+var unit_control_styles_paddingStyles = function paddingStyles(_ref2) {
+ var disableUnits = _ref2.disableUnits;
+ var value = disableUnits ? 3 : 24;
+ return /*#__PURE__*/css_browser_esm(rtl({
+ paddingRight: value
+ })(), ";" + ( true ? "" : undefined));
+};
+
+var unit_control_styles_ref = true ? {
+ name: "1y65o8",
+ styles: "&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}"
+} : undefined;
+
+var arrowStyles = function arrowStyles(_ref3) {
+ var disableUnits = _ref3.disableUnits;
+ if (disableUnits) return '';
+ return unit_control_styles_ref;
+}; // TODO: Resolve need to use &&& to increase specificity
+// https://github.com/WordPress/gutenberg/issues/18483
+
+
+var ValueInput = /*#__PURE__*/styled_base_browser_esm(number_control, {
+ target: "e1agakv01",
+ label: "ValueInput"
+})("&&&{input{appearance:none;-moz-appearance:textfield;display:block;width:100%;", arrowStyles, ";", unit_control_styles_paddingStyles, ";}}" + ( true ? "" : undefined));
+
+var unit_control_styles_unitSizeStyles = function unitSizeStyles(_ref4) {
+ var size = _ref4.size;
+ var sizes = {
+ default: {
+ height: 28,
+ lineHeight: '24px',
+ minHeight: 28,
+ top: 1
+ },
+ small: {
+ height: 22,
+ lineHeight: '18px',
+ minHeight: 22,
+ top: 1
+ }
+ };
+ return /*#__PURE__*/css_browser_esm(sizes[size], true ? "" : undefined);
+};
+
+var unit_control_styles_baseUnitLabelStyles = function baseUnitLabelStyles(props) {
+ return /*#__PURE__*/css_browser_esm("appearance:none;background:transparent;border-radius:2px;border:none;box-sizing:border-box;color:", colors_color('darkGray.500'), ";display:block;font-size:8px;line-height:1;letter-spacing:-0.5px;outline:none;padding:2px 1px;position:absolute;text-align-last:center;text-transform:uppercase;width:20px;", rtl({
+ borderTopLeftRadius: 0,
+ borderBottomLeftRadius: 0
+ })(), " ", rtl({
+ right: 0
+ })(), " ", unit_control_styles_unitSizeStyles(props), true ? "" : undefined);
+};
+
+var UnitLabel = styled_base_browser_esm("div", {
+ target: "e1agakv02",
+ label: "UnitLabel"
+})("&&&{pointer-events:none;", unit_control_styles_baseUnitLabelStyles, ";}" + ( true ? "" : undefined));
+var UnitSelect = styled_base_browser_esm("select", {
+ target: "e1agakv03",
+ label: "UnitSelect"
+})("&&&{", unit_control_styles_baseUnitLabelStyles, ";cursor:pointer;border:1px solid transparent;&:hover{background-color:", colors_color('lightGray.300'), ";}&:focus{border-color:", colors_color('ui.borderFocus'), ";outline:2px solid transparent;outline-offset:0;}&:disabled{cursor:initial;&:hover{background-color:transparent;}}}" + ( true ? "" : undefined));
+
+// CONCATENATED MODULE: ./node_modules/@wordpress/components/build-module/unit-control/utils.js
+
+
+/**
+ * External dependencies
+ */
+
+var CSS_UNITS = [{
+ value: 'px',
+ label: 'px',
+ default: 0
+}, {
+ value: '%',
+ label: '%',
+ default: 10
+}, {
+ value: 'em',
+ label: 'em',
+ default: 0
+}, {
+ value: 'rem',
+ label: 'rem',
+ default: 0
+}, {
+ value: 'vw',
+ label: 'vw',
+ default: 10
+}, {
+ value: 'vh',
+ label: 'vh',
+ default: 10
+}];
+var DEFAULT_UNIT = CSS_UNITS[0];
+/**
+ * Handles legacy value + unit handling.
+ * This component use to manage both incoming value and units separately.
+ *
+ * Moving forward, ideally the value should be a string that contains both
+ * the value and unit, example: '10px'
+ *
+ * @param {number|string} value Value
+ * @param {string} unit Unit value
+ * @param {Array