From ae6770c0bb4a317ecb7097243d1e5cb79881f49a Mon Sep 17 00:00:00 2001 From: Kunal Panchal Date: Fri, 13 Sep 2019 18:08:06 +0530 Subject: [PATCH] v1.2.0 --- dist/index.es.js | 30 +++++++++++++++++++++---- dist/index.es.js.map | 2 +- dist/index.js | 30 +++++++++++++++++++++---- dist/index.js.map | 2 +- example/src/App/index.css | 30 ++++++++++++++++++------- example/src/App/index.js | 46 +++++++++++++++++---------------------- package.json | 2 +- src/Grid/grid.css | 28 +++++++++++++++++++++++- src/Grid/grid.js | 14 +++++++++++- 9 files changed, 137 insertions(+), 47 deletions(-) diff --git a/dist/index.es.js b/dist/index.es.js index ebc6af8..dc75556 100644 --- a/dist/index.es.js +++ b/dist/index.es.js @@ -32,8 +32,8 @@ var css = "@import url(\"https://fonts.googleapis.com/css?family=Lato:400,700&di var homeStyles = { "overlay": "styles_overlay__CLSq-", "isOverlayActive": "styles_isOverlayActive__298UW", "modal": "styles_modal__gNwvD", "isModalActive": "styles_isModalActive__3XSNX", "header": "styles_header__3PFGX", "navList": "styles_navList__33BO0", "navItem": "styles_navItem__XZgfa", "navItemActive": "styles_navItemActive__17Uio", "closeBtn": "styles_closeBtn__1A6KW", "note": "styles_note__2WdlX", "galleryInput": "styles_galleryInput__6RZOY", "galleryButton": "styles_galleryButton__2bkqr", "galleryLoading": "styles_galleryLoading__3gL47" }; styleInject(css); -var css$1 = ".grid_searchWrapper__3-vIN {\n\tposition: relative;\n\theight:40px;\n\tmargin-top:16px;\n}\n.grid_searchIcon__SWJt1 {\n\tposition: absolute;\n\tleft: 26px;\n\ttop: 12px;\n}\n.grid_searchBar__1qck2 {\n\tmargin-top: 100px;\n\twidth: 75%;\n\tmargin: 0px 16px;\n\theight: 100%;\n\tpadding: 10px 36px;\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder: 1px solid #e7e8f0;\n\tbox-shadow: 0px 2px 4px rgba(0, 0, 0, 0.0877491);\n\tborder-radius: 4px;\n\tfont-style: normal;\n\tfont-size: 13px;\n\tline-height: 19px;\n}\n.grid_searchButton__K5Cqp{\n\theight:100%;\n\twidth:15%\n}\n\n.grid_grid__vYO3q {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\toverflow-x: scroll;\n\tjustify-content: center;\n\tmargin: 0;\n\theight: 73vh;\n\tpadding: 24px 0;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar {\n\twidth: 6px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb {\n\tbackground-color: rgba(74, 86, 96, 0.51);\n\tvisibility: visible;\n\tborder-radius: 7px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb:hover {\n\tbackground-color: lighten(#262626, 15%);\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 {\n\tmargin: 5px;\n\twidth: 45%;\n\theight: 150px;\n\tborder: 1px solid grey;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: rgba(255, 255, 255, 1);\n\n\tbackground-image: -moz-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-moz-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-image: -webkit-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-webkit-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-size: 20px 20px;\n\tbackground-position: 0 0, 50px 50px;\n\tborder: 1px solid #e5e5e5;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 3px;\n\toverflow: hidden;\n}\n\n.grid_grid__vYO3q .grid_gridImageDarkWrapper__1for2 {\n\tbackground-size: 20px 20px;\n\tbackground-position: bottom;\n\tbackground-color: #ffffff;\n\tbackground-image: linear-gradient(\n\t\t\tto right,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(to bottom, #ffffff 50%, transparent 50%, transparent),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0.5) 50%\n\t\t),\n\t\tnone;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridImage__2ye62 {\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\theight: auto;\n}\n\n.grid_selectionBar__3eafz{\n\tposition: fixed;\n\tbottom:0;\n\tdisplay: flex;\n\talign-items: center;\n \tjustify-content: space-between;\n\theight: 5vh;\n\twidth: 100%;\n\tbackground-color: #e6e6e6;\n\tpadding: 30px;\n}\n\n.grid_selectionButton__17mvC{\n\tpadding: 5px 15px;\n}\n\n.grid_info__1aAKu{\n\tmargin-top: 100px;\n}\n"; -var styles = { "searchWrapper": "grid_searchWrapper__3-vIN", "searchIcon": "grid_searchIcon__SWJt1", "searchBar": "grid_searchBar__1qck2", "searchButton": "grid_searchButton__K5Cqp", "grid": "grid_grid__vYO3q", "customScrollBar": "grid_customScrollBar__1V4bf", "gridImageWrapper": "grid_gridImageWrapper__SoCX8", "gridImageDarkWrapper": "grid_gridImageDarkWrapper__1for2", "gridImage": "grid_gridImage__2ye62", "selectionBar": "grid_selectionBar__3eafz", "selectionButton": "grid_selectionButton__17mvC", "info": "grid_info__1aAKu" }; +var css$1 = ".grid_searchWrapper__3-vIN {\n\tposition: relative;\n\theight:40px;\n\tmargin-top:16px;\n\tdisplay: flex;\n\tjustify-content: space-around;\n\tmargin-right: 16px;\n}\n.grid_searchIcon__SWJt1 {\n\tposition: absolute;\n\tleft: 26px;\n\ttop: 12px;\n}\n.grid_searchBar__1qck2 {\n\tmargin-top: 100px;\n\twidth: 60%;\n\tmargin: 0px 16px;\n\theight: 100%;\n\tpadding: 10px 36px;\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder: 1px solid #e7e8f0;\n\tbox-shadow: 0px 2px 4px rgba(0, 0, 0, 0.0877491);\n\tborder-radius: 4px;\n\tfont-style: normal;\n\tfont-size: 13px;\n\tline-height: 19px;\n}\n.grid_searchButton__K5Cqp{\n\theight:100%;\n\twidth:15%\n}\n\n.grid_grid__vYO3q {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\toverflow-x: scroll;\n\tjustify-content: center;\n\tmargin: 0;\n\tmargin-top: 10px;\n\theight: 73vh;\n\tpadding: 24px 0;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar {\n\twidth: 6px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb {\n\tbackground-color: rgba(74, 86, 96, 0.51);\n\tvisibility: visible;\n\tborder-radius: 7px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb:hover {\n\tbackground-color: lighten(#262626, 15%);\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 {\n\tposition: relative;\n\tmargin: 5px;\n\twidth: 45%;\n\theight: 150px;\n\tborder: 1px solid grey;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: rgba(255, 255, 255, 1);\n\n\tbackground-image: -moz-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-moz-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-image: -webkit-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-webkit-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-size: 20px 20px;\n\tbackground-position: 0 0, 50px 50px;\n\tborder: 1px solid #e5e5e5;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 3px;\n\toverflow: hidden;\n}\n\n.grid_grid__vYO3q .grid_gridImageDarkWrapper__1for2 {\n\tbackground-size: 20px 20px;\n\tbackground-position: bottom;\n\tbackground-color: #ffffff;\n\tbackground-image: linear-gradient(\n\t\t\tto right,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(to bottom, #ffffff 50%, transparent 50%, transparent),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0.5) 50%\n\t\t),\n\t\tnone;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridImage__2ye62 {\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\theight: auto;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridOverlay__15JFm{\n\tbackground-color: rgb(256,0,0,0.5);\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight:100%;\n\tposition: absolute;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridFooter__2h9-r{\n\tbackground-image: linear-gradient(to bottom, rgba(255,0,0,0), rgba(0,0,0,0.1));\n\twidth: 100%;\n\theight: 20%;\n\tbottom: 0;\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tpadding-left: 5px;\n\tpadding-bottom: 5px;\n}\n\n.grid_selectionBar__3eafz{\n\tposition: fixed;\n\tbottom:0;\n\tdisplay: flex;\n\talign-items: center;\n \tjustify-content: space-between;\n\theight: 5vh;\n\twidth: 100%;\n\tbackground-color: #e6e6e6;\n\tpadding: 30px;\n}\n\n.grid_selectionButton__17mvC{\n\tpadding: 5px 15px;\n}\n\n.grid_info__1aAKu{\n\tmargin-top: 100px;\n}\n"; +var styles = { "searchWrapper": "grid_searchWrapper__3-vIN", "searchIcon": "grid_searchIcon__SWJt1", "searchBar": "grid_searchBar__1qck2", "searchButton": "grid_searchButton__K5Cqp", "grid": "grid_grid__vYO3q", "customScrollBar": "grid_customScrollBar__1V4bf", "gridImageWrapper": "grid_gridImageWrapper__SoCX8", "gridImageDarkWrapper": "grid_gridImageDarkWrapper__1for2", "gridImage": "grid_gridImage__2ye62", "gridOverlay": "grid_gridOverlay__15JFm", "gridFooter": "grid_gridFooter__2h9-r", "selectionBar": "grid_selectionBar__3eafz", "selectionButton": "grid_selectionButton__17mvC", "info": "grid_info__1aAKu" }; styleInject(css$1); var bind = function bind(fn, thisArg) { @@ -1418,6 +1418,15 @@ var Grid = function (_Component) { var query = event && event.target.value; this.search(query); } + }, { + key: "reset", + value: function reset() { + this.setState({ + imageSelectedIndex: undefined + }); + this.updateGlobalDataLocally([]); + this.searchInputEle.current.value = ''; + } }, { key: "search", value: function search(query) { @@ -1498,6 +1507,13 @@ var Grid = function (_Component) { onKeyUp: this.inputChange, ref: this.searchInputEle }), + React.createElement( + "button", + { onClick: function onClick() { + return _this4.reset(); + }, className: homeStyles.galleryButton + " " + styles.searchButton, style: { backgroundColor: '#2d599c' } }, + "Reset" + ), React.createElement( "button", { onClick: function onClick() { @@ -1520,11 +1536,17 @@ var Grid = function (_Component) { return _this4.setState({ imageSelectedIndex: i }); } }, + _this4.state.imageSelectedIndex == i && React.createElement("div", { className: styles.gridOverlay }), React.createElement("img", { alt: image.url, className: styles.gridImage, src: image.url - }) + }), + React.createElement( + "div", + { className: styles.gridFooter }, + image.slug + ) ); }) : React.createElement( "div", @@ -1532,7 +1554,7 @@ var Grid = function (_Component) { this.state.loading ? React.createElement("div", { className: homeStyles.galleryLoading }) : React.createElement( "span", null, - "No images found" + "No images. Try searching for something." ) ) ), diff --git a/dist/index.es.js.map b/dist/index.es.js.map index 587a10d..73f3e99 100644 --- a/dist/index.es.js.map +++ b/dist/index.es.js.map @@ -1 +1 @@ -{"version":3,"file":"index.es.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/is-buffer/index.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../src/Grid/grid.js","../src/Uploader/uploader.js","../src/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./grid.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Grid extends Component {\n\tstatic propTypes = {\n\t\tcdn: PropTypes.string,\n\t\ts3: PropTypes.object,\n\t\tserver: PropTypes.string,\n\t\tselect: PropTypes.func\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tdisableCache: true,\n\t\t\timageSelectedIndex: undefined,\n\t\t\tloading: false\n\t\t};\n\t\tthis.searchInputEle = React.createRef();\n\t\tthis.search = this.search.bind(this);\n\t\tthis.inputChange = this.inputChange.bind(this)\n\t}\n\n\tcomponentDidUpdate(prevProps){\n\t\tif(this.props.defaultSearch && (prevProps.defaultSearch != this.props.defaultSearch)){\n\t\t\tif(window && this.props.s3.path){\n\t\t\t\tif(!window.react_S3_Gallery || !window.react_S3_Gallery[this.props.s3.path])\n\t\t\t\t\tthis.search();\n\t\t\t\telse this.updateGlobalDataLocally(window.react_S3_Gallery[this.props.s3.path])\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateGlobalDataLocally(images){\n\t\tthis.setState({\n\t\t\timages,\n\t\t\tisGrid: true,\n\t\t\tdisableCache: false,\n\t\t\tloading: false\n\t\t});\n\n\t\tif(!window.react_S3_Gallery)\n\t\t\twindow.react_S3_Gallery = {}\n\t\twindow.react_S3_Gallery[this.props.s3.path] = images\n\t}\n\n\tinputChange(e){\n\t\tif (e && e.key !== \"Enter\") return;\n\t\tlet query = (event && event.target.value);\n\t\tthis.search(query)\n\t}\n\n\tsearch(query) {\n\t\tquery = query || '__getDefaultImgs__'\n\t\tthis.setState({loading: true})\n\t\taxios\n\t\t\t.post(\n\t\t\t\t`${this.props.server}/search/${query}?disableCache=${\n\t\t\t\t\tthis.state.disableCache\n\t\t\t\t}`,\n\t\t\t\t{\n\t\t\t\t\ts3Bucket: this.props.s3.bucket,\n\t\t\t\t\ts3Path: this.props.s3.path\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then(response => {\n\t\t\t\tlet images = response.data.map(image => {\n\t\t\t\t\timage.url = `${this.props.cdn}/${image.slug}`;\n\t\t\t\t\treturn image;\n\t\t\t\t});\n\n\t\t\t\tthis.updateGlobalDataLocally(images)\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\tthis.setState({\n\t\t\t\t\timages: [],\n\t\t\t\t\tisGrid: true,\n\t\t\t\t\tloading: false\n\t\t\t\t});\n\t\t\t})\n\t\t\t.finally(function() {});\n\t}\n\n\tselectionBar(){\n\t\tif(this.state.imageSelectedIndex == undefined) return null\n\t\tlet imageSlug = this.state.images[this.state.imageSelectedIndex].slug\n\t\treturn(\n\t\t\t
\n\t\t\t\t{imageSlug}\n\t\t\t\t\n\t\t\t
\n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{!this.state.loading && this.state.images && this.state.images.length ? (\n\t\t\t\t\t\tthis.state.images.map((image,i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t this.setState({imageSelectedIndex: i})}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{this.state.loading?
:No images found}\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t\t{this.selectionBar()}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./uploader.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Uploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tform: {}\n\t\t};\n\t}\n\n\tdrop = e => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tlet file = e.dataTransfer.files && e.dataTransfer.files[0]\n\t\tif(file)\n\t\t\tthis.setState({\n\t\t\t\timagePreviewSrc: URL.createObjectURL(file),\n\t\t\t\tform: {\n\t\t\t\t\t...this.state.form,\n\t\t\t\t\tfile\n\t\t\t\t}\n\t\t\t});\n\t\treturn false;\n\t};\n\n\tchangeListener = e => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc: URL.createObjectURL(e.target.files[0]),\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\t[e.target.name]: (e.target.files && e.target.files[0]) || e.target.value\n\t\t\t}\n\t\t});\n\t};\n\n\tclearImage = () => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc:undefined,\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\tfile: undefined\n\t\t\t}\n\t\t});\n\t}\n\n\tupload = e => {\n\t\tthis.setState({ loading: true });\n\t\te.preventDefault();\n\t\tlet formData = new FormData();\n\t\tformData.append(\"title\", this.state.form.title);\n\t\tformData.append(\"file\", this.state.form.file);\n\t\tformData.append(\"s3Bucket\", this.props.s3.bucket);\n\t\tformData.append(\"s3Path\", this.props.s3.path);\n\t\taxios({\n\t\t\tmethod: \"post\",\n\t\t\turl: `${this.props.server}/upload`,\n\t\t\tdata: formData,\n\t\t\tconfig: { headers: { \"Content-Type\": \"multipart/form-data\" } }\n\t\t})\n\t\t\t.then(response => {\n\t\t\t\tthis.props.select(response.data.slug);\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\talert(`Sorry couldn't upload the image. Try again`)\n\t\t\t});\n\t};\n\n\tdragOver(event) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\treturn false;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{this.state.form.file && clear[x]}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t{!this.state.form.file &&\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDrop an image here or choose a image\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.state.loading\n\t\t\t\t\t\t\t? \"Uploading Image ...\"\n\t\t\t\t\t\t\t: \"SUBMIT\"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./styles.css\";\n\nimport Grid from \"./Grid/grid\";\nimport Uploader from \"./Uploader/uploader\";\n\nexport default class Gallery extends Component {\n\tstatic propTypes = {\n\t\tconfig: PropTypes.object,\n\t\tisActive: PropTypes.bool,\n\t\tuploaded: PropTypes.func\n\t};\n\n\tstatic defaultProps = {\n\t\tconfig: {},\n\t\tisActive: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...props.config.style,\n\t\t\t\twidth: this.props.config.style.width || 30,\n\t\t\t\talign: `flex-${props.config.style.align || \"right\"}`,\n\t\t\t},\n\t\t};\n\t}\n\n\tselectFinal = slug => {\n\t\tlet data;\n\t\tif (slug) {\n\t\t\tdata = {\n\t\t\t\timageUrl: `${this.props.config.cdn}/${slug}`,\n\t\t\t\timageSlug: slug.substr(0, slug.lastIndexOf(\".\")) || slug\n\t\t\t};\n\t\t}\n\t\tthis.setState({\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...this.state.style,\n\t\t\t\twidth: 0,\n\t\t\t},\n\t\t});\n\t\tsetTimeout(() => this.props.onClose(data), 200);\n\t};\n\n\tspriteNote() {\n\t\tconst SPRITE_PATH = \"sprites/images\";\n\t\tif (this.props.config.s3.path == SPRITE_PATH) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tNote: Image slug you select would be reflected only after\n\t\t\t\t\tsave.\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\tImage Gallery\n\t\t\t\t\t
\n\n\t\t\t\t\t
    \n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSearch\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(!this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tUpload New\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\n\t\t\t\t\t this.selectFinal()}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{this.spriteNote()}\n\t\t\t\t{this.state.isGrid ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n"],"names":["cookies","require$$0","require$$1","defaults","InterceptorManager","Cancel","Axios","require$$2","require$$3","Grid","props","state","undefined","searchInputEle","React","createRef","search","bind","inputChange","prevProps","defaultSearch","window","s3","path","react_S3_Gallery","updateGlobalDataLocally","images","setState","e","key","query","event","target","value","loading","post","server","disableCache","bucket","then","response","data","map","url","cdn","image","slug","catch","error","finally","imageSelectedIndex","imageSlug","styles","selectionBar","homeStyles","galleryButton","selectionButton","select","searchWrapper","searchIcon","galleryInput","searchBar","current","searchButton","grid","length","i","borderColor","gridImageWrapper","test","gridImageDarkWrapper","gridImage","info","galleryLoading","Component","propTypes","PropTypes","string","object","func","Uploader","drop","stopPropagation","preventDefault","file","dataTransfer","files","URL","createObjectURL","form","changeListener","name","clearImage","upload","formData","FormData","append","title","headers","uploader","imagePreview","imagePreviewSrc","width","dragOver","fileUploader","hide","titleLabel","submit","Gallery","selectFinal","config","substr","lastIndexOf","style","onClose","align","SPRITE_PATH","note","modal","isActive","isModalActive","header","navList","isGrid","navItem","navItemActive","closeBtn","spriteNote","bool","defaultProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.es.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/is-buffer/index.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../src/Grid/grid.js","../src/Uploader/uploader.js","../src/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./grid.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Grid extends Component {\n\tstatic propTypes = {\n\t\tcdn: PropTypes.string,\n\t\ts3: PropTypes.object,\n\t\tserver: PropTypes.string,\n\t\tselect: PropTypes.func\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tdisableCache: true,\n\t\t\timageSelectedIndex: undefined,\n\t\t\tloading: false\n\t\t};\n\t\tthis.searchInputEle = React.createRef();\n\t\tthis.search = this.search.bind(this);\n\t\tthis.inputChange = this.inputChange.bind(this)\n\t}\n\n\tcomponentDidUpdate(prevProps){\n\t\tif(this.props.defaultSearch && (prevProps.defaultSearch != this.props.defaultSearch)){\n\t\t\tif(window && this.props.s3.path){\n\t\t\t\tif(!window.react_S3_Gallery || !window.react_S3_Gallery[this.props.s3.path])\n\t\t\t\t\tthis.search();\n\t\t\t\telse this.updateGlobalDataLocally(window.react_S3_Gallery[this.props.s3.path])\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateGlobalDataLocally(images){\n\t\tthis.setState({\n\t\t\timages,\n\t\t\tisGrid: true,\n\t\t\tdisableCache: false,\n\t\t\tloading: false\n\t\t});\n\n\t\tif(!window.react_S3_Gallery)\n\t\t\twindow.react_S3_Gallery = {}\n\t\twindow.react_S3_Gallery[this.props.s3.path] = images\n\t}\n\n\tinputChange(e){\n\t\tif (e && e.key !== \"Enter\") return;\n\t\tlet query = (event && event.target.value);\n\t\tthis.search(query)\n\t}\n\n\treset(){\n\t\tthis.setState({\n\t\t\timageSelectedIndex: undefined\n\t\t})\n\t\tthis.updateGlobalDataLocally([]);\n\t\tthis.searchInputEle.current.value = '';\n\t}\n\n\tsearch(query) {\n\t\tquery = query || '__getDefaultImgs__'\n\t\tthis.setState({loading: true})\n\t\taxios\n\t\t\t.post(\n\t\t\t\t`${this.props.server}/search/${query}?disableCache=${\n\t\t\t\t\tthis.state.disableCache\n\t\t\t\t}`,\n\t\t\t\t{\n\t\t\t\t\ts3Bucket: this.props.s3.bucket,\n\t\t\t\t\ts3Path: this.props.s3.path\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then(response => {\n\t\t\t\tlet images = response.data.map(image => {\n\t\t\t\t\timage.url = `${this.props.cdn}/${image.slug}`;\n\t\t\t\t\treturn image;\n\t\t\t\t});\n\n\t\t\t\tthis.updateGlobalDataLocally(images)\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\tthis.setState({\n\t\t\t\t\timages: [],\n\t\t\t\t\tisGrid: true,\n\t\t\t\t\tloading: false\n\t\t\t\t});\n\t\t\t})\n\t\t\t.finally(function() {});\n\t}\n\n\tselectionBar(){\n\t\tif(this.state.imageSelectedIndex == undefined) return null\n\t\tlet imageSlug = this.state.images[this.state.imageSelectedIndex].slug\n\t\treturn(\n\t\t\t
    \n\t\t\t\t{imageSlug}\n\t\t\t\t\n\t\t\t
    \n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{!this.state.loading && this.state.images && this.state.images.length ? (\n\t\t\t\t\t\tthis.state.images.map((image,i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t this.setState({imageSelectedIndex: i})}\n\t\t\t\t\t\t\t\t>\n\n\t\t\t\t\t\t\t\t\t{this.state.imageSelectedIndex == i &&
    }\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    {image.slug}
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{this.state.loading?
    :No images. Try searching for something.}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t{this.selectionBar()}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./uploader.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Uploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tform: {}\n\t\t};\n\t}\n\n\tdrop = e => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tlet file = e.dataTransfer.files && e.dataTransfer.files[0]\n\t\tif(file)\n\t\t\tthis.setState({\n\t\t\t\timagePreviewSrc: URL.createObjectURL(file),\n\t\t\t\tform: {\n\t\t\t\t\t...this.state.form,\n\t\t\t\t\tfile\n\t\t\t\t}\n\t\t\t});\n\t\treturn false;\n\t};\n\n\tchangeListener = e => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc: URL.createObjectURL(e.target.files[0]),\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\t[e.target.name]: (e.target.files && e.target.files[0]) || e.target.value\n\t\t\t}\n\t\t});\n\t};\n\n\tclearImage = () => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc:undefined,\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\tfile: undefined\n\t\t\t}\n\t\t});\n\t}\n\n\tupload = e => {\n\t\tthis.setState({ loading: true });\n\t\te.preventDefault();\n\t\tlet formData = new FormData();\n\t\tformData.append(\"title\", this.state.form.title);\n\t\tformData.append(\"file\", this.state.form.file);\n\t\tformData.append(\"s3Bucket\", this.props.s3.bucket);\n\t\tformData.append(\"s3Path\", this.props.s3.path);\n\t\taxios({\n\t\t\tmethod: \"post\",\n\t\t\turl: `${this.props.server}/upload`,\n\t\t\tdata: formData,\n\t\t\tconfig: { headers: { \"Content-Type\": \"multipart/form-data\" } }\n\t\t})\n\t\t\t.then(response => {\n\t\t\t\tthis.props.select(response.data.slug);\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\talert(`Sorry couldn't upload the image. Try again`)\n\t\t\t});\n\t};\n\n\tdragOver(event) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\treturn false;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.state.form.file && clear[x]}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{!this.state.form.file &&\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDrop an image here or choose a image\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.state.loading\n\t\t\t\t\t\t\t? \"Uploading Image ...\"\n\t\t\t\t\t\t\t: \"SUBMIT\"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./styles.css\";\n\nimport Grid from \"./Grid/grid\";\nimport Uploader from \"./Uploader/uploader\";\n\nexport default class Gallery extends Component {\n\tstatic propTypes = {\n\t\tconfig: PropTypes.object,\n\t\tisActive: PropTypes.bool,\n\t\tuploaded: PropTypes.func\n\t};\n\n\tstatic defaultProps = {\n\t\tconfig: {},\n\t\tisActive: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...props.config.style,\n\t\t\t\twidth: this.props.config.style.width || 30,\n\t\t\t\talign: `flex-${props.config.style.align || \"right\"}`,\n\t\t\t},\n\t\t};\n\t}\n\n\tselectFinal = slug => {\n\t\tlet data;\n\t\tif (slug) {\n\t\t\tdata = {\n\t\t\t\timageUrl: `${this.props.config.cdn}/${slug}`,\n\t\t\t\timageSlug: slug.substr(0, slug.lastIndexOf(\".\")) || slug\n\t\t\t};\n\t\t}\n\t\tthis.setState({\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...this.state.style,\n\t\t\t\twidth: 0,\n\t\t\t},\n\t\t});\n\t\tsetTimeout(() => this.props.onClose(data), 200);\n\t};\n\n\tspriteNote() {\n\t\tconst SPRITE_PATH = \"sprites/images\";\n\t\tif (this.props.config.s3.path == SPRITE_PATH) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tNote: Image slug you select would be reflected only after\n\t\t\t\t\tsave.\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\tImage Gallery\n\t\t\t\t\t
    \n\n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSearch\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(!this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tUpload New\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\n\t\t\t\t\t this.selectFinal()}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{this.spriteNote()}\n\t\t\t\t{this.state.isGrid ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n"],"names":["cookies","require$$0","require$$1","defaults","InterceptorManager","Cancel","Axios","require$$2","require$$3","Grid","props","state","undefined","searchInputEle","React","createRef","search","bind","inputChange","prevProps","defaultSearch","window","s3","path","react_S3_Gallery","updateGlobalDataLocally","images","setState","e","key","query","event","target","value","current","loading","post","server","disableCache","bucket","then","response","data","map","url","cdn","image","slug","catch","error","finally","imageSelectedIndex","imageSlug","styles","selectionBar","homeStyles","galleryButton","selectionButton","select","searchWrapper","searchIcon","galleryInput","searchBar","reset","searchButton","backgroundColor","grid","length","i","borderColor","gridImageWrapper","test","gridImageDarkWrapper","gridOverlay","gridImage","gridFooter","info","galleryLoading","Component","propTypes","PropTypes","string","object","func","Uploader","drop","stopPropagation","preventDefault","file","dataTransfer","files","URL","createObjectURL","form","changeListener","name","clearImage","upload","formData","FormData","append","title","headers","uploader","imagePreview","imagePreviewSrc","width","dragOver","fileUploader","hide","titleLabel","submit","Gallery","selectFinal","config","substr","lastIndexOf","style","onClose","align","SPRITE_PATH","note","modal","isActive","isModalActive","header","navList","isGrid","navItem","navItemActive","closeBtn","spriteNote","bool","defaultProps"],"mappings":"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"} \ No newline at end of file diff --git a/dist/index.js b/dist/index.js index 1555b0d..892de4a 100644 --- a/dist/index.js +++ b/dist/index.js @@ -37,8 +37,8 @@ var css = "@import url(\"https://fonts.googleapis.com/css?family=Lato:400,700&di var homeStyles = { "overlay": "styles_overlay__CLSq-", "isOverlayActive": "styles_isOverlayActive__298UW", "modal": "styles_modal__gNwvD", "isModalActive": "styles_isModalActive__3XSNX", "header": "styles_header__3PFGX", "navList": "styles_navList__33BO0", "navItem": "styles_navItem__XZgfa", "navItemActive": "styles_navItemActive__17Uio", "closeBtn": "styles_closeBtn__1A6KW", "note": "styles_note__2WdlX", "galleryInput": "styles_galleryInput__6RZOY", "galleryButton": "styles_galleryButton__2bkqr", "galleryLoading": "styles_galleryLoading__3gL47" }; styleInject(css); -var css$1 = ".grid_searchWrapper__3-vIN {\n\tposition: relative;\n\theight:40px;\n\tmargin-top:16px;\n}\n.grid_searchIcon__SWJt1 {\n\tposition: absolute;\n\tleft: 26px;\n\ttop: 12px;\n}\n.grid_searchBar__1qck2 {\n\tmargin-top: 100px;\n\twidth: 75%;\n\tmargin: 0px 16px;\n\theight: 100%;\n\tpadding: 10px 36px;\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder: 1px solid #e7e8f0;\n\tbox-shadow: 0px 2px 4px rgba(0, 0, 0, 0.0877491);\n\tborder-radius: 4px;\n\tfont-style: normal;\n\tfont-size: 13px;\n\tline-height: 19px;\n}\n.grid_searchButton__K5Cqp{\n\theight:100%;\n\twidth:15%\n}\n\n.grid_grid__vYO3q {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\toverflow-x: scroll;\n\tjustify-content: center;\n\tmargin: 0;\n\theight: 73vh;\n\tpadding: 24px 0;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar {\n\twidth: 6px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb {\n\tbackground-color: rgba(74, 86, 96, 0.51);\n\tvisibility: visible;\n\tborder-radius: 7px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb:hover {\n\tbackground-color: lighten(#262626, 15%);\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 {\n\tmargin: 5px;\n\twidth: 45%;\n\theight: 150px;\n\tborder: 1px solid grey;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: rgba(255, 255, 255, 1);\n\n\tbackground-image: -moz-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-moz-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-image: -webkit-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-webkit-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-size: 20px 20px;\n\tbackground-position: 0 0, 50px 50px;\n\tborder: 1px solid #e5e5e5;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 3px;\n\toverflow: hidden;\n}\n\n.grid_grid__vYO3q .grid_gridImageDarkWrapper__1for2 {\n\tbackground-size: 20px 20px;\n\tbackground-position: bottom;\n\tbackground-color: #ffffff;\n\tbackground-image: linear-gradient(\n\t\t\tto right,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(to bottom, #ffffff 50%, transparent 50%, transparent),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0.5) 50%\n\t\t),\n\t\tnone;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridImage__2ye62 {\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\theight: auto;\n}\n\n.grid_selectionBar__3eafz{\n\tposition: fixed;\n\tbottom:0;\n\tdisplay: flex;\n\talign-items: center;\n \tjustify-content: space-between;\n\theight: 5vh;\n\twidth: 100%;\n\tbackground-color: #e6e6e6;\n\tpadding: 30px;\n}\n\n.grid_selectionButton__17mvC{\n\tpadding: 5px 15px;\n}\n\n.grid_info__1aAKu{\n\tmargin-top: 100px;\n}\n"; -var styles = { "searchWrapper": "grid_searchWrapper__3-vIN", "searchIcon": "grid_searchIcon__SWJt1", "searchBar": "grid_searchBar__1qck2", "searchButton": "grid_searchButton__K5Cqp", "grid": "grid_grid__vYO3q", "customScrollBar": "grid_customScrollBar__1V4bf", "gridImageWrapper": "grid_gridImageWrapper__SoCX8", "gridImageDarkWrapper": "grid_gridImageDarkWrapper__1for2", "gridImage": "grid_gridImage__2ye62", "selectionBar": "grid_selectionBar__3eafz", "selectionButton": "grid_selectionButton__17mvC", "info": "grid_info__1aAKu" }; +var css$1 = ".grid_searchWrapper__3-vIN {\n\tposition: relative;\n\theight:40px;\n\tmargin-top:16px;\n\tdisplay: flex;\n\tjustify-content: space-around;\n\tmargin-right: 16px;\n}\n.grid_searchIcon__SWJt1 {\n\tposition: absolute;\n\tleft: 26px;\n\ttop: 12px;\n}\n.grid_searchBar__1qck2 {\n\tmargin-top: 100px;\n\twidth: 60%;\n\tmargin: 0px 16px;\n\theight: 100%;\n\tpadding: 10px 36px;\n\tbackground: #ffffff;\n\tbox-sizing: border-box;\n\tborder: 1px solid #e7e8f0;\n\tbox-shadow: 0px 2px 4px rgba(0, 0, 0, 0.0877491);\n\tborder-radius: 4px;\n\tfont-style: normal;\n\tfont-size: 13px;\n\tline-height: 19px;\n}\n.grid_searchButton__K5Cqp{\n\theight:100%;\n\twidth:15%\n}\n\n.grid_grid__vYO3q {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\toverflow-x: scroll;\n\tjustify-content: center;\n\tmargin: 0;\n\tmargin-top: 10px;\n\theight: 73vh;\n\tpadding: 24px 0;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar {\n\twidth: 6px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-track {\n\tbackground-color: transparent;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb {\n\tbackground-color: rgba(74, 86, 96, 0.51);\n\tvisibility: visible;\n\tborder-radius: 7px;\n}\n\n.grid_customScrollBar__1V4bf::-webkit-scrollbar-thumb:hover {\n\tbackground-color: lighten(#262626, 15%);\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 {\n\tposition: relative;\n\tmargin: 5px;\n\twidth: 45%;\n\theight: 150px;\n\tborder: 1px solid grey;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: rgba(255, 255, 255, 1);\n\n\tbackground-image: -moz-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-moz-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-image: -webkit-linear-gradient(\n\t\t\t45deg,\n\t\t\t#f1f1f1 25%,\n\t\t\ttransparent 25%,\n\t\t\ttransparent 75%,\n\t\t\t#f1f1f1 75%,\n\t\t\t#f1f1f1 100%\n\t\t),\n\t\t-webkit-linear-gradient(45deg, #f1f1f1 25%, transparent 25%, transparent\n\t\t\t\t\t75%, #f1f1f1 75%, #f1f1f1 100%);\n\tbackground-size: 20px 20px;\n\tbackground-position: 0 0, 50px 50px;\n\tborder: 1px solid #e5e5e5;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.07);\n\tborder-radius: 3px;\n\toverflow: hidden;\n}\n\n.grid_grid__vYO3q .grid_gridImageDarkWrapper__1for2 {\n\tbackground-size: 20px 20px;\n\tbackground-position: bottom;\n\tbackground-color: #ffffff;\n\tbackground-image: linear-gradient(\n\t\t\tto right,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\trgba(0, 0, 0, 0.3) 50%,\n\t\t\ttransparent 50%,\n\t\t\ttransparent\n\t\t),\n\t\tlinear-gradient(\n\t\t\tto bottom,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0) 50%\n\t\t),\n\t\tlinear-gradient(to bottom, #ffffff 50%, transparent 50%, transparent),\n\t\tlinear-gradient(\n\t\t\tto right,\n\t\t\ttransparent 0%,\n\t\t\ttransparent 50%,\n\t\t\trgba(0, 0, 0, 0.5) 50%\n\t\t),\n\t\tnone;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridImage__2ye62 {\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\theight: auto;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridOverlay__15JFm{\n\tbackground-color: rgb(256,0,0,0.5);\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight:100%;\n\tposition: absolute;\n}\n\n.grid_grid__vYO3q .grid_gridImageWrapper__SoCX8 .grid_gridFooter__2h9-r{\n\tbackground-image: linear-gradient(to bottom, rgba(255,0,0,0), rgba(0,0,0,0.1));\n\twidth: 100%;\n\theight: 20%;\n\tbottom: 0;\n\tposition: absolute;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tpadding-left: 5px;\n\tpadding-bottom: 5px;\n}\n\n.grid_selectionBar__3eafz{\n\tposition: fixed;\n\tbottom:0;\n\tdisplay: flex;\n\talign-items: center;\n \tjustify-content: space-between;\n\theight: 5vh;\n\twidth: 100%;\n\tbackground-color: #e6e6e6;\n\tpadding: 30px;\n}\n\n.grid_selectionButton__17mvC{\n\tpadding: 5px 15px;\n}\n\n.grid_info__1aAKu{\n\tmargin-top: 100px;\n}\n"; +var styles = { "searchWrapper": "grid_searchWrapper__3-vIN", "searchIcon": "grid_searchIcon__SWJt1", "searchBar": "grid_searchBar__1qck2", "searchButton": "grid_searchButton__K5Cqp", "grid": "grid_grid__vYO3q", "customScrollBar": "grid_customScrollBar__1V4bf", "gridImageWrapper": "grid_gridImageWrapper__SoCX8", "gridImageDarkWrapper": "grid_gridImageDarkWrapper__1for2", "gridImage": "grid_gridImage__2ye62", "gridOverlay": "grid_gridOverlay__15JFm", "gridFooter": "grid_gridFooter__2h9-r", "selectionBar": "grid_selectionBar__3eafz", "selectionButton": "grid_selectionButton__17mvC", "info": "grid_info__1aAKu" }; styleInject(css$1); var bind = function bind(fn, thisArg) { @@ -1423,6 +1423,15 @@ var Grid = function (_Component) { var query = event && event.target.value; this.search(query); } + }, { + key: "reset", + value: function reset() { + this.setState({ + imageSelectedIndex: undefined + }); + this.updateGlobalDataLocally([]); + this.searchInputEle.current.value = ''; + } }, { key: "search", value: function search(query) { @@ -1503,6 +1512,13 @@ var Grid = function (_Component) { onKeyUp: this.inputChange, ref: this.searchInputEle }), + React__default.createElement( + "button", + { onClick: function onClick() { + return _this4.reset(); + }, className: homeStyles.galleryButton + " " + styles.searchButton, style: { backgroundColor: '#2d599c' } }, + "Reset" + ), React__default.createElement( "button", { onClick: function onClick() { @@ -1525,11 +1541,17 @@ var Grid = function (_Component) { return _this4.setState({ imageSelectedIndex: i }); } }, + _this4.state.imageSelectedIndex == i && React__default.createElement("div", { className: styles.gridOverlay }), React__default.createElement("img", { alt: image.url, className: styles.gridImage, src: image.url - }) + }), + React__default.createElement( + "div", + { className: styles.gridFooter }, + image.slug + ) ); }) : React__default.createElement( "div", @@ -1537,7 +1559,7 @@ var Grid = function (_Component) { this.state.loading ? React__default.createElement("div", { className: homeStyles.galleryLoading }) : React__default.createElement( "span", null, - "No images found" + "No images. Try searching for something." ) ) ), diff --git a/dist/index.js.map b/dist/index.js.map index 51f99ac..cfc030b 100644 --- a/dist/index.js.map +++ b/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/is-buffer/index.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../src/Grid/grid.js","../src/Uploader/uploader.js","../src/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./grid.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Grid extends Component {\n\tstatic propTypes = {\n\t\tcdn: PropTypes.string,\n\t\ts3: PropTypes.object,\n\t\tserver: PropTypes.string,\n\t\tselect: PropTypes.func\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tdisableCache: true,\n\t\t\timageSelectedIndex: undefined,\n\t\t\tloading: false\n\t\t};\n\t\tthis.searchInputEle = React.createRef();\n\t\tthis.search = this.search.bind(this);\n\t\tthis.inputChange = this.inputChange.bind(this)\n\t}\n\n\tcomponentDidUpdate(prevProps){\n\t\tif(this.props.defaultSearch && (prevProps.defaultSearch != this.props.defaultSearch)){\n\t\t\tif(window && this.props.s3.path){\n\t\t\t\tif(!window.react_S3_Gallery || !window.react_S3_Gallery[this.props.s3.path])\n\t\t\t\t\tthis.search();\n\t\t\t\telse this.updateGlobalDataLocally(window.react_S3_Gallery[this.props.s3.path])\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateGlobalDataLocally(images){\n\t\tthis.setState({\n\t\t\timages,\n\t\t\tisGrid: true,\n\t\t\tdisableCache: false,\n\t\t\tloading: false\n\t\t});\n\n\t\tif(!window.react_S3_Gallery)\n\t\t\twindow.react_S3_Gallery = {}\n\t\twindow.react_S3_Gallery[this.props.s3.path] = images\n\t}\n\n\tinputChange(e){\n\t\tif (e && e.key !== \"Enter\") return;\n\t\tlet query = (event && event.target.value);\n\t\tthis.search(query)\n\t}\n\n\tsearch(query) {\n\t\tquery = query || '__getDefaultImgs__'\n\t\tthis.setState({loading: true})\n\t\taxios\n\t\t\t.post(\n\t\t\t\t`${this.props.server}/search/${query}?disableCache=${\n\t\t\t\t\tthis.state.disableCache\n\t\t\t\t}`,\n\t\t\t\t{\n\t\t\t\t\ts3Bucket: this.props.s3.bucket,\n\t\t\t\t\ts3Path: this.props.s3.path\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then(response => {\n\t\t\t\tlet images = response.data.map(image => {\n\t\t\t\t\timage.url = `${this.props.cdn}/${image.slug}`;\n\t\t\t\t\treturn image;\n\t\t\t\t});\n\n\t\t\t\tthis.updateGlobalDataLocally(images)\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\tthis.setState({\n\t\t\t\t\timages: [],\n\t\t\t\t\tisGrid: true,\n\t\t\t\t\tloading: false\n\t\t\t\t});\n\t\t\t})\n\t\t\t.finally(function() {});\n\t}\n\n\tselectionBar(){\n\t\tif(this.state.imageSelectedIndex == undefined) return null\n\t\tlet imageSlug = this.state.images[this.state.imageSelectedIndex].slug\n\t\treturn(\n\t\t\t
    \n\t\t\t\t{imageSlug}\n\t\t\t\t\n\t\t\t
    \n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{!this.state.loading && this.state.images && this.state.images.length ? (\n\t\t\t\t\t\tthis.state.images.map((image,i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t this.setState({imageSelectedIndex: i})}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{this.state.loading?
    :No images found}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t{this.selectionBar()}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./uploader.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Uploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tform: {}\n\t\t};\n\t}\n\n\tdrop = e => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tlet file = e.dataTransfer.files && e.dataTransfer.files[0]\n\t\tif(file)\n\t\t\tthis.setState({\n\t\t\t\timagePreviewSrc: URL.createObjectURL(file),\n\t\t\t\tform: {\n\t\t\t\t\t...this.state.form,\n\t\t\t\t\tfile\n\t\t\t\t}\n\t\t\t});\n\t\treturn false;\n\t};\n\n\tchangeListener = e => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc: URL.createObjectURL(e.target.files[0]),\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\t[e.target.name]: (e.target.files && e.target.files[0]) || e.target.value\n\t\t\t}\n\t\t});\n\t};\n\n\tclearImage = () => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc:undefined,\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\tfile: undefined\n\t\t\t}\n\t\t});\n\t}\n\n\tupload = e => {\n\t\tthis.setState({ loading: true });\n\t\te.preventDefault();\n\t\tlet formData = new FormData();\n\t\tformData.append(\"title\", this.state.form.title);\n\t\tformData.append(\"file\", this.state.form.file);\n\t\tformData.append(\"s3Bucket\", this.props.s3.bucket);\n\t\tformData.append(\"s3Path\", this.props.s3.path);\n\t\taxios({\n\t\t\tmethod: \"post\",\n\t\t\turl: `${this.props.server}/upload`,\n\t\t\tdata: formData,\n\t\t\tconfig: { headers: { \"Content-Type\": \"multipart/form-data\" } }\n\t\t})\n\t\t\t.then(response => {\n\t\t\t\tthis.props.select(response.data.slug);\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\talert(`Sorry couldn't upload the image. Try again`)\n\t\t\t});\n\t};\n\n\tdragOver(event) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\treturn false;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.state.form.file && clear[x]}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{!this.state.form.file &&\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDrop an image here or choose a image\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.state.loading\n\t\t\t\t\t\t\t? \"Uploading Image ...\"\n\t\t\t\t\t\t\t: \"SUBMIT\"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./styles.css\";\n\nimport Grid from \"./Grid/grid\";\nimport Uploader from \"./Uploader/uploader\";\n\nexport default class Gallery extends Component {\n\tstatic propTypes = {\n\t\tconfig: PropTypes.object,\n\t\tisActive: PropTypes.bool,\n\t\tuploaded: PropTypes.func\n\t};\n\n\tstatic defaultProps = {\n\t\tconfig: {},\n\t\tisActive: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...props.config.style,\n\t\t\t\twidth: this.props.config.style.width || 30,\n\t\t\t\talign: `flex-${props.config.style.align || \"right\"}`,\n\t\t\t},\n\t\t};\n\t}\n\n\tselectFinal = slug => {\n\t\tlet data;\n\t\tif (slug) {\n\t\t\tdata = {\n\t\t\t\timageUrl: `${this.props.config.cdn}/${slug}`,\n\t\t\t\timageSlug: slug.substr(0, slug.lastIndexOf(\".\")) || slug\n\t\t\t};\n\t\t}\n\t\tthis.setState({\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...this.state.style,\n\t\t\t\twidth: 0,\n\t\t\t},\n\t\t});\n\t\tsetTimeout(() => this.props.onClose(data), 200);\n\t};\n\n\tspriteNote() {\n\t\tconst SPRITE_PATH = \"sprites/images\";\n\t\tif (this.props.config.s3.path == SPRITE_PATH) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tNote: Image slug you select would be reflected only after\n\t\t\t\t\tsave.\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\tImage Gallery\n\t\t\t\t\t
    \n\n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSearch\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(!this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tUpload New\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\n\t\t\t\t\t this.selectFinal()}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{this.spriteNote()}\n\t\t\t\t{this.state.isGrid ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n"],"names":["cookies","require$$0","require$$1","defaults","InterceptorManager","Cancel","Axios","require$$2","require$$3","Grid","props","state","undefined","searchInputEle","React","createRef","search","bind","inputChange","prevProps","defaultSearch","window","s3","path","react_S3_Gallery","updateGlobalDataLocally","images","setState","e","key","query","event","target","value","loading","post","server","disableCache","bucket","then","response","data","map","url","cdn","image","slug","catch","error","finally","imageSelectedIndex","imageSlug","styles","selectionBar","homeStyles","galleryButton","selectionButton","select","searchWrapper","searchIcon","galleryInput","searchBar","current","searchButton","grid","length","i","borderColor","gridImageWrapper","test","gridImageDarkWrapper","gridImage","info","galleryLoading","Component","propTypes","PropTypes","string","object","func","Uploader","drop","stopPropagation","preventDefault","file","dataTransfer","files","URL","createObjectURL","form","changeListener","name","clearImage","upload","formData","FormData","append","title","headers","uploader","imagePreview","imagePreviewSrc","width","dragOver","fileUploader","hide","titleLabel","submit","Gallery","selectFinal","config","substr","lastIndexOf","style","onClose","align","SPRITE_PATH","note","modal","isActive","isModalActive","header","navList","isGrid","navItem","navItemActive","closeBtn","spriteNote","bool","defaultProps"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/is-buffer/index.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/defaults.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../src/Grid/grid.js","../src/Uploader/uploader.js","../src/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n // Note: status is not exposed by XDomainRequest\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%40/gi, '@').\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar buildURL = require('./../helpers/buildURL');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n // Listen for ready state\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(resolve, reject, response);\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies');\n\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (config.withCredentials) {\n request.withCredentials = true;\n }\n\n // Add responseType to request if needed\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel);\n // Clean up request\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","module.exports = require('./lib/axios');","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./grid.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Grid extends Component {\n\tstatic propTypes = {\n\t\tcdn: PropTypes.string,\n\t\ts3: PropTypes.object,\n\t\tserver: PropTypes.string,\n\t\tselect: PropTypes.func\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tdisableCache: true,\n\t\t\timageSelectedIndex: undefined,\n\t\t\tloading: false\n\t\t};\n\t\tthis.searchInputEle = React.createRef();\n\t\tthis.search = this.search.bind(this);\n\t\tthis.inputChange = this.inputChange.bind(this)\n\t}\n\n\tcomponentDidUpdate(prevProps){\n\t\tif(this.props.defaultSearch && (prevProps.defaultSearch != this.props.defaultSearch)){\n\t\t\tif(window && this.props.s3.path){\n\t\t\t\tif(!window.react_S3_Gallery || !window.react_S3_Gallery[this.props.s3.path])\n\t\t\t\t\tthis.search();\n\t\t\t\telse this.updateGlobalDataLocally(window.react_S3_Gallery[this.props.s3.path])\n\t\t\t}\n\t\t}\n\t}\n\n\tupdateGlobalDataLocally(images){\n\t\tthis.setState({\n\t\t\timages,\n\t\t\tisGrid: true,\n\t\t\tdisableCache: false,\n\t\t\tloading: false\n\t\t});\n\n\t\tif(!window.react_S3_Gallery)\n\t\t\twindow.react_S3_Gallery = {}\n\t\twindow.react_S3_Gallery[this.props.s3.path] = images\n\t}\n\n\tinputChange(e){\n\t\tif (e && e.key !== \"Enter\") return;\n\t\tlet query = (event && event.target.value);\n\t\tthis.search(query)\n\t}\n\n\treset(){\n\t\tthis.setState({\n\t\t\timageSelectedIndex: undefined\n\t\t})\n\t\tthis.updateGlobalDataLocally([]);\n\t\tthis.searchInputEle.current.value = '';\n\t}\n\n\tsearch(query) {\n\t\tquery = query || '__getDefaultImgs__'\n\t\tthis.setState({loading: true})\n\t\taxios\n\t\t\t.post(\n\t\t\t\t`${this.props.server}/search/${query}?disableCache=${\n\t\t\t\t\tthis.state.disableCache\n\t\t\t\t}`,\n\t\t\t\t{\n\t\t\t\t\ts3Bucket: this.props.s3.bucket,\n\t\t\t\t\ts3Path: this.props.s3.path\n\t\t\t\t}\n\t\t\t)\n\t\t\t.then(response => {\n\t\t\t\tlet images = response.data.map(image => {\n\t\t\t\t\timage.url = `${this.props.cdn}/${image.slug}`;\n\t\t\t\t\treturn image;\n\t\t\t\t});\n\n\t\t\t\tthis.updateGlobalDataLocally(images)\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\tthis.setState({\n\t\t\t\t\timages: [],\n\t\t\t\t\tisGrid: true,\n\t\t\t\t\tloading: false\n\t\t\t\t});\n\t\t\t})\n\t\t\t.finally(function() {});\n\t}\n\n\tselectionBar(){\n\t\tif(this.state.imageSelectedIndex == undefined) return null\n\t\tlet imageSlug = this.state.images[this.state.imageSelectedIndex].slug\n\t\treturn(\n\t\t\t
    \n\t\t\t\t{imageSlug}\n\t\t\t\t\n\t\t\t
    \n\t\t)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{!this.state.loading && this.state.images && this.state.images.length ? (\n\t\t\t\t\t\tthis.state.images.map((image,i) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t this.setState({imageSelectedIndex: i})}\n\t\t\t\t\t\t\t\t>\n\n\t\t\t\t\t\t\t\t\t{this.state.imageSelectedIndex == i &&
    }\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    {image.slug}
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{this.state.loading?
    :No images. Try searching for something.}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\t{this.selectionBar()}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./uploader.css\";\nimport axios from \"axios\";\nimport homeStyles from \"./../styles.css\"\n\nexport default class Uploader extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tform: {}\n\t\t};\n\t}\n\n\tdrop = e => {\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\t\tlet file = e.dataTransfer.files && e.dataTransfer.files[0]\n\t\tif(file)\n\t\t\tthis.setState({\n\t\t\t\timagePreviewSrc: URL.createObjectURL(file),\n\t\t\t\tform: {\n\t\t\t\t\t...this.state.form,\n\t\t\t\t\tfile\n\t\t\t\t}\n\t\t\t});\n\t\treturn false;\n\t};\n\n\tchangeListener = e => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc: URL.createObjectURL(e.target.files[0]),\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\t[e.target.name]: (e.target.files && e.target.files[0]) || e.target.value\n\t\t\t}\n\t\t});\n\t};\n\n\tclearImage = () => {\n\t\tthis.setState({\n\t\t\timagePreviewSrc:undefined,\n\t\t\tform: {\n\t\t\t\t...this.state.form,\n\t\t\t\tfile: undefined\n\t\t\t}\n\t\t});\n\t}\n\n\tupload = e => {\n\t\tthis.setState({ loading: true });\n\t\te.preventDefault();\n\t\tlet formData = new FormData();\n\t\tformData.append(\"title\", this.state.form.title);\n\t\tformData.append(\"file\", this.state.form.file);\n\t\tformData.append(\"s3Bucket\", this.props.s3.bucket);\n\t\tformData.append(\"s3Path\", this.props.s3.path);\n\t\taxios({\n\t\t\tmethod: \"post\",\n\t\t\turl: `${this.props.server}/upload`,\n\t\t\tdata: formData,\n\t\t\tconfig: { headers: { \"Content-Type\": \"multipart/form-data\" } }\n\t\t})\n\t\t\t.then(response => {\n\t\t\t\tthis.props.select(response.data.slug);\n\t\t\t})\n\t\t\t.catch(function(error) {\n\t\t\t\talert(`Sorry couldn't upload the image. Try again`)\n\t\t\t});\n\t};\n\n\tdragOver(event) {\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\treturn false;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.state.form.file && clear[x]}\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{!this.state.form.file &&\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDrop an image here or choose a image\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.state.loading\n\t\t\t\t\t\t\t? \"Uploading Image ...\"\n\t\t\t\t\t\t\t: \"SUBMIT\"}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n","import React, { Component } from \"react\";\nimport PropTypes from \"prop-types\";\nimport styles from \"./styles.css\";\n\nimport Grid from \"./Grid/grid\";\nimport Uploader from \"./Uploader/uploader\";\n\nexport default class Gallery extends Component {\n\tstatic propTypes = {\n\t\tconfig: PropTypes.object,\n\t\tisActive: PropTypes.bool,\n\t\tuploaded: PropTypes.func\n\t};\n\n\tstatic defaultProps = {\n\t\tconfig: {},\n\t\tisActive: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timages: [],\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...props.config.style,\n\t\t\t\twidth: this.props.config.style.width || 30,\n\t\t\t\talign: `flex-${props.config.style.align || \"right\"}`,\n\t\t\t},\n\t\t};\n\t}\n\n\tselectFinal = slug => {\n\t\tlet data;\n\t\tif (slug) {\n\t\t\tdata = {\n\t\t\t\timageUrl: `${this.props.config.cdn}/${slug}`,\n\t\t\t\timageSlug: slug.substr(0, slug.lastIndexOf(\".\")) || slug\n\t\t\t};\n\t\t}\n\t\tthis.setState({\n\t\t\tisGrid: true,\n\t\t\tstyle: {\n\t\t\t\t...this.state.style,\n\t\t\t\twidth: 0,\n\t\t\t},\n\t\t});\n\t\tsetTimeout(() => this.props.onClose(data), 200);\n\t};\n\n\tspriteNote() {\n\t\tconst SPRITE_PATH = \"sprites/images\";\n\t\tif (this.props.config.s3.path == SPRITE_PATH) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\tNote: Image slug you select would be reflected only after\n\t\t\t\t\tsave.\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\tImage Gallery\n\t\t\t\t\t
    \n\n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSearch\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tthis.setState({\n\t\t\t\t\t\t\t\t\t\tisGrid: !this.state.isGrid\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tstyles.navItem +\n\t\t\t\t\t\t\t\t\t\" \" +\n\t\t\t\t\t\t\t\t\t(!this.state.isGrid\n\t\t\t\t\t\t\t\t\t\t? styles.navItemActive\n\t\t\t\t\t\t\t\t\t\t: \"\")\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tUpload New\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\n\t\t\t\t\t this.selectFinal()}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{this.spriteNote()}\n\t\t\t\t{this.state.isGrid ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n"],"names":["cookies","require$$0","require$$1","defaults","InterceptorManager","Cancel","Axios","require$$2","require$$3","Grid","props","state","undefined","searchInputEle","React","createRef","search","bind","inputChange","prevProps","defaultSearch","window","s3","path","react_S3_Gallery","updateGlobalDataLocally","images","setState","e","key","query","event","target","value","current","loading","post","server","disableCache","bucket","then","response","data","map","url","cdn","image","slug","catch","error","finally","imageSelectedIndex","imageSlug","styles","selectionBar","homeStyles","galleryButton","selectionButton","select","searchWrapper","searchIcon","galleryInput","searchBar","reset","searchButton","backgroundColor","grid","length","i","borderColor","gridImageWrapper","test","gridImageDarkWrapper","gridOverlay","gridImage","gridFooter","info","galleryLoading","Component","propTypes","PropTypes","string","object","func","Uploader","drop","stopPropagation","preventDefault","file","dataTransfer","files","URL","createObjectURL","form","changeListener","name","clearImage","upload","formData","FormData","append","title","headers","uploader","imagePreview","imagePreviewSrc","width","dragOver","fileUploader","hide","titleLabel","submit","Gallery","selectFinal","config","substr","lastIndexOf","style","onClose","align","SPRITE_PATH","note","modal","isActive","isModalActive","header","navList","isGrid","navItem","navItemActive","closeBtn","spriteNote","bool","defaultProps"],"mappings":"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"} \ No newline at end of file diff --git a/example/src/App/index.css b/example/src/App/index.css index 8e1ce0d..d33d77c 100644 --- a/example/src/App/index.css +++ b/example/src/App/index.css @@ -1,24 +1,38 @@ -.imageStyle { +.bg { width: 100%; height: 100vh; position: absolute; + background: + linear-gradient(27deg, #151515 5px, transparent 5px) 0 5px, + linear-gradient(207deg, #151515 5px, transparent 5px) 10px 0px, + linear-gradient(27deg, #222 5px, transparent 5px) 0px 10px, + linear-gradient(207deg, #222 5px, transparent 5px) 10px 5px, + linear-gradient(90deg, #1b1b1b 10px, transparent 10px), + linear-gradient(#1d1d1d 25%, #1a1a1a 25%, #1a1a1a 50%, transparent 50%, transparent 75%, #242424 75%, #242424); + background-color: #131313; + background-size: 20px 20px; + display: flex; + flex-direction: column; + color: white; + align-items: center; + justify-content: center; } .s3image { - position: absolute; - margin: 100px; + max-height: 500px; + max-width: 50%; } .button { - position: absolute; + /* position: absolute; */ z-index: 99; - background-color: #4CAF50; + background-color: #4CAF50; border: none; color: white; - padding: 15px 32px; + padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; - font-size: 16px; + font-size: 12px; margin: 10px; -} \ No newline at end of file +} diff --git a/example/src/App/index.js b/example/src/App/index.js index 329a15a..0b09471 100644 --- a/example/src/App/index.js +++ b/example/src/App/index.js @@ -2,10 +2,10 @@ import React, { Component } from "react"; import Gallery from "awesome-react-gallery"; import "./index.css"; -const CDN_URL = ``; -const S3_PATH = ``; -const S3_BUCKET = ``; -const SERVER_URL = `http://localhost:7000/gallery`; +const CDN_URL = `https://ik.imagekit.io/upgrad1/marketing-platform-assets`; +const S3_PATH = `sprites/images`; +const S3_BUCKET = `upgrad-marketing-platform`; +const SERVER_URL = `https://dev-mp.upgrad.com:7000/gallery`; export default class App extends Component { constructor(props) { @@ -37,31 +37,25 @@ export default class App extends Component { }); }; + showGallery = () => { + this.setState({gallery: true}) + } + render() { return (
    - - Sample Image background - {this.state.image ? ( - S3 Image - ) : null} +
    +

    React Image Gallery

    +

    A simple s3 based gallery component for react. To see the demo in action, press the button below.

    + + {this.state.image && ( + S3 Image + )} +
    +
    @@ -132,17 +141,20 @@ export default class Grid extends Component { } onClick={() => this.setState({imageSelectedIndex: i})} > + + {this.state.imageSelectedIndex == i &&
    } { +
    {image.slug}
    ); }) ) : (
    - {this.state.loading?
    :No images found} + {this.state.loading?
    :No images. Try searching for something.}
    )}