{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/react-image-crop/dist/ReactCrop.js"],"names":["arrayLikeToArray","module","exports","r","Array","isArray","__esModule","Symbol","iterator","from","TypeError","_typeof","t","e","toPrimitive","i","call","String","Number","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","a","length","n","toString","slice","constructor","name","test","factory","obj","prototype","self","__WEBPACK_EXTERNAL_MODULE_1__","__WEBPACK_EXTERNAL_MODULE_2__","modules","installedModules","__webpack_require__","moduleId","l","m","c","d","getter","o","get","object","property","hasOwnProperty","p","s","containCrop","makeAspectCrop","getPixelCrop","Component","default","undefined","_createClass","defineProperties","target","props","descriptor","key","Constructor","protoProps","staticProps","_extends","assign","arguments","source","_slicedToArray","arr","_arr","_n","_d","_e","_s","_i","next","done","push","err","sliceIterator","_react","_react2","_interopRequireDefault","_propTypes2","_possibleConstructorReturn","ReferenceError","passiveSupported","window","addEventListener","getClientPos","pageX","pageY","touches","_e$touches$","x","y","clamp","num","min","max","Math","isCropValid","crop","width","height","isNaN","inverseOrd","ord","inversedOrd","imageAspect","aspect","console","warn","completeCrop","resolveCrop","image","round","isAspectInvalid","naturalWidth","naturalHeight","percentCrop","useNaturalImageDimensions","imageWidth","imageHeight","prevCrop","contained","cropXAdjusted","cropYAdjusted","ReactCrop","_PureComponent","_ref","_temp","_this","instance","_classCallCheck","this","_len","args","_key","__proto__","getPrototypeOf","apply","concat","document","state","onCropMouseTouchDown","_this$props","disabled","preventDefault","clientPos","componentRef","focus","preventScroll","dataset","xInversed","yInversed","cropOffset","getElementOffset","cropSelectRef","evData","clientStartX","clientStartY","cropStartWidth","cropStartHeight","cropStartX","cropStartY","xCrossOver","yCrossOver","startXCrossOver","startYCrossOver","isResize","mouseDownOnCrop","setState","cropIsActive","onComponentMouseTouchDown","_this$props2","locked","keepSelection","onChange","imageRef","imageOffset","xPc","left","yPc","top","nextCrop","onDocMouseTouchMove","_this$props3","onDragStart","dragStarted","straightenYPath","xDiffPx","xDiffPc","yDiffPx","yDiffPc","resizeCrop","dragCrop","onComponentKeyDown","_this$props4","onComplete","keyCode","which","nudged","makeNewCrop","arrowKey","nudgeStep","right","up","down","onDocMouseTouchEnd","_this$props5","onDragEnd","subClass","superClass","create","setPrototypeOf","_inherits","options","passive","complete","readyState","src","onImageLoad","removeEventListener","_props","onImageLoaded","resolvedCrop","el","rect","getBoundingClientRect","docEl","documentElement","pageYOffset","clientTop","pageXOffset","clientLeft","_props2","minWidth","maxWidth","minHeight","maxHeight","newWidth","abs","newHeight","_props3","newSize","getNewSize","newX","newY","lastYCrossover","containedCrop","xyOrds","indexOf","xOrds","yOrds","crossOverCheck","clientX","k","_this3","_props4","renderSelectionAddon","style","getCropStyle","createElement","ref","className","onMouseDown","onTouchStart","role","defaultCrop","swapXOrd","swapYOrd","inversedXOrd","inversedYOrd","_this4","_props5","children","crossorigin","imageAlt","onImageError","imageStyle","cropSelection","createCropSelection","componentClasses","arr2","_toConsumableArray","split","join","tabIndex","onKeyDown","crossOrigin","onLoad","onError","alt","PureComponent","propTypes","string","oneOfType","arrayOf","node","shape","number","bool","func","isRequired","defaultProps"],"mappings":"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","file":"js/vendors~application~community-27bc77c6a9e067e08239.chunk.js","sourcesContent":["var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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); }\n(function webpackUniversalModuleDefinition(root, factory) {\n if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && (typeof module === \"undefined\" ? \"undefined\" : _typeof(module)) === 'object') module.exports = factory(require(\"react\"), require(\"prop-types\"));else if (typeof define === 'function' && define.amd) define([\"react\", \"prop-types\"], factory);else if ((typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object') exports[\"ReactCrop\"] = factory(require(\"react\"), require(\"prop-types\"));else root[\"ReactCrop\"] = factory(root[\"React\"], root[\"PropTypes\"]);\n})(typeof self !== 'undefined' ? self : this, function (__WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_2__) {\n return /******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/\n var installedModules = {};\n /******/\n /******/ // The require function\n /******/\n function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/\n module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/\n __webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/\n __webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/\n __webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/\n });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/\n __webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ? /******/function getDefault() {\n return module['default'];\n } : /******/function getModuleExports() {\n return module;\n };\n /******/\n __webpack_require__.d(getter, 'a', getter);\n /******/\n return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/\n __webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/\n __webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/\n return __webpack_require__(__webpack_require__.s = 0);\n /******/\n }\n /************************************************************************/\n /******/([(/* 0 */\n /***/function (module, exports, __webpack_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.containCrop = exports.makeAspectCrop = exports.getPixelCrop = exports.Component = exports.default = undefined;\n var _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n var _slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n }(); /* globals document, window */\n\n var _react = __webpack_require__(1);\n var _react2 = _interopRequireDefault(_react);\n var _propTypes = __webpack_require__(2);\n var _propTypes2 = _interopRequireDefault(_propTypes);\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n }\n function _toConsumableArray(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n } else {\n return Array.from(arr);\n }\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (_typeof(call) === \"object\" || typeof call === \"function\") ? call : self;\n }\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + _typeof(superClass));\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n }\n\n // Feature detection\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners\n var passiveSupported = false;\n try {\n window.addEventListener('test', null, Object.defineProperty({}, 'passive', {\n get: function get() {\n passiveSupported = true;\n return true;\n }\n }));\n } catch (err) {} // eslint-disable-line no-empty\n\n var EMPTY_GIF = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';\n function getClientPos(e) {\n var pageX = void 0;\n var pageY = void 0;\n if (e.touches) {\n var _e$touches = _slicedToArray(e.touches, 1);\n var _e$touches$ = _e$touches[0];\n pageX = _e$touches$.pageX;\n pageY = _e$touches$.pageY;\n } else {\n pageX = e.pageX;\n pageY = e.pageY;\n }\n return {\n x: pageX,\n y: pageY\n };\n }\n function clamp(num, min, max) {\n return Math.min(Math.max(num, min), max);\n }\n function isCropValid(crop) {\n return crop && crop.width && crop.height && !isNaN(crop.width) && !isNaN(crop.height);\n }\n function inverseOrd(ord) {\n var inversedOrd = void 0;\n if (ord === 'n') inversedOrd = 's';else if (ord === 'ne') inversedOrd = 'sw';else if (ord === 'e') inversedOrd = 'w';else if (ord === 'se') inversedOrd = 'nw';else if (ord === 's') inversedOrd = 'n';else if (ord === 'sw') inversedOrd = 'ne';else if (ord === 'w') inversedOrd = 'e';else if (ord === 'nw') inversedOrd = 'se';\n return inversedOrd;\n }\n function makeAspectCrop(crop, imageAspect) {\n if (isNaN(crop.aspect) || isNaN(imageAspect)) {\n console.warn('`crop.aspect` and `imageAspect` need to be numbers in order to make an aspect crop', crop);\n return crop;\n }\n var completeCrop = _extends({\n x: 0,\n y: 0\n }, crop);\n if (crop.width) {\n completeCrop.height = crop.width / crop.aspect * imageAspect;\n }\n if (crop.height) {\n completeCrop.width = (completeCrop.height || crop.height) * (crop.aspect / imageAspect);\n }\n if (crop.y + (completeCrop.height || crop.height) > 100) {\n completeCrop.height = 100 - crop.y;\n completeCrop.width = completeCrop.height * crop.aspect / imageAspect;\n }\n if (crop.x + (completeCrop.width || crop.width) > 100) {\n completeCrop.width = 100 - crop.x;\n completeCrop.height = completeCrop.width / crop.aspect * imageAspect;\n }\n return completeCrop;\n }\n function isAspectInvalid(crop, width, height) {\n if (!crop.width && crop.height || crop.width && !crop.height) {\n return true;\n }\n if (crop.width && crop.height && Math.round(height * (crop.height / 100) * crop.aspect) !== Math.round(width * (crop.width / 100))) {\n return true;\n }\n return false;\n }\n function resolveCrop(crop, image) {\n if (crop && crop.aspect && isAspectInvalid(crop, image.naturalWidth, image.naturalHeight)) {\n return makeAspectCrop(crop, image.naturalWidth / image.naturalHeight);\n }\n return crop;\n }\n function getPixelCrop(image, percentCrop) {\n var useNaturalImageDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (!image || !percentCrop) {\n return null;\n }\n var imageWidth = useNaturalImageDimensions ? image.naturalWidth : image.width;\n var imageHeight = useNaturalImageDimensions ? image.naturalHeight : image.height;\n var x = Math.round(imageWidth * (percentCrop.x / 100));\n var y = Math.round(imageHeight * (percentCrop.y / 100));\n var width = Math.round(imageWidth * (percentCrop.width / 100));\n var height = Math.round(imageHeight * (percentCrop.height / 100));\n return {\n x: x,\n y: y,\n // Clamp width and height so rounding doesn't cause the crop to exceed bounds.\n width: clamp(width, 0, imageWidth - x),\n height: clamp(height, 0, imageHeight - y)\n };\n }\n function containCrop(prevCrop, crop, imageAspect) {\n var contained = _extends({}, crop);\n\n // Fixes issue where crop can be dragged to the left when resizing with SW ord\n // even though it's hit the bottom of the image.\n if (crop.aspect && prevCrop.x > crop.x && crop.height + crop.y >= 100) {\n contained.x = prevCrop.x;\n }\n\n // Don't let the crop grow on the opposite side when hitting an x image boundary.\n var cropXAdjusted = false;\n if (contained.x + contained.width > 100) {\n contained.width = crop.width + (100 - (crop.x + crop.width));\n contained.x = crop.x + (100 - (crop.x + contained.width));\n cropXAdjusted = true;\n } else if (contained.x < 0) {\n contained.width = crop.x + crop.width;\n contained.x = 0;\n cropXAdjusted = true;\n }\n if (cropXAdjusted && crop.aspect) {\n // Adjust height to the resized width to maintain aspect.\n contained.height = contained.width / crop.aspect * imageAspect;\n // If sizing in up direction we need to pin Y at the point it\n // would be at the boundary.\n if (prevCrop.y > contained.y) {\n contained.y = crop.y + (crop.height - contained.height);\n }\n }\n\n // Don't let the crop grow on the opposite side when hitting a y image boundary.\n var cropYAdjusted = false;\n if (contained.y + contained.height > 100) {\n contained.height = crop.height + (100 - (crop.y + crop.height));\n contained.y = crop.y + (100 - (crop.y + contained.height));\n cropYAdjusted = true;\n } else if (contained.y < 0) {\n contained.height = crop.y + crop.height;\n contained.y = 0;\n cropYAdjusted = true;\n }\n if (cropYAdjusted && crop.aspect) {\n // Adjust width to the resized height to maintain aspect.\n contained.width = contained.height * crop.aspect / imageAspect;\n // If sizing in up direction we need to pin X at the point it\n // would be at the boundary.\n if (contained.x < crop.x) {\n contained.x = crop.x + (crop.width - contained.width);\n }\n }\n return contained;\n }\n var ReactCrop = function (_PureComponent) {\n _inherits(ReactCrop, _PureComponent);\n function ReactCrop() {\n var _ref;\n var _temp, _this, _ret;\n _classCallCheck(this, ReactCrop);\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = ReactCrop.__proto__ || Object.getPrototypeOf(ReactCrop)).call.apply(_ref, [this].concat(args))), _this), _this.window = window, _this.document = document, _this.state = {}, _this.onCropMouseTouchDown = function (e) {\n var _this$props = _this.props,\n crop = _this$props.crop,\n disabled = _this$props.disabled;\n if (disabled) {\n return;\n }\n e.preventDefault(); // Stop drag selection.\n\n var clientPos = getClientPos(e);\n\n // Focus for detecting keypress.\n _this.componentRef.focus({\n preventScroll: true\n });\n var ord = e.target.dataset.ord;\n var xInversed = ord === 'nw' || ord === 'w' || ord === 'sw';\n var yInversed = ord === 'nw' || ord === 'n' || ord === 'ne';\n var cropOffset = void 0;\n if (crop.aspect) {\n cropOffset = _this.getElementOffset(_this.cropSelectRef);\n }\n _this.evData = {\n clientStartX: clientPos.x,\n clientStartY: clientPos.y,\n cropStartWidth: crop.width,\n cropStartHeight: crop.height,\n cropStartX: xInversed ? crop.x + crop.width : crop.x,\n cropStartY: yInversed ? crop.y + crop.height : crop.y,\n xInversed: xInversed,\n yInversed: yInversed,\n xCrossOver: xInversed,\n yCrossOver: yInversed,\n startXCrossOver: xInversed,\n startYCrossOver: yInversed,\n isResize: e.target.dataset.ord,\n ord: ord,\n cropOffset: cropOffset\n };\n _this.mouseDownOnCrop = true;\n _this.setState({\n cropIsActive: true\n });\n }, _this.onComponentMouseTouchDown = function (e) {\n var _this$props2 = _this.props,\n crop = _this$props2.crop,\n disabled = _this$props2.disabled,\n locked = _this$props2.locked,\n keepSelection = _this$props2.keepSelection,\n onChange = _this$props2.onChange,\n useNaturalImageDimensions = _this$props2.useNaturalImageDimensions;\n if (e.target !== _this.imageRef) {\n return;\n }\n if (disabled || locked || keepSelection && isCropValid(crop)) {\n return;\n }\n e.preventDefault(); // Stop drag selection.\n\n var clientPos = getClientPos(e);\n\n // Focus for detecting keypress.\n _this.componentRef.focus({\n preventScroll: true\n });\n var imageOffset = _this.getElementOffset(_this.imageRef);\n var xPc = (clientPos.x - imageOffset.left) / _this.imageRef.width * 100;\n var yPc = (clientPos.y - imageOffset.top) / _this.imageRef.height * 100;\n var nextCrop = {\n aspect: crop ? crop.aspect : undefined,\n x: xPc,\n y: yPc,\n width: 0,\n height: 0\n };\n _this.evData = {\n clientStartX: clientPos.x,\n clientStartY: clientPos.y,\n cropStartWidth: nextCrop.width,\n cropStartHeight: nextCrop.height,\n cropStartX: nextCrop.x,\n cropStartY: nextCrop.y,\n xInversed: false,\n yInversed: false,\n xCrossOver: false,\n yCrossOver: false,\n startXCrossOver: false,\n startYCrossOver: false,\n isResize: true,\n ord: 'nw'\n };\n _this.mouseDownOnCrop = true;\n onChange(nextCrop, getPixelCrop(_this.imageRef, nextCrop, useNaturalImageDimensions));\n _this.setState({\n cropIsActive: true\n });\n }, _this.onDocMouseTouchMove = function (e) {\n var _this$props3 = _this.props,\n crop = _this$props3.crop,\n disabled = _this$props3.disabled,\n onChange = _this$props3.onChange,\n onDragStart = _this$props3.onDragStart;\n if (disabled) {\n return;\n }\n if (!_this.mouseDownOnCrop) {\n return;\n }\n e.preventDefault(); // Stop drag selection.\n if (!_this.dragStarted) {\n _this.dragStarted = true;\n onDragStart();\n }\n var _this2 = _this,\n evData = _this2.evData;\n var clientPos = getClientPos(e);\n if (evData.isResize && crop.aspect && evData.cropOffset) {\n clientPos.y = _this.straightenYPath(clientPos.x);\n }\n var xDiffPx = clientPos.x - evData.clientStartX;\n evData.xDiffPc = xDiffPx / _this.imageRef.width * 100;\n var yDiffPx = clientPos.y - evData.clientStartY;\n evData.yDiffPc = yDiffPx / _this.imageRef.height * 100;\n var nextCrop = void 0;\n if (evData.isResize) {\n nextCrop = _this.resizeCrop();\n } else {\n nextCrop = _this.dragCrop();\n }\n if (nextCrop !== crop) {\n onChange(nextCrop, getPixelCrop(_this.imageRef, nextCrop));\n }\n }, _this.onComponentKeyDown = function (e) {\n var _this$props4 = _this.props,\n crop = _this$props4.crop,\n disabled = _this$props4.disabled,\n onChange = _this$props4.onChange,\n onComplete = _this$props4.onComplete,\n useNaturalImageDimensions = _this$props4.useNaturalImageDimensions;\n if (disabled) {\n return;\n }\n var keyCode = e.which;\n var nudged = false;\n if (!isCropValid(crop)) {\n return;\n }\n var nextCrop = _this.makeNewCrop();\n if (keyCode === ReactCrop.arrowKey.left) {\n nextCrop.x -= ReactCrop.nudgeStep;\n nudged = true;\n } else if (keyCode === ReactCrop.arrowKey.right) {\n nextCrop.x += ReactCrop.nudgeStep;\n nudged = true;\n } else if (keyCode === ReactCrop.arrowKey.up) {\n nextCrop.y -= ReactCrop.nudgeStep;\n nudged = true;\n } else if (keyCode === ReactCrop.arrowKey.down) {\n nextCrop.y += ReactCrop.nudgeStep;\n nudged = true;\n }\n if (nudged) {\n e.preventDefault(); // Stop drag selection.\n nextCrop.x = clamp(nextCrop.x, 0, 100 - nextCrop.width);\n nextCrop.y = clamp(nextCrop.y, 0, 100 - nextCrop.height);\n onChange(nextCrop, getPixelCrop(_this.imageRef, nextCrop, useNaturalImageDimensions));\n onComplete(nextCrop, getPixelCrop(_this.imageRef, nextCrop, useNaturalImageDimensions));\n }\n }, _this.onDocMouseTouchEnd = function () {\n var _this$props5 = _this.props,\n crop = _this$props5.crop,\n disabled = _this$props5.disabled,\n onComplete = _this$props5.onComplete,\n onDragEnd = _this$props5.onDragEnd,\n useNaturalImageDimensions = _this$props5.useNaturalImageDimensions;\n if (disabled) {\n return;\n }\n if (_this.mouseDownOnCrop) {\n _this.mouseDownOnCrop = false;\n _this.dragStarted = false;\n onDragEnd();\n onComplete(crop, getPixelCrop(_this.imageRef, crop, useNaturalImageDimensions));\n _this.setState({\n cropIsActive: false\n });\n }\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n _createClass(ReactCrop, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n var options = passiveSupported ? {\n passive: false\n } : false;\n this.document.addEventListener('mousemove', this.onDocMouseTouchMove, options);\n this.document.addEventListener('touchmove', this.onDocMouseTouchMove, options);\n this.document.addEventListener('mouseup', this.onDocMouseTouchEnd, options);\n this.document.addEventListener('touchend', this.onDocMouseTouchEnd, options);\n this.document.addEventListener('touchcancel', this.onDocMouseTouchEnd, options);\n if (this.imageRef.complete || this.imageRef.readyState) {\n if (this.imageRef.naturalWidth === 0) {\n // Broken load on iOS, PR #51\n // https://css-tricks.com/snippets/jquery/fixing-load-in-ie-for-cached-images/\n // http://stackoverflow.com/questions/821516/browser-independent-way-to-detect-when-image-has-been-loaded\n var src = this.imageRef.src;\n this.imageRef.src = EMPTY_GIF;\n this.imageRef.src = src;\n } else {\n this.onImageLoad(this.imageRef);\n }\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.document.removeEventListener('mousemove', this.onDocMouseTouchMove);\n this.document.removeEventListener('touchmove', this.onDocMouseTouchMove);\n this.document.removeEventListener('mouseup', this.onDocMouseTouchEnd);\n this.document.removeEventListener('touchend', this.onDocMouseTouchEnd);\n this.document.removeEventListener('touchcancel', this.onDocMouseTouchEnd);\n }\n }, {\n key: 'onImageLoad',\n value: function onImageLoad(image) {\n var _props = this.props,\n crop = _props.crop,\n onComplete = _props.onComplete,\n onChange = _props.onChange,\n onImageLoaded = _props.onImageLoaded,\n useNaturalImageDimensions = _props.useNaturalImageDimensions;\n var resolvedCrop = resolveCrop(crop, image);\n\n // Return false from onImageLoaded if you set the crop with setState in there as otherwise the subsequent\n // onChange + onComplete will not have your updated crop.\n var res = onImageLoaded(image, getPixelCrop(image, resolvedCrop, useNaturalImageDimensions));\n if (res !== false && resolvedCrop !== crop) {\n onChange(resolvedCrop, getPixelCrop(image, resolvedCrop, useNaturalImageDimensions));\n onComplete(resolvedCrop, getPixelCrop(image, resolvedCrop, useNaturalImageDimensions));\n }\n }\n }, {\n key: 'getElementOffset',\n value: function getElementOffset(el) {\n var rect = el.getBoundingClientRect();\n var docEl = this.document.documentElement;\n var rectTop = rect.top + this.window.pageYOffset - docEl.clientTop;\n var rectLeft = rect.left + this.window.pageXOffset - docEl.clientLeft;\n return {\n top: rectTop,\n left: rectLeft\n };\n }\n }, {\n key: 'getCropStyle',\n value: function getCropStyle() {\n var crop = this.props.crop;\n return {\n top: crop.y + '%',\n left: crop.x + '%',\n width: crop.width + '%',\n height: crop.height + '%'\n };\n }\n }, {\n key: 'getNewSize',\n value: function getNewSize() {\n var _props2 = this.props,\n crop = _props2.crop,\n minWidth = _props2.minWidth,\n maxWidth = _props2.maxWidth,\n minHeight = _props2.minHeight,\n maxHeight = _props2.maxHeight;\n var evData = this.evData;\n var imageAspect = this.imageRef.width / this.imageRef.height;\n\n // New width.\n var newWidth = evData.cropStartWidth + evData.xDiffPc;\n if (evData.xCrossOver) {\n newWidth = Math.abs(newWidth);\n }\n newWidth = clamp(newWidth, minWidth, maxWidth);\n\n // New height.\n var newHeight = void 0;\n if (crop.aspect) {\n newHeight = newWidth / crop.aspect * imageAspect;\n } else {\n newHeight = evData.cropStartHeight + evData.yDiffPc;\n }\n if (evData.yCrossOver) {\n // Cap if polarity is inversed and the height fills the y space.\n newHeight = Math.min(Math.abs(newHeight), evData.cropStartY);\n }\n newHeight = clamp(newHeight, minHeight, maxHeight);\n if (crop.aspect) {\n newWidth = clamp(newHeight * crop.aspect / imageAspect, 0, 100);\n }\n return {\n width: newWidth,\n height: newHeight\n };\n }\n }, {\n key: 'dragCrop',\n value: function dragCrop() {\n var nextCrop = this.makeNewCrop();\n var evData = this.evData;\n nextCrop.x = clamp(evData.cropStartX + evData.xDiffPc, 0, 100 - nextCrop.width);\n nextCrop.y = clamp(evData.cropStartY + evData.yDiffPc, 0, 100 - nextCrop.height);\n return nextCrop;\n }\n }, {\n key: 'resizeCrop',\n value: function resizeCrop() {\n var nextCrop = this.makeNewCrop();\n var evData = this.evData;\n var _props3 = this.props,\n crop = _props3.crop,\n minWidth = _props3.minWidth,\n minHeight = _props3.minHeight;\n var ord = evData.ord;\n var imageAspect = this.imageRef.width / this.imageRef.height;\n\n // On the inverse change the diff so it's the same and\n // the same algo applies.\n if (evData.xInversed) {\n evData.xDiffPc -= evData.cropStartWidth * 2;\n }\n if (evData.yInversed) {\n evData.yDiffPc -= evData.cropStartHeight * 2;\n }\n\n // New size.\n var newSize = this.getNewSize();\n\n // Adjust x/y to give illusion of 'staticness' as width/height is increased\n // when polarity is inversed.\n var newX = evData.cropStartX;\n var newY = evData.cropStartY;\n if (evData.xCrossOver) {\n newX = nextCrop.x + (nextCrop.width - newSize.width);\n }\n if (evData.yCrossOver) {\n // This not only removes the little \"shake\" when inverting at a diagonal, but for some\n // reason y was way off at fast speeds moving sw->ne with fixed aspect only, I couldn't\n // figure out why.\n if (evData.lastYCrossover === false) {\n newY = nextCrop.y - newSize.height;\n } else {\n newY = nextCrop.y + (nextCrop.height - newSize.height);\n }\n }\n var containedCrop = containCrop(this.props.crop, {\n x: newX,\n y: newY,\n width: newSize.width,\n height: newSize.height,\n aspect: nextCrop.aspect\n }, imageAspect);\n\n // Apply x/y/width/height changes depending on ordinate (fixed aspect always applies both).\n if (nextCrop.aspect || ReactCrop.xyOrds.indexOf(ord) > -1) {\n nextCrop.x = containedCrop.x;\n nextCrop.y = containedCrop.y;\n nextCrop.width = containedCrop.width;\n nextCrop.height = containedCrop.height;\n } else if (ReactCrop.xOrds.indexOf(ord) > -1) {\n nextCrop.x = containedCrop.x;\n nextCrop.width = containedCrop.width;\n } else if (ReactCrop.yOrds.indexOf(ord) > -1) {\n nextCrop.y = containedCrop.y;\n nextCrop.height = containedCrop.height;\n }\n evData.lastYCrossover = evData.yCrossOver;\n this.crossOverCheck();\n\n // Ensure new dimensions aren't less than min dimensions.\n if (minWidth && nextCrop.width < minWidth) {\n return crop;\n }\n if (minHeight && nextCrop.height < minHeight) {\n return crop;\n }\n return nextCrop;\n }\n }, {\n key: 'straightenYPath',\n value: function straightenYPath(clientX) {\n var evData = this.evData;\n var ord = evData.ord;\n var cropOffset = evData.cropOffset;\n var cropStartWidth = evData.cropStartWidth / 100 * this.imageRef.width;\n var cropStartHeight = evData.cropStartHeight / 100 * this.imageRef.height;\n var k = void 0;\n var d = void 0;\n if (ord === 'nw' || ord === 'se') {\n k = cropStartHeight / cropStartWidth;\n d = cropOffset.top - cropOffset.left * k;\n } else {\n k = -cropStartHeight / cropStartWidth;\n d = cropOffset.top + (cropStartHeight - cropOffset.left * k);\n }\n return k * clientX + d;\n }\n }, {\n key: 'createCropSelection',\n value: function createCropSelection() {\n var _this3 = this;\n var _props4 = this.props,\n disabled = _props4.disabled,\n locked = _props4.locked,\n renderSelectionAddon = _props4.renderSelectionAddon;\n var style = this.getCropStyle();\n return _react2.default.createElement('div', {\n ref: function ref(n) {\n _this3.cropSelectRef = n;\n },\n style: style,\n className: 'ReactCrop__crop-selection',\n onMouseDown: this.onCropMouseTouchDown,\n onTouchStart: this.onCropMouseTouchDown,\n role: 'presentation'\n }, !disabled && !locked && _react2.default.createElement('div', {\n className: 'ReactCrop__drag-elements'\n }, _react2.default.createElement('div', {\n className: 'ReactCrop__drag-bar ord-n',\n 'data-ord': 'n'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-bar ord-e',\n 'data-ord': 'e'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-bar ord-s',\n 'data-ord': 's'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-bar ord-w',\n 'data-ord': 'w'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-nw',\n 'data-ord': 'nw'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-n',\n 'data-ord': 'n'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-ne',\n 'data-ord': 'ne'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-e',\n 'data-ord': 'e'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-se',\n 'data-ord': 'se'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-s',\n 'data-ord': 's'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-sw',\n 'data-ord': 'sw'\n }), _react2.default.createElement('div', {\n className: 'ReactCrop__drag-handle ord-w',\n 'data-ord': 'w'\n })), renderSelectionAddon && renderSelectionAddon(this.state));\n }\n }, {\n key: 'makeNewCrop',\n value: function makeNewCrop() {\n return _extends({}, ReactCrop.defaultCrop, this.props.crop);\n }\n }, {\n key: 'crossOverCheck',\n value: function crossOverCheck() {\n var evData = this.evData;\n if (!evData.xCrossOver && -Math.abs(evData.cropStartWidth) - evData.xDiffPc >= 0 || evData.xCrossOver && -Math.abs(evData.cropStartWidth) - evData.xDiffPc <= 0) {\n evData.xCrossOver = !evData.xCrossOver;\n }\n if (!evData.yCrossOver && -Math.abs(evData.cropStartHeight) - evData.yDiffPc >= 0 || evData.yCrossOver && -Math.abs(evData.cropStartHeight) - evData.yDiffPc <= 0) {\n evData.yCrossOver = !evData.yCrossOver;\n }\n var swapXOrd = evData.xCrossOver !== evData.startXCrossOver;\n var swapYOrd = evData.yCrossOver !== evData.startYCrossOver;\n evData.inversedXOrd = swapXOrd ? inverseOrd(evData.ord) : false;\n evData.inversedYOrd = swapYOrd ? inverseOrd(evData.ord) : false;\n }\n }, {\n key: 'render',\n value: function render() {\n var _this4 = this;\n var _props5 = this.props,\n children = _props5.children,\n className = _props5.className,\n crossorigin = _props5.crossorigin,\n crop = _props5.crop,\n disabled = _props5.disabled,\n locked = _props5.locked,\n imageAlt = _props5.imageAlt,\n onImageError = _props5.onImageError,\n src = _props5.src,\n style = _props5.style,\n imageStyle = _props5.imageStyle;\n var cropIsActive = this.state.cropIsActive;\n var cropSelection = void 0;\n if (isCropValid(crop)) {\n cropSelection = this.createCropSelection();\n }\n var componentClasses = ['ReactCrop'];\n if (cropIsActive) {\n componentClasses.push('ReactCrop--active');\n }\n if (crop) {\n if (crop.aspect) {\n componentClasses.push('ReactCrop--fixed-aspect');\n }\n\n // In this case we have to shadow the image, since the box-shadow\n // on the crop won't work.\n if (cropIsActive && (!crop.width || !crop.height)) {\n componentClasses.push('ReactCrop--crop-invisible');\n }\n }\n if (disabled) {\n componentClasses.push('ReactCrop--disabled');\n }\n if (locked) {\n componentClasses.push('ReactCrop--locked');\n }\n if (className) {\n componentClasses.push.apply(componentClasses, _toConsumableArray(className.split(' ')));\n }\n return _react2.default.createElement('div', {\n ref: function ref(n) {\n _this4.componentRef = n;\n },\n className: componentClasses.join(' '),\n style: style,\n onTouchStart: this.onComponentMouseTouchDown,\n onMouseDown: this.onComponentMouseTouchDown,\n role: 'presentation',\n tabIndex: 1,\n onKeyDown: this.onComponentKeyDown\n }, _react2.default.createElement('img', {\n ref: function ref(n) {\n _this4.imageRef = n;\n },\n crossOrigin: crossorigin,\n className: 'ReactCrop__image',\n style: imageStyle,\n src: src,\n onLoad: function onLoad(e) {\n return _this4.onImageLoad(e.target);\n },\n onError: onImageError,\n alt: imageAlt\n }), children, cropSelection);\n }\n }]);\n return ReactCrop;\n }(_react.PureComponent);\n ReactCrop.xOrds = ['e', 'w'];\n ReactCrop.yOrds = ['n', 's'];\n ReactCrop.xyOrds = ['nw', 'ne', 'se', 'sw'];\n ReactCrop.arrowKey = {\n left: 37,\n up: 38,\n right: 39,\n down: 40\n };\n ReactCrop.nudgeStep = 0.2;\n ReactCrop.defaultCrop = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n ReactCrop.propTypes = {\n className: _propTypes2.default.string,\n crossorigin: _propTypes2.default.string,\n children: _propTypes2.default.oneOfType([_propTypes2.default.arrayOf(_propTypes2.default.node), _propTypes2.default.node]),\n crop: _propTypes2.default.shape({\n aspect: _propTypes2.default.number,\n x: _propTypes2.default.number,\n y: _propTypes2.default.number,\n width: _propTypes2.default.number,\n height: _propTypes2.default.number\n }),\n disabled: _propTypes2.default.bool,\n locked: _propTypes2.default.bool,\n imageAlt: _propTypes2.default.string,\n imageStyle: _propTypes2.default.shape({}),\n keepSelection: _propTypes2.default.bool,\n minWidth: _propTypes2.default.number,\n minHeight: _propTypes2.default.number,\n maxWidth: _propTypes2.default.number,\n maxHeight: _propTypes2.default.number,\n onChange: _propTypes2.default.func.isRequired,\n onImageError: _propTypes2.default.func,\n onComplete: _propTypes2.default.func,\n onImageLoaded: _propTypes2.default.func,\n onDragStart: _propTypes2.default.func,\n onDragEnd: _propTypes2.default.func,\n src: _propTypes2.default.string.isRequired,\n style: _propTypes2.default.shape({}),\n renderSelectionAddon: _propTypes2.default.func\n };\n ReactCrop.defaultProps = {\n className: undefined,\n crop: undefined,\n crossorigin: undefined,\n disabled: false,\n locked: false,\n imageAlt: '',\n maxWidth: 100,\n maxHeight: 100,\n minWidth: 0,\n minHeight: 0,\n keepSelection: false,\n onComplete: function onComplete() {},\n onImageError: function onImageError() {},\n onImageLoaded: function onImageLoaded() {},\n onDragStart: function onDragStart() {},\n onDragEnd: function onDragEnd() {},\n children: undefined,\n style: undefined,\n imageStyle: undefined,\n renderSelectionAddon: undefined,\n useNaturalImageDimensions: true\n };\n exports.default = ReactCrop;\n exports.Component = ReactCrop;\n exports.getPixelCrop = getPixelCrop;\n exports.makeAspectCrop = makeAspectCrop;\n exports.containCrop = containCrop;\n\n /***/\n }), (/* 1 */\n /***/function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n /***/\n }), (/* 2 */\n /***/function (module, exports) {\n module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n /***/\n }\n /******/)]);\n});"],"sourceRoot":""}