diff --git a/crawler/specific/olx.js b/crawler/specific/olx.js
index e7c7df3..7925fbe 100644
--- a/crawler/specific/olx.js
+++ b/crawler/specific/olx.js
@@ -96,7 +96,7 @@ export default class OlxCrawler {
let actualNoOfResults = (hrefs.length <= maxResults) ? hrefs.length : maxResults;
- for (let i = 0; i < actualNoOfResults; i++) {
+ for (let i = 0; i < hrefs.length; i++) {
console.log(`indexing: ${hrefs[i]}`);
const singleData = await this.indexSingle(hrefs[i]);
diff --git a/crawler/webpack.config.js b/crawler/webpack.config.js
index d9eb604..a6a11c2 100644
--- a/crawler/webpack.config.js
+++ b/crawler/webpack.config.js
@@ -18,6 +18,10 @@ module.exports = {
}, {
test: /.json?$/,
loader: 'json-loader',
+ },
+ {
+ test: /\.css$/,
+ use: ['style-loader', 'css-loader']
}]
}
}
diff --git a/web/components/Gallery.js b/web/components/Gallery.js
new file mode 100644
index 0000000..8754b3c
--- /dev/null
+++ b/web/components/Gallery.js
@@ -0,0 +1,64 @@
+import React from 'react';
+
+export default class Gallery extends React.Component {
+ onPrevClick (e) {
+ this.props.dispatch({type: 'PREV_IMAGE'});
+ }
+
+ onNextClick (e) {
+ this.props.dispatch({type: 'NEXT_IMAGE'});
+ }
+
+ onImageDotClick (index, e) {
+ this.props.dispatch({type: 'VIEW_IMAGE', action: {index}})
+ }
+
+ render() {
+ const {images, imageIndex} = this.props;
+ if (!images || images.length === 0) {
+ return null;
+ }
+
+ const showPrev = imageIndex > 0;
+ const showNext = imageIndex < images.length - 1;
+
+ return (
+
+

+ {showPrev ?
+
+ : null}
+ {showNext ?
+
+ : null}
+
+ {images.map((img, index) => {
+ let cls = 'image-dot'
+ if (index === imageIndex) {
+ cls += ' selected'
+ }
+
+ return
+ })}
+
+
)
+ }
+}
diff --git a/web/components/ListingDetails.js b/web/components/ListingDetails.js
index 4ed2dcf..1d0250c 100644
--- a/web/components/ListingDetails.js
+++ b/web/components/ListingDetails.js
@@ -1,4 +1,5 @@
import React from 'react';
+import Gallery from './gallery';
export default class ListingDetails extends React.Component {
onReadMore (e) {
@@ -14,8 +15,12 @@ export default class ListingDetails extends React.Component {
render() {
const {listing, descriptionExpanded} = this.props;
-
+ if (!listing) {
+ return null;
+ }
const descriptionClasses = descriptionExpanded ? "ld-description expanded" : "ld-description";
+ const images = listing.images.map((image) => ({original: image, thumbnail: image}))
+
return (
@@ -37,9 +42,10 @@ export default class ListingDetails extends React.Component {
-
-

-
+
{listing.price}
diff --git a/web/components/Main.js b/web/components/Main.js
index 0db8523..f1f39d7 100644
--- a/web/components/Main.js
+++ b/web/components/Main.js
@@ -11,6 +11,8 @@ class Main extends React.Component {
super(props);
this.state = {
listingDetails: false,
+ listings: (new Map()),
+ imageIndex: 0,
filters: {
minPrice: 0
}
@@ -97,7 +99,7 @@ class Main extends React.Component {
marker.addListener('click', () => {
console.log('clicking...')
this.dispatch({type: 'VIEW_LISTING_DETAILS', action: {
- id: index
+ id: prop.url
}})
});
}
@@ -141,10 +143,12 @@ class Main extends React.Component {
const children = [];
if (this.state.listingDetails) {
- const listing = this.state.listings[this.state.listingId];
+ console.log('CURRENT LISTINGS', this.state.listings);
+ const listing = this.state.listings.get(this.state.listingId);
console.log(this.state);
children.push(
);
diff --git a/web/dist/app.bundle.js b/web/dist/app.bundle.js
index 627caca..73b2349 100644
--- a/web/dist/app.bundle.js
+++ b/web/dist/app.bundle.js
@@ -34,7 +34,7 @@
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
+/******/ __webpack_require__.p = "http://0.0.0.0:8080/";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
@@ -67,6 +67,7 @@
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+ var state = {};
_reactDom2.default.render(_react2.default.createElement(_Main2.default, null), document.getElementById('root'));
/***/ },
@@ -178,14 +179,103 @@
/***/ function(module, exports) {
// shim for using process in browser
-
var process = module.exports = {};
+
+ // cached from whatever global is present so that test runners that stub it
+ // don't break things. But we need to wrap it in a try catch in case it is
+ // wrapped in strict mode code which doesn't define any globals. It's inside a
+ // function because try/catches deoptimize in certain engines.
+
+ var cachedSetTimeout;
+ var cachedClearTimeout;
+
+ function defaultSetTimout() {
+ throw new Error('setTimeout has not been defined');
+ }
+ function defaultClearTimeout () {
+ throw new Error('clearTimeout has not been defined');
+ }
+ (function () {
+ try {
+ if (typeof setTimeout === 'function') {
+ cachedSetTimeout = setTimeout;
+ } else {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ } catch (e) {
+ cachedSetTimeout = defaultSetTimout;
+ }
+ try {
+ if (typeof clearTimeout === 'function') {
+ cachedClearTimeout = clearTimeout;
+ } else {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } catch (e) {
+ cachedClearTimeout = defaultClearTimeout;
+ }
+ } ())
+ function runTimeout(fun) {
+ if (cachedSetTimeout === setTimeout) {
+ //normal enviroments in sane situations
+ return setTimeout(fun, 0);
+ }
+ // if setTimeout wasn't available but was latter defined
+ if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
+ cachedSetTimeout = setTimeout;
+ return setTimeout(fun, 0);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedSetTimeout(fun, 0);
+ } catch(e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedSetTimeout.call(null, fun, 0);
+ } catch(e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
+ return cachedSetTimeout.call(this, fun, 0);
+ }
+ }
+
+
+ }
+ function runClearTimeout(marker) {
+ if (cachedClearTimeout === clearTimeout) {
+ //normal enviroments in sane situations
+ return clearTimeout(marker);
+ }
+ // if clearTimeout wasn't available but was latter defined
+ if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
+ cachedClearTimeout = clearTimeout;
+ return clearTimeout(marker);
+ }
+ try {
+ // when when somebody has screwed with setTimeout but no I.E. maddness
+ return cachedClearTimeout(marker);
+ } catch (e){
+ try {
+ // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
+ return cachedClearTimeout.call(null, marker);
+ } catch (e){
+ // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
+ // Some versions of I.E. have different rules for clearTimeout vs setTimeout
+ return cachedClearTimeout.call(this, marker);
+ }
+ }
+
+
+
+ }
var queue = [];
var draining = false;
var currentQueue;
var queueIndex = -1;
function cleanUpNextTick() {
+ if (!draining || !currentQueue) {
+ return;
+ }
draining = false;
if (currentQueue.length) {
queue = currentQueue.concat(queue);
@@ -201,7 +291,7 @@
if (draining) {
return;
}
- var timeout = setTimeout(cleanUpNextTick);
+ var timeout = runTimeout(cleanUpNextTick);
draining = true;
var len = queue.length;
@@ -218,7 +308,7 @@
}
currentQueue = null;
draining = false;
- clearTimeout(timeout);
+ runClearTimeout(timeout);
}
process.nextTick = function (fun) {
@@ -230,7 +320,7 @@
}
queue.push(new Item(fun, args));
if (queue.length === 1 && !draining) {
- setTimeout(drainQueue, 0);
+ runTimeout(drainQueue);
}
};
@@ -21349,6 +21439,511 @@
/***/ },
/* 173 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
+
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+ var _react = __webpack_require__(2);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _Filters = __webpack_require__(174);
+
+ var _Filters2 = _interopRequireDefault(_Filters);
+
+ var _Listings = __webpack_require__(175);
+
+ var _Listings2 = _interopRequireDefault(_Listings);
+
+ var _ListingDetails = __webpack_require__(176);
+
+ var _ListingDetails2 = _interopRequireDefault(_ListingDetails);
+
+ var _googleMaps = __webpack_require__(182);
+
+ var _api = __webpack_require__(183);
+
+ var _handlers = __webpack_require__(186);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ var Main = function (_React$Component) {
+ _inherits(Main, _React$Component);
+
+ function Main(props) {
+ _classCallCheck(this, Main);
+
+ var _this = _possibleConstructorReturn(this, (Main.__proto__ || Object.getPrototypeOf(Main)).call(this, props));
+
+ _this.state = {
+ listingDetails: false,
+ filters: {
+ minPrice: 0
+ }
+ };
+ return _this;
+ }
+
+ _createClass(Main, [{
+ key: 'dispatch',
+ value: function dispatch(_ref) {
+ var type = _ref.type,
+ _ref$action = _ref.action,
+ action = _ref$action === undefined ? {} : _ref$action;
+
+ console.log('DISPATCH', this);
+ (0, _handlers.handleMessage)({ type: type, action: action }, this);
+ }
+ }, {
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ var _this2 = this;
+
+ var uluru = { lat: 43.845031, lng: 18.4019262 };
+ var map = new google.maps.Map(this.refs.map, {
+ zoom: 13,
+ center: uluru,
+ streetViewControl: false,
+ mapTypeControl: false
+ });
+ var marker = new google.maps.Marker({
+ position: uluru,
+ map: map
+ });
+
+ var control = document.createElement('div');
+ control.classList.add('filters-btn-toggle');
+ control.innerHTML = '';
+ //control.style = "top: 200px;"
+ control["style"] = "top: 200px;";
+
+ var input = document.getElementById('gmaps-places-input');
+
+ (0, _googleMaps.pacSelectFirst)(input);
+ var options = {
+ componentRestrictions: { country: "BA" }
+ };
+ var searchBox = new google.maps.places.Autocomplete(input, options);
+
+ searchBox.addListener('place_changed', function () {
+ var place = searchBox.getPlace();
+
+ if (!place.geometry) {
+ return;
+ }
+
+ if (place.geometry.viewport) {
+ map.fitBounds(place.geometry.viewport);
+ } else {
+ map.setCenter(place.geometry.location);
+ map.setZoom(18);
+ }
+ console.log(map.getBounds());
+ });
+
+ control.addEventListener('click', function (e) {
+ _this2.setState({
+ mapClicked: true
+ });
+ });
+
+ control.index = 1;
+ map.controls[google.maps.ControlPosition.TOP_RIGHT].push(control);
+ this.map = map;
+
+ map.addListener('idle', function () {
+ var properties = (0, _api.loadProperties)({
+ bounds: map.getBounds().toUrlValue(),
+ minPrice: _this2.state.filters.minPrice });
+
+ properties.then(function (p) {
+ return p.text();
+ }).then(function (p) {
+ var data = JSON.parse(p);
+ console.log('props', data);
+ var _iteratorNormalCompletion = true;
+ var _didIteratorError = false;
+ var _iteratorError = undefined;
+
+ try {
+ var _loop = function _loop() {
+ var _step$value = _slicedToArray(_step.value, 2),
+ index = _step$value[0],
+ prop = _step$value[1];
+
+ var myLatLng = { lat: prop.loc[0], lng: prop.loc[1] };
+
+ var marker = new google.maps.Marker({
+ position: myLatLng,
+ map: map,
+ title: prop.title
+ });
+
+ marker.addListener('click', function () {
+ console.log('clicking...');
+ _this2.dispatch({ type: 'VIEW_LISTING_DETAILS', action: {
+ id: index
+ } });
+ });
+ };
+
+ for (var _iterator = data.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
+ _loop();
+ }
+ } catch (err) {
+ _didIteratorError = true;
+ _iteratorError = err;
+ } finally {
+ try {
+ if (!_iteratorNormalCompletion && _iterator.return) {
+ _iterator.return();
+ }
+ } finally {
+ if (_didIteratorError) {
+ throw _iteratorError;
+ }
+ }
+ }
+
+ _this2.dispatch({
+ type: 'LISTINGS_LOADED',
+ action: {
+ listings: data
+ }
+ });
+ });
+ });
+ }
+ }, {
+ key: 'onCloseClick',
+ value: function onCloseClick(e) {
+ var _this3 = this;
+
+ if (this.state.mapClicked) {
+ setTimeout(function () {
+ google.maps.event.trigger(_this3.map, 'resize');
+ }, 100);
+ }
+
+ this.setState({
+ mapClicked: false
+ });
+ }
+ }, {
+ key: 'onListingClick',
+ value: function onListingClick() {
+ this.setState({
+ listingDetails: true
+ });
+ }
+ }, {
+ key: 'onBackClick',
+ value: function onBackClick() {
+ this.setState({
+ listingDetails: false
+ });
+ }
+ }, {
+ key: 'renderRightContent',
+ value: function renderRightContent() {
+
+ var children = [];
+
+ if (this.state.listingDetails) {
+ var listing = this.state.listings[this.state.listingId];
+ console.log(this.state);
+ children.push(_react2.default.createElement(_ListingDetails2.default, {
+ listing: listing,
+ dispatch: this.dispatch.bind(this),
+ descriptionExpanded: this.state.descriptionExpanded,
+ onBackClick: this.onBackClick.bind(this) }));
+ } else {
+ children.push(_react2.default.createElement(_Filters2.default, { filters: this.state.filters, dispatch: this.dispatch.bind(this), onClose: this.onCloseClick.bind(this) }));
+ children.push(_react2.default.createElement(_Listings2.default, { onListingClick: this.onListingClick.bind(this) }));
+ }
+ var content = _react2.default.createElement(
+ 'div',
+ { className: 'right-content' },
+ children
+ );
+
+ return content;
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var leftStyle = {};
+ var rightStyle = {};
+ var listingDetails = true;
+
+ var leftClass = 'left-base';
+ var rightClass = 'right-base';
+
+ if (this.state.mapClicked) {
+ leftClass = 'left-hidden';
+ rightClass = 'right-shown';
+ }
+
+ return _react2.default.createElement(
+ 'div',
+ { id: 'container' },
+ _react2.default.createElement(
+ 'div',
+ { id: 'header' },
+ _react2.default.createElement(
+ 'a',
+ { className: 'hamburger-menu' },
+ 'K'
+ ),
+ _react2.default.createElement(
+ 'span',
+ { className: 'title' },
+ 'Kiwi'
+ ),
+ _react2.default.createElement('input', {
+ id: 'gmaps-places-input',
+ placeholder: 'Unesite adresu, naselje ili grad',
+ className: 'where-to',
+ type: 'text' }),
+ _react2.default.createElement(
+ 'div',
+ { className: 'view-types' },
+ _react2.default.createElement(
+ 'a',
+ { className: 'view-type-left' },
+ _react2.default.createElement('i', { className: 'btn-select-map fa fa-list' })
+ ),
+ _react2.default.createElement(
+ 'a',
+ { className: 'view-type-right' },
+ _react2.default.createElement('i', { className: 'view-type-map-icon fa fa-map-marker' })
+ )
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { id: 'right', style: rightStyle, className: rightClass },
+ this.renderRightContent()
+ ),
+ _react2.default.createElement(
+ 'div',
+ { id: 'left', style: leftStyle, className: leftClass },
+ _react2.default.createElement('div', { id: 'map', ref: 'map' })
+ )
+ );
+ }
+ }]);
+
+ return Main;
+ }(_react2.default.Component);
+
+ exports.default = Main;
+
+/***/ },
+/* 174 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+ var _react = __webpack_require__(2);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ var Filters = function (_React$Component) {
+ _inherits(Filters, _React$Component);
+
+ function Filters() {
+ _classCallCheck(this, Filters);
+
+ return _possibleConstructorReturn(this, (Filters.__proto__ || Object.getPrototypeOf(Filters)).apply(this, arguments));
+ }
+
+ _createClass(Filters, [{
+ key: 'onCloseClick',
+ value: function onCloseClick(e) {
+ if (this.props.onClose) {
+ this.props.onClose();
+ }
+ }
+ }, {
+ key: 'onMinPriceChange',
+ value: function onMinPriceChange(e) {
+ this.props.dispatch({ type: 'SET_MIN_PRICE', action: { minPrice: e.target.value } });
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+
+ return _react2.default.createElement(
+ 'div',
+ { className: 'filters' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filters-close' },
+ 'Uslovi Pretrage',
+ _react2.default.createElement('i', { onClick: this.onCloseClick.bind(this),
+ className: 'close-icon fa fa-times',
+ 'aria-hidden': 'true' })
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-row' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-title' },
+ 'CIJENA'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-content value-between-box' },
+ 'izmedju ',
+ _react2.default.createElement('input', { value: '' + this.props.filters.minPrice, onChange: this.onMinPriceChange.bind(this) }),
+ ' KM i ',
+ _react2.default.createElement('input', null)
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-row filter-property-types' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-title' },
+ 'TIP'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-content' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-type-btn' },
+ 'Stan'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-type-btn' },
+ 'Ku\u0107a'
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-content' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-type-btn' },
+ 'Zemlji\u0161te'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-type-btn' },
+ 'Poslovni prostor'
+ )
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-row' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-title' },
+ 'KVADRATA'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-content value-between-box' },
+ 'izmedju ',
+ _react2.default.createElement('input', null),
+ 'i ',
+ _react2.default.createElement('input', null)
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-row filter-property-rooms' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-title' },
+ 'BROJ SOBA'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-content' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-rooms-studio-btn' },
+ 'Garsonjera'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-rooms-btn' },
+ '2'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-rooms-btn' },
+ '3'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn property-rooms-btn' },
+ '4+'
+ )
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-row no-border' },
+ _react2.default.createElement('div', { className: 'filter-title' }),
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-content' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'filter-btn more-filters' },
+ 'Vi\u0161e Filtera'
+ )
+ )
+ ),
+ _react2.default.createElement('div', { className: 'clear-both' }),
+ _react2.default.createElement('div', { className: 'filter-bottom' })
+ );
+ }
+ }]);
+
+ return Filters;
+ }(_react2.default.Component);
+
+ exports.default = Filters;
+
+/***/ },
+/* 175 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -21371,74 +21966,3071 @@
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
- var Main = function (_React$Component) {
- _inherits(Main, _React$Component);
+ var Listings = function (_React$Component) {
+ _inherits(Listings, _React$Component);
- function Main() {
- _classCallCheck(this, Main);
+ function Listings() {
+ _classCallCheck(this, Listings);
- return _possibleConstructorReturn(this, (Main.__proto__ || Object.getPrototypeOf(Main)).apply(this, arguments));
+ return _possibleConstructorReturn(this, (Listings.__proto__ || Object.getPrototypeOf(Listings)).apply(this, arguments));
}
- _createClass(Main, [{
- key: "componentDidMount",
- value: function componentDidMount() {
- var uluru = { lat: -25.363, lng: 131.044 };
- var map = new google.maps.Map(this.refs.map, {
- zoom: 4,
- center: uluru
- });
- var marker = new google.maps.Marker({
- position: uluru,
- map: map
- });
+ _createClass(Listings, [{
+ key: "onListingClick",
+ value: function onListingClick() {
+ if (this.props.onListingClick) {
+ this.props.onListingClick();
+ }
}
}, {
key: "render",
value: function render() {
+
return _react2.default.createElement(
"div",
- { id: "container" },
+ { className: "listings" },
_react2.default.createElement(
"div",
- { id: "header" },
- "Kivi - 4"
- ),
- _react2.default.createElement(
- "div",
- { id: "right" },
+ { className: "listings-header" },
_react2.default.createElement(
"div",
- { className: "right-content" },
+ { className: "select-container" },
_react2.default.createElement(
"div",
- { className: "filters" },
+ { className: "select-group" },
_react2.default.createElement(
- "div",
- { className: "filter-row" },
- "one filter"
- ),
- _react2.default.createElement(
- "div",
- { className: "filter-row" },
- "two filter"
+ "select",
+ { name: "listings-type", id: "listings-type" },
+ _react2.default.createElement(
+ "option",
+ { value: "cijena" },
+ "Cijena: od najmanje"
+ )
)
)
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "listings-count" },
+ "322 rezultata"
)
),
_react2.default.createElement(
"div",
- { id: "left" },
- _react2.default.createElement("div", { id: "map", ref: "map" })
+ { className: "listings-items" },
+ _react2.default.createElement(
+ "div",
+ { className: "property-list-item", onClick: this.onListingClick.bind(this) },
+ _react2.default.createElement(
+ "div",
+ { className: "pli-image" },
+ _react2.default.createElement("img", { src: "https://d37lj287rvypnj.cloudfront.net/150225204/medium", alt: "" })
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "pli-details" },
+ _react2.default.createElement(
+ "div",
+ { className: "price" },
+ "12 000 KM"
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "description" },
+ "4 sobe, 111m2"
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "address" },
+ _react2.default.createElement(
+ "div",
+ { className: "street" },
+ "Hakije Turajlica 2/2"
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "location" },
+ "Sarajevo, Novi Grad"
+ )
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "hours-ago" },
+ "Prije 2 sata"
+ )
+ )
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "property-list-item" },
+ _react2.default.createElement(
+ "div",
+ { className: "pli-image" },
+ _react2.default.createElement("img", { src: "https://d37lj287rvypnj.cloudfront.net/151086207/medium", alt: "" })
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "pli-details" },
+ _react2.default.createElement(
+ "div",
+ { className: "price" },
+ "12 000 KM"
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "description" },
+ "4 sobe, 111m2"
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "address" },
+ _react2.default.createElement(
+ "div",
+ { className: "street" },
+ "Hakije Turajlica 2/2"
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "location" },
+ "Sarajevo, Novi Grad"
+ )
+ ),
+ _react2.default.createElement(
+ "div",
+ { className: "hours-ago" },
+ "Prije 2 sata"
+ )
+ )
+ )
)
);
}
}]);
- return Main;
+ return Listings;
}(_react2.default.Component);
- exports.default = Main;
+ exports.default = Listings;
+
+/***/ },
+/* 176 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+ var _react = __webpack_require__(2);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactImageGallery = __webpack_require__(177);
+
+ var _reactImageGallery2 = _interopRequireDefault(_reactImageGallery);
+
+ var _imageGallery = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module \"react-image-gallery/styles/css/image-gallery.css\""); e.code = 'MODULE_NOT_FOUND'; throw e; }()));
+
+ var _imageGallery2 = _interopRequireDefault(_imageGallery);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ var ListingDetails = function (_React$Component) {
+ _inherits(ListingDetails, _React$Component);
+
+ function ListingDetails() {
+ _classCallCheck(this, ListingDetails);
+
+ return _possibleConstructorReturn(this, (ListingDetails.__proto__ || Object.getPrototypeOf(ListingDetails)).apply(this, arguments));
+ }
+
+ _createClass(ListingDetails, [{
+ key: 'onReadMore',
+ value: function onReadMore(e) {
+ e.preventDefault();
+ this.props.dispatch({ type: 'EXPAND_DESCRIPTION' });
+ }
+ }, {
+ key: 'onBackClick',
+ value: function onBackClick() {
+ if (this.props.onBackClick) {
+ this.props.onBackClick();
+ }
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var _props = this.props,
+ listing = _props.listing,
+ descriptionExpanded = _props.descriptionExpanded;
+ //
+
+ var descriptionClasses = descriptionExpanded ? "ld-description expanded" : "ld-description";
+ var images = listing.images.map(function (image) {
+ return { original: image, thumbnail: image };
+ });
+
+ return _react2.default.createElement(
+ 'div',
+ { className: 'ld-container' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-header' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'back-to-results' },
+ _react2.default.createElement(
+ 'button',
+ { className: 'back-to-results-btn',
+ onClick: this.onBackClick.bind(this) },
+ _react2.default.createElement('i', { className: 'fa fa-arrow-left', 'aria-hidden': 'true' }),
+ _react2.default.createElement(
+ 'span',
+ null,
+ 'Nazad na rezultate'
+ )
+ )
+ ),
+ _react2.default.createElement(
+ 'button',
+ { className: 'hide-listing' },
+ _react2.default.createElement('i', { className: 'fa fa-thumbs-o-down', 'aria-hidden': 'true' }),
+ _react2.default.createElement(
+ 'span',
+ null,
+ 'Sakrij'
+ )
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-details' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-image-container' },
+ _react2.default.createElement(_reactImageGallery2.default, {
+ items: images,
+ slideInterval: 2000 })
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-price-address-box' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-price' },
+ listing.price
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-address' },
+ _react2.default.createElement(
+ 'div',
+ { className: '' },
+ listing.address
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: '' },
+ listing.location
+ )
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-features' },
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-feature-box' },
+ _react2.default.createElement('i', { className: 'fa fa-bed' }),
+ '4 sobe'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-feature-box' },
+ _react2.default.createElement('i', { className: 'fa fa-home' }),
+ listing.size,
+ 'm2'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-feature-box' },
+ _react2.default.createElement('i', { className: 'fa fa-home' }),
+ '1. sprat'
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-feature-box' },
+ _react2.default.createElement('i', { className: 'fa fa-home' }),
+ 'Balkon'
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: 'ld-check-availability' },
+ _react2.default.createElement(
+ 'button',
+ null,
+ 'Kontaktiraj'
+ )
+ ),
+ _react2.default.createElement(
+ 'div',
+ { className: descriptionClasses },
+ listing.longDescription
+ ),
+ !descriptionExpanded ? _react2.default.createElement(
+ 'div',
+ { className: 'ld-read-more' },
+ _react2.default.createElement(
+ 'a',
+ { href: '', onClick: this.onReadMore.bind(this) },
+ 'Pro\u010Ditajte vi\u0161e'
+ )
+ ) : null,
+ _react2.default.createElement('div', { className: 'ld-footer' })
+ )
+ );
+ }
+ }]);
+
+ return ListingDetails;
+ }(_react2.default.Component);
+
+ exports.default = ListingDetails;
+
+/***/ },
+/* 177 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+ var _react = __webpack_require__(2);
+
+ var _react2 = _interopRequireDefault(_react);
+
+ var _reactSwipeable = __webpack_require__(178);
+
+ var _reactSwipeable2 = _interopRequireDefault(_reactSwipeable);
+
+ var _lodash = __webpack_require__(179);
+
+ var _lodash2 = _interopRequireDefault(_lodash);
+
+ var _lodash3 = __webpack_require__(180);
+
+ var _lodash4 = _interopRequireDefault(_lodash3);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+ var screenChangeEvents = ['fullscreenchange', 'msfullscreenchange', 'mozfullscreenchange', 'webkitfullscreenchange'];
+
+ var ImageGallery = function (_React$Component) {
+ _inherits(ImageGallery, _React$Component);
+
+ function ImageGallery(props) {
+ _classCallCheck(this, ImageGallery);
+
+ var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ImageGallery).call(this, props));
+
+ _this.state = {
+ currentIndex: props.startIndex,
+ thumbsTranslate: 0,
+ offsetPercentage: 0,
+ galleryWidth: 0,
+ thumbnailsWrapperWidth: 0,
+ thumbnailsWrapperHeight: 0,
+ isFullscreen: false,
+ isPlaying: false
+ };
+
+ if (props.lazyLoad) {
+ _this._lazyLoaded = [];
+ }
+ return _this;
+ }
+
+ _createClass(ImageGallery, [{
+ key: 'componentWillReceiveProps',
+ value: function componentWillReceiveProps(nextProps) {
+ if (this.props.disableArrowKeys !== nextProps.disableArrowKeys) {
+ if (nextProps.disableArrowKeys) {
+ window.removeEventListener('keydown', this._handleKeyDown);
+ } else {
+ window.addEventListener('keydown', this._handleKeyDown);
+ }
+ }
+
+ if (nextProps.lazyLoad && (!this.props.lazyLoad || this.props.items !== nextProps.items)) {
+ this._lazyLoaded = [];
+ }
+ }
+ }, {
+ key: 'componentDidUpdate',
+ value: function componentDidUpdate(prevProps, prevState) {
+ if (prevProps.thumbnailPosition !== this.props.thumbnailPosition || prevProps.showThumbnails !== this.props.showThumbnails || prevState.thumbnailsWrapperHeight !== this.state.thumbnailsWrapperHeight || prevState.thumbnailsWrapperWidth !== this.state.thumbnailsWrapperWidth) {
+ this._handleResize();
+ }
+
+ if (prevState.currentIndex !== this.state.currentIndex) {
+ if (this.props.onSlide) {
+ this.props.onSlide(this.state.currentIndex);
+ }
+
+ this._updateThumbnailTranslate(prevState);
+ }
+
+ if (prevProps.slideDuration !== this.props.slideDuration) {
+ this.slideToIndex = (0, _lodash2.default)(this._unthrottledSlideToIndex, this.props.slideDuration, { trailing: false });
+ }
+ }
+ }, {
+ key: 'componentWillMount',
+ value: function componentWillMount() {
+ // Used to update the throttle if slideDuration changes
+ this._unthrottledSlideToIndex = this.slideToIndex.bind(this);
+ this.slideToIndex = (0, _lodash2.default)(this._unthrottledSlideToIndex, this.props.slideDuration, { trailing: false });
+
+ this._handleResize = this._handleResize.bind(this);
+ this._debounceResize = (0, _lodash4.default)(this._handleResize, 500);
+ this._handleScreenChange = this._handleScreenChange.bind(this);
+ this._handleKeyDown = this._handleKeyDown.bind(this);
+ this._thumbnailDelay = 300;
+ }
+ }, {
+ key: 'componentDidMount',
+ value: function componentDidMount() {
+ this._handleResize();
+
+ if (this.props.autoPlay) {
+ this.play();
+ }
+ if (!this.props.disableArrowKeys) {
+ window.addEventListener('keydown', this._handleKeyDown);
+ }
+ window.addEventListener('resize', this._debounceResize);
+ this._onScreenChangeEvent();
+ }
+ }, {
+ key: 'componentWillUnmount',
+ value: function componentWillUnmount() {
+ if (!this.props.disableArrowKeys) {
+ window.removeEventListener('keydown', this._handleKeyDown);
+ }
+
+ if (this._debounceResize) {
+ window.removeEventListener('resize', this._debounceResize);
+ }
+
+ this._offScreenChangeEvent();
+
+ if (this._intervalId) {
+ window.clearInterval(this._intervalId);
+ this._intervalId = null;
+ }
+
+ if (this._resizeTimer) {
+ window.clearTimeout(this._resizeTimer);
+ }
+ }
+ }, {
+ key: 'play',
+ value: function play() {
+ var _this2 = this;
+
+ var callback = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ if (!this._intervalId) {
+ var _props = this.props;
+ var slideInterval = _props.slideInterval;
+ var slideDuration = _props.slideDuration;
+
+ this.setState({ isPlaying: true });
+ this._intervalId = window.setInterval(function () {
+ if (!_this2.state.hovering) {
+ if (!_this2.props.infinite && !_this2._canSlideRight()) {
+ _this2.pause();
+ } else {
+ _this2.slideToIndex(_this2.state.currentIndex + 1);
+ }
+ }
+ }, Math.max(slideInterval, slideDuration));
+
+ if (this.props.onPlay && callback) {
+ this.props.onPlay(this.state.currentIndex);
+ }
+ }
+ }
+ }, {
+ key: 'pause',
+ value: function pause() {
+ var callback = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
+
+ if (this._intervalId) {
+ window.clearInterval(this._intervalId);
+ this._intervalId = null;
+ this.setState({ isPlaying: false });
+
+ if (this.props.onPause && callback) {
+ this.props.onPause(this.state.currentIndex);
+ }
+ }
+ }
+ }, {
+ key: 'setModalFullscreen',
+ value: function setModalFullscreen(state) {
+ this.setState({ modalFullscreen: state });
+ // manually call because browser does not support screenchange events
+ if (this.props.onScreenChange) {
+ this.props.onScreenChange(state);
+ }
+ }
+ }, {
+ key: 'fullScreen',
+ value: function fullScreen() {
+ var gallery = this._imageGallery;
+
+ if (this.props.useBrowserFullscreen) {
+ if (gallery.requestFullscreen) {
+ gallery.requestFullscreen();
+ } else if (gallery.msRequestFullscreen) {
+ gallery.msRequestFullscreen();
+ } else if (gallery.mozRequestFullScreen) {
+ gallery.mozRequestFullScreen();
+ } else if (gallery.webkitRequestFullscreen) {
+ gallery.webkitRequestFullscreen();
+ } else {
+ // fallback to fullscreen modal for unsupported browsers
+ this.setModalFullscreen(true);
+ }
+ } else {
+ this.setModalFullscreen(true);
+ }
+
+ this.setState({ isFullscreen: true });
+ }
+ }, {
+ key: 'exitFullScreen',
+ value: function exitFullScreen() {
+ if (this.state.isFullscreen) {
+ if (this.props.useBrowserFullscreen) {
+ if (document.exitFullscreen) {
+ document.exitFullscreen();
+ } else if (document.webkitExitFullscreen) {
+ document.webkitExitFullscreen();
+ } else if (document.mozCancelFullScreen) {
+ document.mozCancelFullScreen();
+ } else if (document.msExitFullscreen) {
+ document.msExitFullscreen();
+ } else {
+ // fallback to fullscreen modal for unsupported browsers
+ this.setModalFullscreen(false);
+ }
+ } else {
+ this.setModalFullscreen(false);
+ }
+
+ this.setState({ isFullscreen: false });
+ }
+ }
+ }, {
+ key: 'slideToIndex',
+ value: function slideToIndex(index, event) {
+ var currentIndex = this.state.currentIndex;
+
+
+ if (event) {
+ if (this._intervalId) {
+ // user triggered event while ImageGallery is playing, reset interval
+ this.pause(false);
+ this.play(false);
+ }
+ }
+
+ var slideCount = this.props.items.length - 1;
+ var nextIndex = index;
+
+ if (index < 0) {
+ nextIndex = slideCount;
+ } else if (index > slideCount) {
+ nextIndex = 0;
+ }
+
+ this.setState({
+ previousIndex: currentIndex,
+ currentIndex: nextIndex,
+ offsetPercentage: 0,
+ style: {
+ transition: 'all ' + this.props.slideDuration + 'ms ease-out'
+ }
+ });
+ }
+ }, {
+ key: 'getCurrentIndex',
+ value: function getCurrentIndex() {
+ return this.state.currentIndex;
+ }
+ }, {
+ key: '_handleScreenChange',
+ value: function _handleScreenChange() {
+ /*
+ handles screen change events that the browser triggers e.g. esc key
+ */
+ var fullScreenElement = document.fullscreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;
+
+ if (this.props.onScreenChange) {
+ this.props.onScreenChange(fullScreenElement);
+ }
+
+ this.setState({ isFullscreen: !!fullScreenElement });
+ }
+ }, {
+ key: '_onScreenChangeEvent',
+ value: function _onScreenChangeEvent() {
+ var _this3 = this;
+
+ screenChangeEvents.map(function (eventName) {
+ document.addEventListener(eventName, _this3._handleScreenChange);
+ });
+ }
+ }, {
+ key: '_offScreenChangeEvent',
+ value: function _offScreenChangeEvent() {
+ var _this4 = this;
+
+ screenChangeEvents.map(function (eventName) {
+ document.removeEventListener(eventName, _this4._handleScreenChange);
+ });
+ }
+ }, {
+ key: '_toggleFullScreen',
+ value: function _toggleFullScreen() {
+ if (this.state.isFullscreen) {
+ this.exitFullScreen();
+ } else {
+ this.fullScreen();
+ }
+ }
+ }, {
+ key: '_togglePlay',
+ value: function _togglePlay() {
+ if (this._intervalId) {
+ this.pause();
+ } else {
+ this.play();
+ }
+ }
+ }, {
+ key: '_handleResize',
+ value: function _handleResize() {
+ var _this5 = this;
+
+ // delay initial resize to get the accurate this._imageGallery height/width
+ this._resizeTimer = window.setTimeout(function () {
+ if (_this5._imageGallery) {
+ _this5.setState({
+ galleryWidth: _this5._imageGallery.offsetWidth
+ });
+ }
+
+ // adjust thumbnail container when thumbnail width or height is adjusted
+ _this5._setThumbsTranslate(-_this5._getThumbsTranslate(_this5.state.currentIndex > 0 ? 1 : 0) * _this5.state.currentIndex);
+
+ if (_this5._imageGallerySlideWrapper) {
+ _this5.setState({
+ gallerySlideWrapperHeight: _this5._imageGallerySlideWrapper.offsetHeight
+ });
+ }
+
+ if (_this5._thumbnailsWrapper) {
+ if (_this5._isThumbnailHorizontal()) {
+ _this5.setState({ thumbnailsWrapperHeight: _this5._thumbnailsWrapper.offsetHeight });
+ } else {
+ _this5.setState({ thumbnailsWrapperWidth: _this5._thumbnailsWrapper.offsetWidth });
+ }
+ }
+ }, 500);
+ }
+ }, {
+ key: '_isThumbnailHorizontal',
+ value: function _isThumbnailHorizontal() {
+ var thumbnailPosition = this.props.thumbnailPosition;
+
+ return thumbnailPosition === 'left' || thumbnailPosition === 'right';
+ }
+ }, {
+ key: '_handleKeyDown',
+ value: function _handleKeyDown(event) {
+ var LEFT_ARROW = 37;
+ var RIGHT_ARROW = 39;
+ var key = parseInt(event.keyCode || event.which || 0);
+
+ switch (key) {
+ case LEFT_ARROW:
+ if (this._canSlideLeft() && !this._intervalId) {
+ this._slideLeft();
+ }
+ break;
+ case RIGHT_ARROW:
+ if (this._canSlideRight() && !this._intervalId) {
+ this._slideRight();
+ }
+ break;
+ }
+ }
+ }, {
+ key: '_handleMouseOverThumbnails',
+ value: function _handleMouseOverThumbnails(index) {
+ var _this6 = this;
+
+ if (this.props.slideOnThumbnailHover) {
+ this.setState({ hovering: true });
+ if (this._thumbnailTimer) {
+ window.clearTimeout(this._thumbnailTimer);
+ this._thumbnailTimer = null;
+ }
+ this._thumbnailTimer = window.setTimeout(function () {
+ _this6.slideToIndex(index);
+ }, this._thumbnailDelay);
+ }
+ }
+ }, {
+ key: '_handleMouseLeaveThumbnails',
+ value: function _handleMouseLeaveThumbnails() {
+ if (this._thumbnailTimer) {
+ window.clearTimeout(this._thumbnailTimer);
+ this._thumbnailTimer = null;
+ if (this.props.autoPlay === true) {
+ this.play(false);
+ }
+ }
+ this.setState({ hovering: false });
+ }
+ }, {
+ key: '_handleImageError',
+ value: function _handleImageError(event) {
+ if (this.props.defaultImage && event.target.src.indexOf(this.props.defaultImage) === -1) {
+ event.target.src = this.props.defaultImage;
+ }
+ }
+ }, {
+ key: '_handleOnSwiped',
+ value: function _handleOnSwiped(ev, x, y, isFlick) {
+ this.setState({ isFlick: isFlick });
+ }
+ }, {
+ key: '_shouldSlideOnSwipe',
+ value: function _shouldSlideOnSwipe() {
+ var shouldSlide = Math.abs(this.state.offsetPercentage) > 30 || this.state.isFlick;
+
+ if (shouldSlide) {
+ // reset isFlick state after so data is not persisted
+ this.setState({ isFlick: false });
+ }
+ return shouldSlide;
+ }
+ }, {
+ key: '_handleOnSwipedTo',
+ value: function _handleOnSwipedTo(index) {
+ var slideTo = this.state.currentIndex;
+
+ if (this._shouldSlideOnSwipe()) {
+ slideTo += index;
+ }
+
+ if (index < 0) {
+ if (!this._canSlideLeft()) {
+ slideTo = this.state.currentIndex;
+ }
+ } else {
+ if (!this._canSlideRight()) {
+ slideTo = this.state.currentIndex;
+ }
+ }
+
+ this._unthrottledSlideToIndex(slideTo);
+ }
+ }, {
+ key: '_handleSwiping',
+ value: function _handleSwiping(index, _, delta) {
+ var swipingTransitionDuration = this.props.swipingTransitionDuration;
+ var galleryWidth = this.state.galleryWidth;
+
+
+ var offsetPercentage = index * (delta / galleryWidth * 100);
+ if (Math.abs(offsetPercentage) >= 100) {
+ offsetPercentage = index * 100;
+ }
+
+ var swipingTransition = {
+ transition: 'transform ' + swipingTransitionDuration + 'ms ease-out'
+ };
+
+ this.setState({
+ offsetPercentage: offsetPercentage,
+ style: swipingTransition
+ });
+ }
+ }, {
+ key: '_canNavigate',
+ value: function _canNavigate() {
+ return this.props.items.length >= 2;
+ }
+ }, {
+ key: '_canSlideLeft',
+ value: function _canSlideLeft() {
+ return this.props.infinite || this.state.currentIndex > 0;
+ }
+ }, {
+ key: '_canSlideRight',
+ value: function _canSlideRight() {
+ return this.props.infinite || this.state.currentIndex < this.props.items.length - 1;
+ }
+ }, {
+ key: '_updateThumbnailTranslate',
+ value: function _updateThumbnailTranslate(prevState) {
+ if (this.state.currentIndex === 0) {
+ this._setThumbsTranslate(0);
+ } else {
+ var indexDifference = Math.abs(prevState.currentIndex - this.state.currentIndex);
+ var scroll = this._getThumbsTranslate(indexDifference);
+ if (scroll > 0) {
+ if (prevState.currentIndex < this.state.currentIndex) {
+ this._setThumbsTranslate(this.state.thumbsTranslate - scroll);
+ } else if (prevState.currentIndex > this.state.currentIndex) {
+ this._setThumbsTranslate(this.state.thumbsTranslate + scroll);
+ }
+ }
+ }
+ }
+ }, {
+ key: '_setThumbsTranslate',
+ value: function _setThumbsTranslate(thumbsTranslate) {
+ this.setState({ thumbsTranslate: thumbsTranslate });
+ }
+ }, {
+ key: '_getThumbsTranslate',
+ value: function _getThumbsTranslate(indexDifference) {
+ if (this.props.disableThumbnailScroll) {
+ return 0;
+ }
+
+ var _state = this.state;
+ var thumbnailsWrapperWidth = _state.thumbnailsWrapperWidth;
+ var thumbnailsWrapperHeight = _state.thumbnailsWrapperHeight;
+
+ var totalScroll = void 0;
+
+ if (this._thumbnails) {
+
+ // total scroll required to see the last thumbnail
+ if (this._isThumbnailHorizontal()) {
+ if (this._thumbnails.scrollHeight <= thumbnailsWrapperHeight) {
+ return 0;
+ }
+ totalScroll = this._thumbnails.scrollHeight - thumbnailsWrapperHeight;
+ } else {
+ if (this._thumbnails.scrollWidth <= thumbnailsWrapperWidth) {
+ return 0;
+ }
+ totalScroll = this._thumbnails.scrollWidth - thumbnailsWrapperWidth;
+ }
+
+ var totalThumbnails = this._thumbnails.children.length;
+ // scroll-x required per index change
+ var perIndexScroll = totalScroll / (totalThumbnails - 1);
+
+ return indexDifference * perIndexScroll;
+ }
+ }
+ }, {
+ key: '_getAlignmentClassName',
+ value: function _getAlignmentClassName(index) {
+ // LEFT, and RIGHT alignments are necessary for lazyLoad
+ var currentIndex = this.state.currentIndex;
+
+ var alignment = '';
+ var LEFT = 'left';
+ var CENTER = 'center';
+ var RIGHT = 'right';
+
+ switch (index) {
+ case currentIndex - 1:
+ alignment = ' ' + LEFT;
+ break;
+ case currentIndex:
+ alignment = ' ' + CENTER;
+ break;
+ case currentIndex + 1:
+ alignment = ' ' + RIGHT;
+ break;
+ }
+
+ if (this.props.items.length >= 3 && this.props.infinite) {
+ if (index === 0 && currentIndex === this.props.items.length - 1) {
+ // set first slide as right slide if were sliding right from last slide
+ alignment = ' ' + RIGHT;
+ } else if (index === this.props.items.length - 1 && currentIndex === 0) {
+ // set last slide as left slide if were sliding left from first slide
+ alignment = ' ' + LEFT;
+ }
+ }
+
+ return alignment;
+ }
+ }, {
+ key: '_getTranslateXForTwoSlide',
+ value: function _getTranslateXForTwoSlide(index) {
+ // For taking care of infinite swipe when there are only two slides
+ var _state2 = this.state;
+ var currentIndex = _state2.currentIndex;
+ var offsetPercentage = _state2.offsetPercentage;
+ var previousIndex = _state2.previousIndex;
+
+ var baseTranslateX = -100 * currentIndex;
+ var translateX = baseTranslateX + index * 100 + offsetPercentage;
+
+ // keep track of user swiping direction
+ if (offsetPercentage > 0) {
+ this.direction = 'left';
+ } else if (offsetPercentage < 0) {
+ this.direction = 'right';
+ }
+
+ // when swiping make sure the slides are on the correct side
+ if (currentIndex === 0 && index === 1 && offsetPercentage > 0) {
+ translateX = -100 + offsetPercentage;
+ } else if (currentIndex === 1 && index === 0 && offsetPercentage < 0) {
+ translateX = 100 + offsetPercentage;
+ }
+
+ if (currentIndex !== previousIndex) {
+ // when swiped move the slide to the correct side
+ if (previousIndex === 0 && index === 0 && offsetPercentage === 0 && this.direction === 'left') {
+ translateX = 100;
+ } else if (previousIndex === 1 && index === 1 && offsetPercentage === 0 && this.direction === 'right') {
+ translateX = -100;
+ }
+ } else {
+ // keep the slide on the correct slide even when not a swipe
+ if (currentIndex === 0 && index === 1 && offsetPercentage === 0 && this.direction === 'left') {
+ translateX = -100;
+ } else if (currentIndex === 1 && index === 0 && offsetPercentage === 0 && this.direction === 'right') {
+ translateX = 100;
+ }
+ }
+
+ return translateX;
+ }
+ }, {
+ key: '_getThumbnailBarHeight',
+ value: function _getThumbnailBarHeight() {
+ if (this._isThumbnailHorizontal()) {
+ return {
+ height: this.state.gallerySlideWrapperHeight
+ };
+ }
+ return {};
+ }
+ }, {
+ key: '_getSlideStyle',
+ value: function _getSlideStyle(index) {
+ var _state3 = this.state;
+ var currentIndex = _state3.currentIndex;
+ var offsetPercentage = _state3.offsetPercentage;
+ var _props2 = this.props;
+ var infinite = _props2.infinite;
+ var items = _props2.items;
+
+ var baseTranslateX = -100 * currentIndex;
+ var totalSlides = items.length - 1;
+
+ // calculates where the other slides belong based on currentIndex
+ var translateX = baseTranslateX + index * 100 + offsetPercentage;
+
+ // adjust zIndex so that only the current slide and the slide were going
+ // to is at the top layer, this prevents transitions from flying in the
+ // background when swiping before the first slide or beyond the last slide
+ var zIndex = 1;
+ if (index === currentIndex) {
+ zIndex = 3;
+ } else if (index === this.state.previousIndex) {
+ zIndex = 2;
+ } else if (index === 0 || index === totalSlides) {
+ zIndex = 0;
+ }
+
+ if (infinite && items.length > 2) {
+ if (currentIndex === 0 && index === totalSlides) {
+ // make the last slide the slide before the first
+ translateX = -100 + offsetPercentage;
+ } else if (currentIndex === totalSlides && index === 0) {
+ // make the first slide the slide after the last
+ translateX = 100 + offsetPercentage;
+ }
+ }
+
+ // Special case when there are only 2 items with infinite on
+ if (infinite && items.length === 2) {
+ translateX = this._getTranslateXForTwoSlide(index);
+ }
+
+ var translate3d = 'translate3d(' + translateX + '%, 0, 0)';
+
+ return {
+ WebkitTransform: translate3d,
+ MozTransform: translate3d,
+ msTransform: translate3d,
+ OTransform: translate3d,
+ transform: translate3d,
+ zIndex: zIndex
+ };
+ }
+ }, {
+ key: '_getThumbnailStyle',
+ value: function _getThumbnailStyle() {
+ var translate3d = void 0;
+
+ if (this._isThumbnailHorizontal()) {
+ translate3d = 'translate3d(0, ' + this.state.thumbsTranslate + 'px, 0)';
+ } else {
+ translate3d = 'translate3d(' + this.state.thumbsTranslate + 'px, 0, 0)';
+ }
+ return {
+ WebkitTransform: translate3d,
+ MozTransform: translate3d,
+ msTransform: translate3d,
+ OTransform: translate3d,
+ transform: translate3d
+ };
+ }
+ }, {
+ key: '_slideLeft',
+ value: function _slideLeft(event) {
+ this.slideToIndex(this.state.currentIndex - 1, event);
+ }
+ }, {
+ key: '_slideRight',
+ value: function _slideRight(event) {
+ this.slideToIndex(this.state.currentIndex + 1, event);
+ }
+ }, {
+ key: '_renderItem',
+ value: function _renderItem(item) {
+ var onImageError = this.props.onImageError || this._handleImageError;
+
+ return _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-image' },
+ _react2.default.createElement('img', {
+ src: item.original,
+ alt: item.originalAlt,
+ srcSet: item.srcSet,
+ sizes: item.sizes,
+ onLoad: this.props.onImageLoad,
+ onError: onImageError.bind(this)
+ }),
+ item.description && _react2.default.createElement(
+ 'span',
+ { className: 'image-gallery-description' },
+ item.description
+ )
+ );
+ }
+ }, {
+ key: 'render',
+ value: function render() {
+ var _this7 = this;
+
+ var _state4 = this.state;
+ var currentIndex = _state4.currentIndex;
+ var isFullscreen = _state4.isFullscreen;
+ var modalFullscreen = _state4.modalFullscreen;
+ var isPlaying = _state4.isPlaying;
+
+
+ var thumbnailStyle = this._getThumbnailStyle();
+ var thumbnailPosition = this.props.thumbnailPosition;
+
+ var slideLeft = this._slideLeft.bind(this);
+ var slideRight = this._slideRight.bind(this);
+
+ var slides = [];
+ var thumbnails = [];
+ var bullets = [];
+
+ this.props.items.map(function (item, index) {
+ var alignment = _this7._getAlignmentClassName(index);
+ var originalClass = item.originalClass ? ' ' + item.originalClass : '';
+ var thumbnailClass = item.thumbnailClass ? ' ' + item.thumbnailClass : '';
+
+ var renderItem = item.renderItem || _this7.props.renderItem || _this7._renderItem.bind(_this7);
+
+ var showItem = !_this7.props.lazyLoad || alignment || _this7._lazyLoaded[index];
+ if (showItem && _this7.props.lazyLoad) {
+ _this7._lazyLoaded[index] = true;
+ }
+
+ var slide = _react2.default.createElement(
+ 'div',
+ {
+ key: index,
+ className: 'image-gallery-slide' + alignment + originalClass,
+ style: _extends(_this7._getSlideStyle(index), _this7.state.style),
+ onClick: _this7.props.onClick
+ },
+ showItem ? renderItem(item) : _react2.default.createElement('div', { style: { height: '100%' } })
+ );
+
+ slides.push(slide);
+
+ var onThumbnailError = _this7._handleImageError;
+ if (_this7.props.onThumbnailError) {
+ onThumbnailError = _this7.props.onThumbnailError;
+ }
+
+ if (_this7.props.showThumbnails) {
+ thumbnails.push(_react2.default.createElement(
+ 'a',
+ {
+ onMouseOver: _this7._handleMouseOverThumbnails.bind(_this7, index),
+ onMouseLeave: _this7._handleMouseLeaveThumbnails.bind(_this7, index),
+ key: index,
+ role: 'button',
+ 'aria-pressed': currentIndex === index ? 'true' : 'false',
+ 'aria-label': 'Go to Slide ' + (index + 1),
+ className: 'image-gallery-thumbnail' + (currentIndex === index ? ' active' : '') + thumbnailClass,
+
+ onClick: function onClick(event) {
+ return _this7.slideToIndex.call(_this7, index, event);
+ } },
+ _react2.default.createElement('img', {
+ src: item.thumbnail,
+ alt: item.thumbnailAlt,
+ onError: onThumbnailError.bind(_this7) }),
+ _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-thumbnail-label' },
+ item.thumbnailLabel
+ )
+ ));
+ }
+
+ if (_this7.props.showBullets) {
+ bullets.push(_react2.default.createElement('button', {
+ key: index,
+ type: 'button',
+ className: 'image-gallery-bullet ' + (currentIndex === index ? 'active' : ''),
+
+ onClick: function onClick(event) {
+ return _this7.slideToIndex.call(_this7, index, event);
+ },
+ 'aria-pressed': currentIndex === index ? 'true' : 'false',
+ 'aria-label': 'Go to Slide ' + (index + 1)
+ }));
+ }
+ });
+
+ var slideWrapper = _react2.default.createElement(
+ 'div',
+ {
+ ref: function ref(i) {
+ return _this7._imageGallerySlideWrapper = i;
+ },
+ className: 'image-gallery-slide-wrapper ' + thumbnailPosition
+ },
+ this.props.renderCustomControls && this.props.renderCustomControls(),
+ this.props.showFullscreenButton && this.props.renderFullscreenButton(this._toggleFullScreen.bind(this), isFullscreen),
+ this.props.showPlayButton && this.props.renderPlayPauseButton(this._togglePlay.bind(this), isPlaying),
+ this._canNavigate() ? [this.props.showNav && _react2.default.createElement(
+ 'span',
+ { key: 'navigation' },
+ this.props.renderLeftNav(slideLeft, !this._canSlideLeft()),
+ this.props.renderRightNav(slideRight, !this._canSlideRight())
+ ), this.props.disableSwipe ? _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-slides', key: 'slides' },
+ slides
+ ) : _react2.default.createElement(
+ _reactSwipeable2.default,
+ {
+ className: 'image-gallery-swipe',
+ key: 'swipeable',
+ delta: 1,
+ onSwipingLeft: this._handleSwiping.bind(this, -1),
+ onSwipingRight: this._handleSwiping.bind(this, 1),
+ onSwiped: this._handleOnSwiped.bind(this),
+ onSwipedLeft: this._handleOnSwipedTo.bind(this, 1),
+ onSwipedRight: this._handleOnSwipedTo.bind(this, -1)
+ },
+ _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-slides' },
+ slides
+ )
+ )] : _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-slides' },
+ slides
+ ),
+ this.props.showBullets && _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-bullets' },
+ _react2.default.createElement(
+ 'ul',
+ {
+ className: 'image-gallery-bullets-container',
+ role: 'navigation',
+ 'aria-label': 'Bullet Navigation'
+ },
+ bullets
+ )
+ ),
+ this.props.showIndex && _react2.default.createElement(
+ 'div',
+ { className: 'image-gallery-index' },
+ _react2.default.createElement(
+ 'span',
+ { className: 'image-gallery-index-current' },
+ this.state.currentIndex + 1
+ ),
+ _react2.default.createElement(
+ 'span',
+ { className: 'image-gallery-index-separator' },
+ this.props.indexSeparator
+ ),
+ _react2.default.createElement(
+ 'span',
+ { className: 'image-gallery-index-total' },
+ this.props.items.length
+ )
+ )
+ );
+
+ return _react2.default.createElement(
+ 'section',
+ {
+ ref: function ref(i) {
+ return _this7._imageGallery = i;
+ },
+ className: 'image-gallery' + (modalFullscreen ? ' fullscreen-modal' : ''),
+ 'aria-live': 'polite'
+ },
+ _react2.default.createElement(
+ 'div',
+ {
+ className: 'image-gallery-content' + (isFullscreen ? ' fullscreen' : '')
+ },
+ (thumbnailPosition === 'bottom' || thumbnailPosition === 'right') && slideWrapper,
+ this.props.showThumbnails && _react2.default.createElement(
+ 'div',
+ {
+ className: 'image-gallery-thumbnails-wrapper ' + thumbnailPosition,
+ style: this._getThumbnailBarHeight()
+ },
+ _react2.default.createElement(
+ 'div',
+ {
+ className: 'image-gallery-thumbnails',
+ ref: function ref(i) {
+ return _this7._thumbnailsWrapper = i;
+ }
+ },
+ _react2.default.createElement(
+ 'div',
+ {
+ ref: function ref(t) {
+ return _this7._thumbnails = t;
+ },
+ className: 'image-gallery-thumbnails-container',
+ style: thumbnailStyle,
+ role: 'navigation',
+ 'aria-label': 'Thumbnail Navigation'
+ },
+ thumbnails
+ )
+ )
+ ),
+ (thumbnailPosition === 'top' || thumbnailPosition === 'left') && slideWrapper
+ )
+ );
+ }
+ }]);
+
+ return ImageGallery;
+ }(_react2.default.Component);
+
+ ImageGallery.propTypes = {
+ items: _react2.default.PropTypes.array.isRequired,
+ showNav: _react2.default.PropTypes.bool,
+ autoPlay: _react2.default.PropTypes.bool,
+ lazyLoad: _react2.default.PropTypes.bool,
+ infinite: _react2.default.PropTypes.bool,
+ showIndex: _react2.default.PropTypes.bool,
+ showBullets: _react2.default.PropTypes.bool,
+ showThumbnails: _react2.default.PropTypes.bool,
+ showPlayButton: _react2.default.PropTypes.bool,
+ showFullscreenButton: _react2.default.PropTypes.bool,
+ slideOnThumbnailHover: _react2.default.PropTypes.bool,
+ disableThumbnailScroll: _react2.default.PropTypes.bool,
+ disableArrowKeys: _react2.default.PropTypes.bool,
+ disableSwipe: _react2.default.PropTypes.bool,
+ useBrowserFullscreen: _react2.default.PropTypes.bool,
+ defaultImage: _react2.default.PropTypes.string,
+ indexSeparator: _react2.default.PropTypes.string,
+ thumbnailPosition: _react2.default.PropTypes.string,
+ startIndex: _react2.default.PropTypes.number,
+ slideDuration: _react2.default.PropTypes.number,
+ slideInterval: _react2.default.PropTypes.number,
+ swipingTransitionDuration: _react2.default.PropTypes.number,
+ onSlide: _react2.default.PropTypes.func,
+ onScreenChange: _react2.default.PropTypes.func,
+ onPause: _react2.default.PropTypes.func,
+ onPlay: _react2.default.PropTypes.func,
+ onClick: _react2.default.PropTypes.func,
+ onImageLoad: _react2.default.PropTypes.func,
+ onImageError: _react2.default.PropTypes.func,
+ onThumbnailError: _react2.default.PropTypes.func,
+ renderCustomControls: _react2.default.PropTypes.func,
+ renderLeftNav: _react2.default.PropTypes.func,
+ renderRightNav: _react2.default.PropTypes.func,
+ renderPlayPauseButton: _react2.default.PropTypes.func,
+ renderFullscreenButton: _react2.default.PropTypes.func,
+ renderItem: _react2.default.PropTypes.func
+ };
+ ImageGallery.defaultProps = {
+ items: [],
+ showNav: true,
+ autoPlay: false,
+ lazyLoad: false,
+ infinite: true,
+ showIndex: false,
+ showBullets: false,
+ showThumbnails: true,
+ showPlayButton: true,
+ showFullscreenButton: true,
+ slideOnThumbnailHover: false,
+ disableThumbnailScroll: false,
+ disableArrowKeys: false,
+ disableSwipe: false,
+ useBrowserFullscreen: true,
+ indexSeparator: ' / ',
+ thumbnailPosition: 'bottom',
+ startIndex: 0,
+ slideDuration: 450,
+ swipingTransitionDuration: 0,
+ slideInterval: 3000,
+ renderLeftNav: function renderLeftNav(onClick, disabled) {
+ return _react2.default.createElement('button', {
+ type: 'button',
+ className: 'image-gallery-left-nav',
+ disabled: disabled,
+ onClick: onClick,
+ 'aria-label': 'Previous Slide'
+ });
+ },
+ renderRightNav: function renderRightNav(onClick, disabled) {
+ return _react2.default.createElement('button', {
+ type: 'button',
+ className: 'image-gallery-right-nav',
+ disabled: disabled,
+ onClick: onClick,
+ 'aria-label': 'Next Slide'
+ });
+ },
+ renderPlayPauseButton: function renderPlayPauseButton(onClick, isPlaying) {
+ return _react2.default.createElement('button', {
+ type: 'button',
+ className: 'image-gallery-play-button' + (isPlaying ? ' active' : ''),
+ onClick: onClick,
+ 'aria-label': 'Play or Pause Slideshow'
+ });
+ },
+ renderFullscreenButton: function renderFullscreenButton(onClick, isFullscreen) {
+ return _react2.default.createElement('button', {
+ type: 'button',
+ className: 'image-gallery-fullscreen-button' + (isFullscreen ? ' active' : ''),
+ onClick: onClick,
+ 'aria-label': 'Open Fullscreen'
+ });
+ }
+ };
+ exports.default = ImageGallery;
+
+/***/ },
+/* 178 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+ var React = __webpack_require__(2);
+
+ function getInitialState() {
+ return {
+ x: null,
+ y: null,
+ swiping: false,
+ start: 0
+ };
+ }
+
+ var Swipeable = React.createClass({
+ displayName: 'Swipeable',
+
+ propTypes: {
+ onSwiped: React.PropTypes.func,
+ onSwiping: React.PropTypes.func,
+ onSwipingUp: React.PropTypes.func,
+ onSwipingRight: React.PropTypes.func,
+ onSwipingDown: React.PropTypes.func,
+ onSwipingLeft: React.PropTypes.func,
+ onSwipedUp: React.PropTypes.func,
+ onSwipedRight: React.PropTypes.func,
+ onSwipedDown: React.PropTypes.func,
+ onSwipedLeft: React.PropTypes.func,
+ onTap: React.PropTypes.func,
+ flickThreshold: React.PropTypes.number,
+ delta: React.PropTypes.number,
+ preventDefaultTouchmoveEvent: React.PropTypes.bool,
+ stopPropagation: React.PropTypes.bool,
+ nodeName: React.PropTypes.string,
+ trackMouse: React.PropTypes.bool,
+ children: React.PropTypes.node
+ },
+
+ getDefaultProps: function getDefaultProps() {
+ return {
+ flickThreshold: 0.6,
+ delta: 10,
+ preventDefaultTouchmoveEvent: true,
+ stopPropagation: false,
+ nodeName: 'div'
+ };
+ },
+ componentWillMount: function componentWillMount() {
+ this.swipeable = getInitialState();
+ },
+ calculatePos: function calculatePos(e) {
+ var x = void 0;
+ var y = void 0;
+
+ if (e.changedTouches) {
+ x = e.changedTouches[0].clientX;
+ y = e.changedTouches[0].clientY;
+ } else {
+ x = e.clientX;
+ y = e.clientY;
+ }
+
+ var xd = this.swipeable.x - x;
+ var yd = this.swipeable.y - y;
+
+ var axd = Math.abs(xd);
+ var ayd = Math.abs(yd);
+
+ var time = Date.now() - this.swipeable.start;
+ var velocity = Math.sqrt(axd * axd + ayd * ayd) / time;
+
+ return {
+ deltaX: xd,
+ deltaY: yd,
+ absX: axd,
+ absY: ayd,
+ velocity: velocity
+ };
+ },
+ eventStart: function eventStart(e) {
+ if (typeof this.props.onMouseDown === 'function') {
+ this.props.onMouseDown(e);
+ }
+
+ if (e.type === 'mousedown' && !this.props.trackMouse) {
+ return;
+ }
+
+ if (e.touches && e.touches.length > 1) {
+ return;
+ }
+
+ var touches = e.touches;
+ if (!touches) {
+ touches = [{ clientX: e.clientX, clientY: e.clientY }];
+ }
+ if (this.props.stopPropagation) e.stopPropagation();
+
+ this.swipeable = {
+ start: Date.now(),
+ x: touches[0].clientX,
+ y: touches[0].clientY,
+ swiping: false
+ };
+ },
+ eventMove: function eventMove(e) {
+ if (typeof this.props.onMouseMove === 'function') {
+ this.props.onMouseMove(e);
+ }
+
+ if (e.type === 'mousemove' && !this.props.trackMouse) {
+ return;
+ }
+
+ if (!this.swipeable.x || !this.swipeable.y || e.touches && e.touches.length > 1) {
+ return;
+ }
+
+ var cancelPageSwipe = false;
+ var pos = this.calculatePos(e);
+
+ if (pos.absX < this.props.delta && pos.absY < this.props.delta) {
+ return;
+ }
+
+ if (this.props.stopPropagation) e.stopPropagation();
+
+ if (this.props.onSwiping) {
+ this.props.onSwiping(e, pos.deltaX, pos.deltaY, pos.absX, pos.absY, pos.velocity);
+ }
+
+ if (pos.absX > pos.absY) {
+ if (pos.deltaX > 0) {
+ if (this.props.onSwipingLeft || this.props.onSwipedLeft) {
+ this.props.onSwipingLeft && this.props.onSwipingLeft(e, pos.absX);
+ cancelPageSwipe = true;
+ }
+ } else if (this.props.onSwipingRight || this.props.onSwipedRight) {
+ this.props.onSwipingRight && this.props.onSwipingRight(e, pos.absX);
+ cancelPageSwipe = true;
+ }
+ } else if (pos.deltaY > 0) {
+ if (this.props.onSwipingUp || this.props.onSwipedUp) {
+ this.props.onSwipingUp && this.props.onSwipingUp(e, pos.absY);
+ cancelPageSwipe = true;
+ }
+ } else if (this.props.onSwipingDown || this.props.onSwipedDown) {
+ this.props.onSwipingDown && this.props.onSwipingDown(e, pos.absY);
+ cancelPageSwipe = true;
+ }
+
+ this.swipeable.swiping = true;
+
+ if (cancelPageSwipe && this.props.preventDefaultTouchmoveEvent) {
+ e.preventDefault();
+ }
+ },
+ eventEnd: function eventEnd(e) {
+ if (typeof this.props.onMouseUp === 'function') {
+ this.props.onMouseUp(e);
+ }
+
+ if (e.type === 'mouseup' && !this.props.trackMouse) {
+ return;
+ }
+
+ if (this.swipeable.swiping) {
+ var pos = this.calculatePos(e);
+
+ if (this.props.stopPropagation) e.stopPropagation();
+
+ var isFlick = pos.velocity > this.props.flickThreshold;
+
+ this.props.onSwiped && this.props.onSwiped(e, pos.deltaX, pos.deltaY, isFlick, pos.velocity);
+
+ if (pos.absX > pos.absY) {
+ if (pos.deltaX > 0) {
+ this.props.onSwipedLeft && this.props.onSwipedLeft(e, pos.deltaX, isFlick);
+ } else {
+ this.props.onSwipedRight && this.props.onSwipedRight(e, pos.deltaX, isFlick);
+ }
+ } else if (pos.deltaY > 0) {
+ this.props.onSwipedUp && this.props.onSwipedUp(e, pos.deltaY, isFlick);
+ } else {
+ this.props.onSwipedDown && this.props.onSwipedDown(e, pos.deltaY, isFlick);
+ }
+ } else {
+ this.props.onTap && this.props.onTap(e);
+ }
+
+ this.swipeable = getInitialState();
+ },
+ render: function render() {
+ var newProps = _extends({}, this.props, {
+ onTouchStart: this.eventStart,
+ onTouchMove: this.eventMove,
+ onTouchEnd: this.eventEnd,
+ onMouseDown: this.eventStart,
+ onMouseMove: this.eventMove,
+ onMouseUp: this.eventEnd
+ });
+
+ delete newProps.onSwiped;
+ delete newProps.onSwiping;
+ delete newProps.onSwipingUp;
+ delete newProps.onSwipingRight;
+ delete newProps.onSwipingDown;
+ delete newProps.onSwipingLeft;
+ delete newProps.onSwipedUp;
+ delete newProps.onSwipedRight;
+ delete newProps.onSwipedDown;
+ delete newProps.onSwipedLeft;
+ delete newProps.onTap;
+ delete newProps.flickThreshold;
+ delete newProps.delta;
+ delete newProps.preventDefaultTouchmoveEvent;
+ delete newProps.stopPropagation;
+ delete newProps.nodeName;
+ delete newProps.children;
+ delete newProps.trackMouse;
+
+ return React.createElement(this.props.nodeName, newProps, this.props.children);
+ }
+ });
+
+ module.exports = Swipeable;
+
+/***/ },
+/* 179 */
+/***/ function(module, exports) {
+
+ /* WEBPACK VAR INJECTION */(function(global) {/**
+ * lodash (Custom Build)
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright jQuery Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+
+ /** Used as the `TypeError` message for "Functions" methods. */
+ var FUNC_ERROR_TEXT = 'Expected a function';
+
+ /** Used as references for various `Number` constants. */
+ var NAN = 0 / 0;
+
+ /** `Object#toString` result references. */
+ var symbolTag = '[object Symbol]';
+
+ /** Used to match leading and trailing whitespace. */
+ var reTrim = /^\s+|\s+$/g;
+
+ /** Used to detect bad signed hexadecimal string values. */
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+ /** Used to detect binary string values. */
+ var reIsBinary = /^0b[01]+$/i;
+
+ /** Used to detect octal string values. */
+ var reIsOctal = /^0o[0-7]+$/i;
+
+ /** Built-in method references without a dependency on `root`. */
+ var freeParseInt = parseInt;
+
+ /** Detect free variable `global` from Node.js. */
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
+
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+ /** Used as a reference to the global object. */
+ var root = freeGlobal || freeSelf || Function('return this')();
+
+ /** Used for built-in method references. */
+ var objectProto = Object.prototype;
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var objectToString = objectProto.toString;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax = Math.max,
+ nativeMin = Math.min;
+
+ /**
+ * Gets the timestamp of the number of milliseconds that have elapsed since
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @since 2.4.0
+ * @category Date
+ * @returns {number} Returns the timestamp.
+ * @example
+ *
+ * _.defer(function(stamp) {
+ * console.log(_.now() - stamp);
+ * }, _.now());
+ * // => Logs the number of milliseconds it took for the deferred invocation.
+ */
+ var now = function() {
+ return root.Date.now();
+ };
+
+ /**
+ * Creates a debounced function that delays invoking `func` until after `wait`
+ * milliseconds have elapsed since the last time the debounced function was
+ * invoked. The debounced function comes with a `cancel` method to cancel
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
+ * Provide `options` to indicate whether `func` should be invoked on the
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
+ * with the last arguments provided to the debounced function. Subsequent
+ * calls to the debounced function return the result of the last `func`
+ * invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
+ * invoked on the trailing edge of the timeout only if the debounced function
+ * is invoked more than once during the `wait` timeout.
+ *
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+ *
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+ * for details over the differences between `_.debounce` and `_.throttle`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to debounce.
+ * @param {number} [wait=0] The number of milliseconds to delay.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=false]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {number} [options.maxWait]
+ * The maximum time `func` is allowed to be delayed before it's invoked.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
+ * @returns {Function} Returns the new debounced function.
+ * @example
+ *
+ * // Avoid costly calculations while the window size is in flux.
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+ *
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
+ * 'leading': true,
+ * 'trailing': false
+ * }));
+ *
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
+ * var source = new EventSource('/stream');
+ * jQuery(source).on('message', debounced);
+ *
+ * // Cancel the trailing debounced invocation.
+ * jQuery(window).on('popstate', debounced.cancel);
+ */
+ function debounce(func, wait, options) {
+ var lastArgs,
+ lastThis,
+ maxWait,
+ result,
+ timerId,
+ lastCallTime,
+ lastInvokeTime = 0,
+ leading = false,
+ maxing = false,
+ trailing = true;
+
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ wait = toNumber(wait) || 0;
+ if (isObject(options)) {
+ leading = !!options.leading;
+ maxing = 'maxWait' in options;
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
+ }
+
+ function invokeFunc(time) {
+ var args = lastArgs,
+ thisArg = lastThis;
+
+ lastArgs = lastThis = undefined;
+ lastInvokeTime = time;
+ result = func.apply(thisArg, args);
+ return result;
+ }
+
+ function leadingEdge(time) {
+ // Reset any `maxWait` timer.
+ lastInvokeTime = time;
+ // Start the timer for the trailing edge.
+ timerId = setTimeout(timerExpired, wait);
+ // Invoke the leading edge.
+ return leading ? invokeFunc(time) : result;
+ }
+
+ function remainingWait(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime,
+ result = wait - timeSinceLastCall;
+
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
+ }
+
+ function shouldInvoke(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime;
+
+ // Either this is the first call, activity has stopped and we're at the
+ // trailing edge, the system time has gone backwards and we're treating
+ // it as the trailing edge, or we've hit the `maxWait` limit.
+ return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
+ }
+
+ function timerExpired() {
+ var time = now();
+ if (shouldInvoke(time)) {
+ return trailingEdge(time);
+ }
+ // Restart the timer.
+ timerId = setTimeout(timerExpired, remainingWait(time));
+ }
+
+ function trailingEdge(time) {
+ timerId = undefined;
+
+ // Only invoke if we have `lastArgs` which means `func` has been
+ // debounced at least once.
+ if (trailing && lastArgs) {
+ return invokeFunc(time);
+ }
+ lastArgs = lastThis = undefined;
+ return result;
+ }
+
+ function cancel() {
+ if (timerId !== undefined) {
+ clearTimeout(timerId);
+ }
+ lastInvokeTime = 0;
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
+ }
+
+ function flush() {
+ return timerId === undefined ? result : trailingEdge(now());
+ }
+
+ function debounced() {
+ var time = now(),
+ isInvoking = shouldInvoke(time);
+
+ lastArgs = arguments;
+ lastThis = this;
+ lastCallTime = time;
+
+ if (isInvoking) {
+ if (timerId === undefined) {
+ return leadingEdge(lastCallTime);
+ }
+ if (maxing) {
+ // Handle invocations in a tight loop.
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
+ }
+ }
+ if (timerId === undefined) {
+ timerId = setTimeout(timerExpired, wait);
+ }
+ return result;
+ }
+ debounced.cancel = cancel;
+ debounced.flush = flush;
+ return debounced;
+ }
+
+ /**
+ * Creates a throttled function that only invokes `func` at most once per
+ * every `wait` milliseconds. The throttled function comes with a `cancel`
+ * method to cancel delayed `func` invocations and a `flush` method to
+ * immediately invoke them. Provide `options` to indicate whether `func`
+ * should be invoked on the leading and/or trailing edge of the `wait`
+ * timeout. The `func` is invoked with the last arguments provided to the
+ * throttled function. Subsequent calls to the throttled function return the
+ * result of the last `func` invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
+ * invoked on the trailing edge of the timeout only if the throttled function
+ * is invoked more than once during the `wait` timeout.
+ *
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+ *
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+ * for details over the differences between `_.throttle` and `_.debounce`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to throttle.
+ * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=true]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
+ * @returns {Function} Returns the new throttled function.
+ * @example
+ *
+ * // Avoid excessively updating the position while scrolling.
+ * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+ *
+ * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.
+ * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });
+ * jQuery(element).on('click', throttled);
+ *
+ * // Cancel the trailing throttled invocation.
+ * jQuery(window).on('popstate', throttled.cancel);
+ */
+ function throttle(func, wait, options) {
+ var leading = true,
+ trailing = true;
+
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ if (isObject(options)) {
+ leading = 'leading' in options ? !!options.leading : leading;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
+ }
+ return debounce(func, wait, {
+ 'leading': leading,
+ 'maxWait': wait,
+ 'trailing': trailing
+ });
+ }
+
+ /**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+ function isObject(value) {
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+ }
+
+ /**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+ function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+ }
+
+ /**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+ function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
+ }
+
+ /**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3.2);
+ * // => 3.2
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3.2');
+ * // => 3.2
+ */
+ function toNumber(value) {
+ if (typeof value == 'number') {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject(value)) {
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
+ value = isObject(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, '');
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
+ }
+
+ module.exports = throttle;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+
+/***/ },
+/* 180 */
+/***/ function(module, exports) {
+
+ /* WEBPACK VAR INJECTION */(function(global) {/**
+ * lodash (Custom Build)
+ * Build: `lodash modularize exports="npm" -o ./`
+ * Copyright jQuery Foundation and other contributors
+ * Released under MIT license
+ * Based on Underscore.js 1.8.3
+ * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ */
+
+ /** Used as the `TypeError` message for "Functions" methods. */
+ var FUNC_ERROR_TEXT = 'Expected a function';
+
+ /** Used as references for various `Number` constants. */
+ var NAN = 0 / 0;
+
+ /** `Object#toString` result references. */
+ var symbolTag = '[object Symbol]';
+
+ /** Used to match leading and trailing whitespace. */
+ var reTrim = /^\s+|\s+$/g;
+
+ /** Used to detect bad signed hexadecimal string values. */
+ var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
+
+ /** Used to detect binary string values. */
+ var reIsBinary = /^0b[01]+$/i;
+
+ /** Used to detect octal string values. */
+ var reIsOctal = /^0o[0-7]+$/i;
+
+ /** Built-in method references without a dependency on `root`. */
+ var freeParseInt = parseInt;
+
+ /** Detect free variable `global` from Node.js. */
+ var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
+
+ /** Detect free variable `self`. */
+ var freeSelf = typeof self == 'object' && self && self.Object === Object && self;
+
+ /** Used as a reference to the global object. */
+ var root = freeGlobal || freeSelf || Function('return this')();
+
+ /** Used for built-in method references. */
+ var objectProto = Object.prototype;
+
+ /**
+ * Used to resolve the
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
+ * of values.
+ */
+ var objectToString = objectProto.toString;
+
+ /* Built-in method references for those with the same name as other `lodash` methods. */
+ var nativeMax = Math.max,
+ nativeMin = Math.min;
+
+ /**
+ * Gets the timestamp of the number of milliseconds that have elapsed since
+ * the Unix epoch (1 January 1970 00:00:00 UTC).
+ *
+ * @static
+ * @memberOf _
+ * @since 2.4.0
+ * @category Date
+ * @returns {number} Returns the timestamp.
+ * @example
+ *
+ * _.defer(function(stamp) {
+ * console.log(_.now() - stamp);
+ * }, _.now());
+ * // => Logs the number of milliseconds it took for the deferred invocation.
+ */
+ var now = function() {
+ return root.Date.now();
+ };
+
+ /**
+ * Creates a debounced function that delays invoking `func` until after `wait`
+ * milliseconds have elapsed since the last time the debounced function was
+ * invoked. The debounced function comes with a `cancel` method to cancel
+ * delayed `func` invocations and a `flush` method to immediately invoke them.
+ * Provide `options` to indicate whether `func` should be invoked on the
+ * leading and/or trailing edge of the `wait` timeout. The `func` is invoked
+ * with the last arguments provided to the debounced function. Subsequent
+ * calls to the debounced function return the result of the last `func`
+ * invocation.
+ *
+ * **Note:** If `leading` and `trailing` options are `true`, `func` is
+ * invoked on the trailing edge of the timeout only if the debounced function
+ * is invoked more than once during the `wait` timeout.
+ *
+ * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred
+ * until to the next tick, similar to `setTimeout` with a timeout of `0`.
+ *
+ * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)
+ * for details over the differences between `_.debounce` and `_.throttle`.
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Function
+ * @param {Function} func The function to debounce.
+ * @param {number} [wait=0] The number of milliseconds to delay.
+ * @param {Object} [options={}] The options object.
+ * @param {boolean} [options.leading=false]
+ * Specify invoking on the leading edge of the timeout.
+ * @param {number} [options.maxWait]
+ * The maximum time `func` is allowed to be delayed before it's invoked.
+ * @param {boolean} [options.trailing=true]
+ * Specify invoking on the trailing edge of the timeout.
+ * @returns {Function} Returns the new debounced function.
+ * @example
+ *
+ * // Avoid costly calculations while the window size is in flux.
+ * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+ *
+ * // Invoke `sendMail` when clicked, debouncing subsequent calls.
+ * jQuery(element).on('click', _.debounce(sendMail, 300, {
+ * 'leading': true,
+ * 'trailing': false
+ * }));
+ *
+ * // Ensure `batchLog` is invoked once after 1 second of debounced calls.
+ * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });
+ * var source = new EventSource('/stream');
+ * jQuery(source).on('message', debounced);
+ *
+ * // Cancel the trailing debounced invocation.
+ * jQuery(window).on('popstate', debounced.cancel);
+ */
+ function debounce(func, wait, options) {
+ var lastArgs,
+ lastThis,
+ maxWait,
+ result,
+ timerId,
+ lastCallTime,
+ lastInvokeTime = 0,
+ leading = false,
+ maxing = false,
+ trailing = true;
+
+ if (typeof func != 'function') {
+ throw new TypeError(FUNC_ERROR_TEXT);
+ }
+ wait = toNumber(wait) || 0;
+ if (isObject(options)) {
+ leading = !!options.leading;
+ maxing = 'maxWait' in options;
+ maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
+ trailing = 'trailing' in options ? !!options.trailing : trailing;
+ }
+
+ function invokeFunc(time) {
+ var args = lastArgs,
+ thisArg = lastThis;
+
+ lastArgs = lastThis = undefined;
+ lastInvokeTime = time;
+ result = func.apply(thisArg, args);
+ return result;
+ }
+
+ function leadingEdge(time) {
+ // Reset any `maxWait` timer.
+ lastInvokeTime = time;
+ // Start the timer for the trailing edge.
+ timerId = setTimeout(timerExpired, wait);
+ // Invoke the leading edge.
+ return leading ? invokeFunc(time) : result;
+ }
+
+ function remainingWait(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime,
+ result = wait - timeSinceLastCall;
+
+ return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;
+ }
+
+ function shouldInvoke(time) {
+ var timeSinceLastCall = time - lastCallTime,
+ timeSinceLastInvoke = time - lastInvokeTime;
+
+ // Either this is the first call, activity has stopped and we're at the
+ // trailing edge, the system time has gone backwards and we're treating
+ // it as the trailing edge, or we've hit the `maxWait` limit.
+ return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||
+ (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));
+ }
+
+ function timerExpired() {
+ var time = now();
+ if (shouldInvoke(time)) {
+ return trailingEdge(time);
+ }
+ // Restart the timer.
+ timerId = setTimeout(timerExpired, remainingWait(time));
+ }
+
+ function trailingEdge(time) {
+ timerId = undefined;
+
+ // Only invoke if we have `lastArgs` which means `func` has been
+ // debounced at least once.
+ if (trailing && lastArgs) {
+ return invokeFunc(time);
+ }
+ lastArgs = lastThis = undefined;
+ return result;
+ }
+
+ function cancel() {
+ if (timerId !== undefined) {
+ clearTimeout(timerId);
+ }
+ lastInvokeTime = 0;
+ lastArgs = lastCallTime = lastThis = timerId = undefined;
+ }
+
+ function flush() {
+ return timerId === undefined ? result : trailingEdge(now());
+ }
+
+ function debounced() {
+ var time = now(),
+ isInvoking = shouldInvoke(time);
+
+ lastArgs = arguments;
+ lastThis = this;
+ lastCallTime = time;
+
+ if (isInvoking) {
+ if (timerId === undefined) {
+ return leadingEdge(lastCallTime);
+ }
+ if (maxing) {
+ // Handle invocations in a tight loop.
+ timerId = setTimeout(timerExpired, wait);
+ return invokeFunc(lastCallTime);
+ }
+ }
+ if (timerId === undefined) {
+ timerId = setTimeout(timerExpired, wait);
+ }
+ return result;
+ }
+ debounced.cancel = cancel;
+ debounced.flush = flush;
+ return debounced;
+ }
+
+ /**
+ * Checks if `value` is the
+ * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)
+ * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+ *
+ * @static
+ * @memberOf _
+ * @since 0.1.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+ * @example
+ *
+ * _.isObject({});
+ * // => true
+ *
+ * _.isObject([1, 2, 3]);
+ * // => true
+ *
+ * _.isObject(_.noop);
+ * // => true
+ *
+ * _.isObject(null);
+ * // => false
+ */
+ function isObject(value) {
+ var type = typeof value;
+ return !!value && (type == 'object' || type == 'function');
+ }
+
+ /**
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
+ * and has a `typeof` result of "object".
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+ * @example
+ *
+ * _.isObjectLike({});
+ * // => true
+ *
+ * _.isObjectLike([1, 2, 3]);
+ * // => true
+ *
+ * _.isObjectLike(_.noop);
+ * // => false
+ *
+ * _.isObjectLike(null);
+ * // => false
+ */
+ function isObjectLike(value) {
+ return !!value && typeof value == 'object';
+ }
+
+ /**
+ * Checks if `value` is classified as a `Symbol` primitive or object.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.
+ * @example
+ *
+ * _.isSymbol(Symbol.iterator);
+ * // => true
+ *
+ * _.isSymbol('abc');
+ * // => false
+ */
+ function isSymbol(value) {
+ return typeof value == 'symbol' ||
+ (isObjectLike(value) && objectToString.call(value) == symbolTag);
+ }
+
+ /**
+ * Converts `value` to a number.
+ *
+ * @static
+ * @memberOf _
+ * @since 4.0.0
+ * @category Lang
+ * @param {*} value The value to process.
+ * @returns {number} Returns the number.
+ * @example
+ *
+ * _.toNumber(3.2);
+ * // => 3.2
+ *
+ * _.toNumber(Number.MIN_VALUE);
+ * // => 5e-324
+ *
+ * _.toNumber(Infinity);
+ * // => Infinity
+ *
+ * _.toNumber('3.2');
+ * // => 3.2
+ */
+ function toNumber(value) {
+ if (typeof value == 'number') {
+ return value;
+ }
+ if (isSymbol(value)) {
+ return NAN;
+ }
+ if (isObject(value)) {
+ var other = typeof value.valueOf == 'function' ? value.valueOf() : value;
+ value = isObject(other) ? (other + '') : other;
+ }
+ if (typeof value != 'string') {
+ return value === 0 ? value : +value;
+ }
+ value = value.replace(reTrim, '');
+ var isBinary = reIsBinary.test(value);
+ return (isBinary || reIsOctal.test(value))
+ ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
+ : (reIsBadHex.test(value) ? NAN : +value);
+ }
+
+ module.exports = debounce;
+
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
+
+/***/ },
+/* 181 */,
+/* 182 */
+/***/ function(module, exports) {
+
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var pacSelectFirst = exports.pacSelectFirst = function pacSelectFirst(input) {
+ // store the original event binding function
+ var _addEventListener = input.addEventListener ? input.addEventListener : input.attachEvent;
+
+ function addEventListenerWrapper(type, listener) {
+ // Simulate a 'down arrow' keypress on hitting 'return' when no pac suggestion is selected,
+ // and then trigger the original listener.
+ if (type == "keydown") {
+ var orig_listener = listener;
+ listener = function listener(event) {
+ var suggestion_selected = $(".pac-item-selected").length > 0;
+ if (event.which == 13 && !suggestion_selected) {
+ var simulated_downarrow = $.Event("keydown", {
+ keyCode: 40,
+ which: 40
+ });
+ orig_listener.apply(input, [simulated_downarrow]);
+ }
+
+ orig_listener.apply(input, [event]);
+ };
+ }
+
+ _addEventListener.apply(input, [type, listener]);
+ }
+
+ input.addEventListener = addEventListenerWrapper;
+ input.attachEvent = addEventListenerWrapper;
+ };
+
+/***/ },
+/* 183 */
+/***/ function(module, exports, __webpack_require__) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ exports.loadProperties = undefined;
+
+ var _isomorphicFetch = __webpack_require__(184);
+
+ var _isomorphicFetch2 = _interopRequireDefault(_isomorphicFetch);
+
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+ var loadProperties = exports.loadProperties = function loadProperties(_ref) {
+ var bounds = _ref.bounds,
+ _ref$minPrice = _ref.minPrice,
+ minPrice = _ref$minPrice === undefined ? 0 : _ref$minPrice;
+
+ // TODO: handle errors
+ //return fetch(process.env.API_URL + '/api/search', {
+ return (0, _isomorphicFetch2.default)('http://localhost:3001/api/search?bounds=' + bounds + '&minPrice=' + minPrice, {
+ //credentials: 'include'
+ });
+
+ //const body = await res.text();
+ //return JSON.parse(body);
+ };
+
+/***/ },
+/* 184 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // the whatwg-fetch polyfill installs the fetch() function
+ // on the global object (window or self)
+ //
+ // Return that as the export for use in Webpack, Browserify etc.
+ __webpack_require__(185);
+ module.exports = self.fetch.bind(self);
+
+
+/***/ },
+/* 185 */
+/***/ function(module, exports) {
+
+ (function(self) {
+ 'use strict';
+
+ if (self.fetch) {
+ return
+ }
+
+ var support = {
+ searchParams: 'URLSearchParams' in self,
+ iterable: 'Symbol' in self && 'iterator' in Symbol,
+ blob: 'FileReader' in self && 'Blob' in self && (function() {
+ try {
+ new Blob()
+ return true
+ } catch(e) {
+ return false
+ }
+ })(),
+ formData: 'FormData' in self,
+ arrayBuffer: 'ArrayBuffer' in self
+ }
+
+ function normalizeName(name) {
+ if (typeof name !== 'string') {
+ name = String(name)
+ }
+ if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) {
+ throw new TypeError('Invalid character in header field name')
+ }
+ return name.toLowerCase()
+ }
+
+ function normalizeValue(value) {
+ if (typeof value !== 'string') {
+ value = String(value)
+ }
+ return value
+ }
+
+ // Build a destructive iterator for the value list
+ function iteratorFor(items) {
+ var iterator = {
+ next: function() {
+ var value = items.shift()
+ return {done: value === undefined, value: value}
+ }
+ }
+
+ if (support.iterable) {
+ iterator[Symbol.iterator] = function() {
+ return iterator
+ }
+ }
+
+ return iterator
+ }
+
+ function Headers(headers) {
+ this.map = {}
+
+ if (headers instanceof Headers) {
+ headers.forEach(function(value, name) {
+ this.append(name, value)
+ }, this)
+
+ } else if (headers) {
+ Object.getOwnPropertyNames(headers).forEach(function(name) {
+ this.append(name, headers[name])
+ }, this)
+ }
+ }
+
+ Headers.prototype.append = function(name, value) {
+ name = normalizeName(name)
+ value = normalizeValue(value)
+ var list = this.map[name]
+ if (!list) {
+ list = []
+ this.map[name] = list
+ }
+ list.push(value)
+ }
+
+ Headers.prototype['delete'] = function(name) {
+ delete this.map[normalizeName(name)]
+ }
+
+ Headers.prototype.get = function(name) {
+ var values = this.map[normalizeName(name)]
+ return values ? values[0] : null
+ }
+
+ Headers.prototype.getAll = function(name) {
+ return this.map[normalizeName(name)] || []
+ }
+
+ Headers.prototype.has = function(name) {
+ return this.map.hasOwnProperty(normalizeName(name))
+ }
+
+ Headers.prototype.set = function(name, value) {
+ this.map[normalizeName(name)] = [normalizeValue(value)]
+ }
+
+ Headers.prototype.forEach = function(callback, thisArg) {
+ Object.getOwnPropertyNames(this.map).forEach(function(name) {
+ this.map[name].forEach(function(value) {
+ callback.call(thisArg, value, name, this)
+ }, this)
+ }, this)
+ }
+
+ Headers.prototype.keys = function() {
+ var items = []
+ this.forEach(function(value, name) { items.push(name) })
+ return iteratorFor(items)
+ }
+
+ Headers.prototype.values = function() {
+ var items = []
+ this.forEach(function(value) { items.push(value) })
+ return iteratorFor(items)
+ }
+
+ Headers.prototype.entries = function() {
+ var items = []
+ this.forEach(function(value, name) { items.push([name, value]) })
+ return iteratorFor(items)
+ }
+
+ if (support.iterable) {
+ Headers.prototype[Symbol.iterator] = Headers.prototype.entries
+ }
+
+ function consumed(body) {
+ if (body.bodyUsed) {
+ return Promise.reject(new TypeError('Already read'))
+ }
+ body.bodyUsed = true
+ }
+
+ function fileReaderReady(reader) {
+ return new Promise(function(resolve, reject) {
+ reader.onload = function() {
+ resolve(reader.result)
+ }
+ reader.onerror = function() {
+ reject(reader.error)
+ }
+ })
+ }
+
+ function readBlobAsArrayBuffer(blob) {
+ var reader = new FileReader()
+ reader.readAsArrayBuffer(blob)
+ return fileReaderReady(reader)
+ }
+
+ function readBlobAsText(blob) {
+ var reader = new FileReader()
+ reader.readAsText(blob)
+ return fileReaderReady(reader)
+ }
+
+ function Body() {
+ this.bodyUsed = false
+
+ this._initBody = function(body) {
+ this._bodyInit = body
+ if (typeof body === 'string') {
+ this._bodyText = body
+ } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
+ this._bodyBlob = body
+ } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {
+ this._bodyFormData = body
+ } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
+ this._bodyText = body.toString()
+ } else if (!body) {
+ this._bodyText = ''
+ } else if (support.arrayBuffer && ArrayBuffer.prototype.isPrototypeOf(body)) {
+ // Only support ArrayBuffers for POST method.
+ // Receiving ArrayBuffers happens via Blobs, instead.
+ } else {
+ throw new Error('unsupported BodyInit type')
+ }
+
+ if (!this.headers.get('content-type')) {
+ if (typeof body === 'string') {
+ this.headers.set('content-type', 'text/plain;charset=UTF-8')
+ } else if (this._bodyBlob && this._bodyBlob.type) {
+ this.headers.set('content-type', this._bodyBlob.type)
+ } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
+ this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')
+ }
+ }
+ }
+
+ if (support.blob) {
+ this.blob = function() {
+ var rejected = consumed(this)
+ if (rejected) {
+ return rejected
+ }
+
+ if (this._bodyBlob) {
+ return Promise.resolve(this._bodyBlob)
+ } else if (this._bodyFormData) {
+ throw new Error('could not read FormData body as blob')
+ } else {
+ return Promise.resolve(new Blob([this._bodyText]))
+ }
+ }
+
+ this.arrayBuffer = function() {
+ return this.blob().then(readBlobAsArrayBuffer)
+ }
+
+ this.text = function() {
+ var rejected = consumed(this)
+ if (rejected) {
+ return rejected
+ }
+
+ if (this._bodyBlob) {
+ return readBlobAsText(this._bodyBlob)
+ } else if (this._bodyFormData) {
+ throw new Error('could not read FormData body as text')
+ } else {
+ return Promise.resolve(this._bodyText)
+ }
+ }
+ } else {
+ this.text = function() {
+ var rejected = consumed(this)
+ return rejected ? rejected : Promise.resolve(this._bodyText)
+ }
+ }
+
+ if (support.formData) {
+ this.formData = function() {
+ return this.text().then(decode)
+ }
+ }
+
+ this.json = function() {
+ return this.text().then(JSON.parse)
+ }
+
+ return this
+ }
+
+ // HTTP methods whose capitalization should be normalized
+ var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']
+
+ function normalizeMethod(method) {
+ var upcased = method.toUpperCase()
+ return (methods.indexOf(upcased) > -1) ? upcased : method
+ }
+
+ function Request(input, options) {
+ options = options || {}
+ var body = options.body
+ if (Request.prototype.isPrototypeOf(input)) {
+ if (input.bodyUsed) {
+ throw new TypeError('Already read')
+ }
+ this.url = input.url
+ this.credentials = input.credentials
+ if (!options.headers) {
+ this.headers = new Headers(input.headers)
+ }
+ this.method = input.method
+ this.mode = input.mode
+ if (!body) {
+ body = input._bodyInit
+ input.bodyUsed = true
+ }
+ } else {
+ this.url = input
+ }
+
+ this.credentials = options.credentials || this.credentials || 'omit'
+ if (options.headers || !this.headers) {
+ this.headers = new Headers(options.headers)
+ }
+ this.method = normalizeMethod(options.method || this.method || 'GET')
+ this.mode = options.mode || this.mode || null
+ this.referrer = null
+
+ if ((this.method === 'GET' || this.method === 'HEAD') && body) {
+ throw new TypeError('Body not allowed for GET or HEAD requests')
+ }
+ this._initBody(body)
+ }
+
+ Request.prototype.clone = function() {
+ return new Request(this)
+ }
+
+ function decode(body) {
+ var form = new FormData()
+ body.trim().split('&').forEach(function(bytes) {
+ if (bytes) {
+ var split = bytes.split('=')
+ var name = split.shift().replace(/\+/g, ' ')
+ var value = split.join('=').replace(/\+/g, ' ')
+ form.append(decodeURIComponent(name), decodeURIComponent(value))
+ }
+ })
+ return form
+ }
+
+ function headers(xhr) {
+ var head = new Headers()
+ var pairs = (xhr.getAllResponseHeaders() || '').trim().split('\n')
+ pairs.forEach(function(header) {
+ var split = header.trim().split(':')
+ var key = split.shift().trim()
+ var value = split.join(':').trim()
+ head.append(key, value)
+ })
+ return head
+ }
+
+ Body.call(Request.prototype)
+
+ function Response(bodyInit, options) {
+ if (!options) {
+ options = {}
+ }
+
+ this.type = 'default'
+ this.status = options.status
+ this.ok = this.status >= 200 && this.status < 300
+ this.statusText = options.statusText
+ this.headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers)
+ this.url = options.url || ''
+ this._initBody(bodyInit)
+ }
+
+ Body.call(Response.prototype)
+
+ Response.prototype.clone = function() {
+ return new Response(this._bodyInit, {
+ status: this.status,
+ statusText: this.statusText,
+ headers: new Headers(this.headers),
+ url: this.url
+ })
+ }
+
+ Response.error = function() {
+ var response = new Response(null, {status: 0, statusText: ''})
+ response.type = 'error'
+ return response
+ }
+
+ var redirectStatuses = [301, 302, 303, 307, 308]
+
+ Response.redirect = function(url, status) {
+ if (redirectStatuses.indexOf(status) === -1) {
+ throw new RangeError('Invalid status code')
+ }
+
+ return new Response(null, {status: status, headers: {location: url}})
+ }
+
+ self.Headers = Headers
+ self.Request = Request
+ self.Response = Response
+
+ self.fetch = function(input, init) {
+ return new Promise(function(resolve, reject) {
+ var request
+ if (Request.prototype.isPrototypeOf(input) && !init) {
+ request = input
+ } else {
+ request = new Request(input, init)
+ }
+
+ var xhr = new XMLHttpRequest()
+
+ function responseURL() {
+ if ('responseURL' in xhr) {
+ return xhr.responseURL
+ }
+
+ // Avoid security warnings on getResponseHeader when not allowed by CORS
+ if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
+ return xhr.getResponseHeader('X-Request-URL')
+ }
+
+ return
+ }
+
+ xhr.onload = function() {
+ var options = {
+ status: xhr.status,
+ statusText: xhr.statusText,
+ headers: headers(xhr),
+ url: responseURL()
+ }
+ var body = 'response' in xhr ? xhr.response : xhr.responseText
+ resolve(new Response(body, options))
+ }
+
+ xhr.onerror = function() {
+ reject(new TypeError('Network request failed'))
+ }
+
+ xhr.ontimeout = function() {
+ reject(new TypeError('Network request failed'))
+ }
+
+ xhr.open(request.method, request.url, true)
+
+ if (request.credentials === 'include') {
+ xhr.withCredentials = true
+ }
+
+ if ('responseType' in xhr && support.blob) {
+ xhr.responseType = 'blob'
+ }
+
+ request.headers.forEach(function(value, name) {
+ xhr.setRequestHeader(name, value)
+ })
+
+ xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)
+ })
+ }
+ self.fetch.polyfill = true
+ })(typeof self !== 'undefined' ? self : this);
+
+
+/***/ },
+/* 186 */
+/***/ function(module, exports) {
+
+ 'use strict';
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true
+ });
+ var setMinPrice = function setMinPrice(_ref, component) {
+ var type = _ref.type,
+ action = _ref.action;
+
+ component.setState({
+ filters: {
+ minPrice: parseFloat(action.minPrice) || 0
+ }
+ });
+ };
+
+ var viewListingDetails = function viewListingDetails(_ref2, component) {
+ var type = _ref2.type,
+ action = _ref2.action;
+
+ component.setState({
+ listingDetails: true,
+ listingId: action.id,
+ descriptionExpanded: false
+ });
+ };
+
+ var listingsLoaded = function listingsLoaded(_ref3, component) {
+ var type = _ref3.type,
+ action = _ref3.action;
+
+ component.setState({
+ listings: action.listings
+ });
+ };
+
+ var expandDescription = function expandDescription(_ref4, component) {
+ var type = _ref4.type,
+ action = _ref4.action;
+
+ component.setState({
+ descriptionExpanded: true
+ });
+ };
+
+ var handlers = {
+ 'SET_MIN_PRICE': setMinPrice,
+ 'LISTINGS_LOADED': listingsLoaded,
+ 'EXPAND_DESCRIPTION': expandDescription,
+ 'VIEW_LISTING_DETAILS': viewListingDetails
+ };
+
+ var handleMessage = exports.handleMessage = function handleMessage(_ref5, component) {
+ var type = _ref5.type,
+ action = _ref5.action;
+
+
+ if (!handlers[type]) {
+ throw new ('Unhandled message: ' + type)();
+ }
+
+ return handlers[type]({ type: type, action: action }, component);
+ };
/***/ }
/******/ ]);
\ No newline at end of file
diff --git a/web/dist/main.css b/web/dist/main.css
index 8608b62..7a32694 100644
--- a/web/dist/main.css
+++ b/web/dist/main.css
@@ -596,15 +596,69 @@ html {
margin-top: 15px;
}
+.image-dots {
+ position: absolute;
+ bottom: 10px;
+ width: 100%;
+}
+
+.image-dot {
+ width: 12px;
+ height: 12px;
+ margin: 0 5px;
+ display: inline-block;
+ border-radius: 50%;
+ cursor: pointer;
+
+ background-color: transparent;
+ border: 1px solid #fff;
+ box-shadow: 0 1px 0 #1a1a1a;
+}
+
+.image-dot.selected {
+ background: #fff;
+}
+
.ld-image-container {
height: 375px;
width: 500px;
text-align: center;
+ position: relative;
+ user-select: none;
+}
+
+.ld-image-container .prev-button {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ height: 100%;
+ width: 50%;
+}
+
+.ld-image-container .next-button {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ height: 100%;
+ width: 50%;
+}
+
+.ld-image-container .prev-button div,
+.ld-image-container .next-button div {
+ width: 50px;
+ position: absolute;
+ top: 40%;
+}
+
+.ld-image-container .next-button div {
+ right: 0px;
}
.ld-image-container img {
- width: 100%;
- height: 100%;
+ /*width: 100%;*/
+ /*height: 100%;*/
+ max-height: 375px;
+ max-width: 500px;
}
.ld-price-address-box {
@@ -672,6 +726,9 @@ html {
background-image: #fff;
background-image: -webkit-gradient(bottom,from(#fff),to(hsla(0,0%,100%,0)));
background-image: -webkit-linear-gradient(bottom,#fff,hsla(0,0%,100%,0));
+
+ background-image: -moz-gradient(bottom,from(#fff),to(hsla(0,0%,100%,0)));
+ background-image: -moz-linear-gradient(bottom,#fff,hsla(0,0%,100%,0));
}
.ld-check-availability {
diff --git a/web/lib/handlers.js b/web/lib/handlers.js
index c8333f3..7baa7cf 100644
--- a/web/lib/handlers.js
+++ b/web/lib/handlers.js
@@ -10,13 +10,20 @@ const viewListingDetails= ({type, action}, component) => {
component.setState({
listingDetails: true,
listingId: action.id,
- descriptionExpanded: false
+ descriptionExpanded: false,
+ imageIndex: 0
})
}
const listingsLoaded = ({type, action}, component) => {
+ const currentListings = component.state.listings;
+
+ for(const listing of action.listings) {
+ currentListings.set(listing.url, listing)
+ }
+
component.setState({
- listings: action.listings
+ listings: currentListings
});
}
@@ -26,10 +33,35 @@ const expandDescription = ({type, action}, component) => {
});
}
+const prevImage = ({type, action}, component) => {
+ const index = component.state.imageIndex;
+ if (index > 0) {
+ component.setState({
+ imageIndex: index - 1
+ });
+ }
+}
+
+const nextImage = ({type, action}, component) => {
+ const index = component.state.imageIndex;
+ component.setState({
+ imageIndex: index + 1
+ });
+}
+
+const viewImage = ({type, action}, component) => {
+ component.setState({
+ imageIndex: action.index
+ });
+}
+
const handlers = {
'SET_MIN_PRICE': setMinPrice,
'LISTINGS_LOADED': listingsLoaded,
'EXPAND_DESCRIPTION': expandDescription,
+ 'PREV_IMAGE': prevImage,
+ 'NEXT_IMAGE': nextImage,
+ 'VIEW_IMAGE': viewImage,
'VIEW_LISTING_DETAILS': viewListingDetails
}
diff --git a/web/package.json b/web/package.json
index 8207531..522e576 100644
--- a/web/package.json
+++ b/web/package.json
@@ -10,15 +10,14 @@
"author": "",
"license": "ISC",
"dependencies": {
+ "react": "^15.3.2",
+ "react-dom": "^15.3.2"
+ },
+ "devDependencies": {
"babel-core": "^6.18.2",
"babel-loader": "^6.2.7",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
- "react": "^15.3.2",
- "react-dom": "^15.3.2",
- "react-image-gallery": "^0.7.15"
- },
- "devDependencies": {
"webpack": "^1.13.3",
"webpack-dev-server": "^1.16.2"
}
diff --git a/web/yarn.lock b/web/yarn.lock
index b511bc4..c85d506 100644
--- a/web/yarn.lock
+++ b/web/yarn.lock
@@ -1,8 +1,8 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
abbrev@1:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
accepts@~1.3.3:
version "1.3.3"
@@ -15,6 +15,13 @@ acorn@^3.0.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+ajv@^4.9.1:
+ version "4.11.5"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.5.tgz#b6ee74657b993a01dce44b7944d56f485828d5bd"
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
@@ -28,8 +35,8 @@ amdefine@>=0.0.4:
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
ansi-regex@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
ansi-styles@^2.2.1:
version "2.2.1"
@@ -43,8 +50,8 @@ anymatch@^1.3.0:
micromatch "^2.1.5"
aproba@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab"
are-we-there-yet@~1.1.2:
version "1.1.2"
@@ -87,7 +94,7 @@ assert-plus@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-assert-plus@^1.0.0:
+assert-plus@^1.0.0, assert-plus@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
@@ -122,30 +129,30 @@ aws-sign2@~0.6.0:
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
aws4@^1.2.1:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755"
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-babel-code-frame@^6.16.0:
- version "6.16.0"
- resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.16.0.tgz#f90e60da0862909d3ce098733b5d3987c97cb8de"
+babel-code-frame@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.22.0.tgz#027620bee567a88c32561574e7fd0801d33118e4"
dependencies:
chalk "^1.1.0"
esutils "^2.0.2"
- js-tokens "^2.0.0"
+ js-tokens "^3.0.0"
-babel-core, babel-core@^6.18.0:
- version "6.18.2"
- resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.18.2.tgz#d8bb14dd6986fa4f3566a26ceda3964fa0e04e5b"
+babel-core@^6.18.2, babel-core@^6.24.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.0.tgz#8f36a0a77f5c155aed6f920b844d23ba56742a02"
dependencies:
- babel-code-frame "^6.16.0"
- babel-generator "^6.18.0"
- babel-helpers "^6.16.0"
- babel-messages "^6.8.0"
- babel-register "^6.18.0"
- babel-runtime "^6.9.1"
- babel-template "^6.16.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-code-frame "^6.22.0"
+ babel-generator "^6.24.0"
+ babel-helpers "^6.23.0"
+ babel-messages "^6.23.0"
+ babel-register "^6.24.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-traverse "^6.23.1"
+ babel-types "^6.23.0"
babylon "^6.11.0"
convert-source-map "^1.1.0"
debug "^2.1.1"
@@ -157,124 +164,125 @@ babel-core, babel-core@^6.18.0:
slash "^1.0.0"
source-map "^0.5.0"
-babel-generator@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.18.0.tgz#e4f104cb3063996d9850556a45aae4a022060a07"
+babel-generator@^6.24.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.0.tgz#eba270a8cc4ce6e09a61be43465d7c62c1f87c56"
dependencies:
- babel-messages "^6.8.0"
- babel-runtime "^6.9.0"
- babel-types "^6.18.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.23.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.2.0"
source-map "^0.5.0"
+ trim-right "^1.0.1"
-babel-helper-builder-react-jsx@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.18.0.tgz#ab02f19a2eb7ace936dd87fa55896d02be59bf71"
+babel-helper-builder-react-jsx@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.23.0.tgz#d53fc8c996e0bc56d0de0fc4cc55a7138395ea4b"
dependencies:
- babel-runtime "^6.9.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.23.0"
esutils "^2.0.0"
lodash "^4.2.0"
-babel-helper-call-delegate@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.18.0.tgz#05b14aafa430884b034097ef29e9f067ea4133bd"
+babel-helper-call-delegate@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.22.0.tgz#119921b56120f17e9dae3f74b4f5cc7bcc1b37ef"
dependencies:
- babel-helper-hoist-variables "^6.18.0"
- babel-runtime "^6.0.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-helper-hoist-variables "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.22.0"
+ babel-types "^6.22.0"
-babel-helper-define-map@^6.18.0, babel-helper-define-map@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.18.0.tgz#8d6c85dc7fbb4c19be3de40474d18e97c3676ec2"
+babel-helper-define-map@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.23.0.tgz#1444f960c9691d69a2ced6a205315f8fd00804e7"
dependencies:
- babel-helper-function-name "^6.18.0"
- babel-runtime "^6.9.0"
- babel-types "^6.18.0"
+ babel-helper-function-name "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.23.0"
lodash "^4.2.0"
-babel-helper-function-name@^6.18.0, babel-helper-function-name@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.18.0.tgz#68ec71aeba1f3e28b2a6f0730190b754a9bf30e6"
+babel-helper-function-name@^6.22.0, babel-helper-function-name@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.23.0.tgz#25742d67175c8903dbe4b6cb9d9e1fcb8dcf23a6"
dependencies:
- babel-helper-get-function-arity "^6.18.0"
- babel-runtime "^6.0.0"
- babel-template "^6.8.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-helper-get-function-arity "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-traverse "^6.23.0"
+ babel-types "^6.23.0"
-babel-helper-get-function-arity@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.18.0.tgz#a5b19695fd3f9cdfc328398b47dafcd7094f9f24"
+babel-helper-get-function-arity@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.22.0.tgz#0beb464ad69dc7347410ac6ade9f03a50634f5ce"
dependencies:
- babel-runtime "^6.0.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-helper-hoist-variables@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.18.0.tgz#a835b5ab8b46d6de9babefae4d98ea41e866b82a"
+babel-helper-hoist-variables@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.22.0.tgz#3eacbf731d80705845dd2e9718f600cfb9b4ba72"
dependencies:
- babel-runtime "^6.0.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-helper-optimise-call-expression@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.18.0.tgz#9261d0299ee1a4f08a6dd28b7b7c777348fd8f0f"
+babel-helper-optimise-call-expression@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.23.0.tgz#f3ee7eed355b4282138b33d02b78369e470622f5"
dependencies:
- babel-runtime "^6.0.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.23.0"
-babel-helper-regex@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.18.0.tgz#ae0ebfd77de86cb2f1af258e2cc20b5fe893ecc6"
+babel-helper-regex@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.22.0.tgz#79f532be1647b1f0ee3474b5f5c3da58001d247d"
dependencies:
- babel-runtime "^6.9.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
lodash "^4.2.0"
-babel-helper-replace-supers@^6.18.0, babel-helper-replace-supers@^6.8.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.18.0.tgz#28ec69877be4144dbd64f4cc3a337e89f29a924e"
+babel-helper-replace-supers@^6.22.0, babel-helper-replace-supers@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.23.0.tgz#eeaf8ad9b58ec4337ca94223bacdca1f8d9b4bfd"
dependencies:
- babel-helper-optimise-call-expression "^6.18.0"
- babel-messages "^6.8.0"
- babel-runtime "^6.0.0"
- babel-template "^6.16.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-helper-optimise-call-expression "^6.23.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-traverse "^6.23.0"
+ babel-types "^6.23.0"
-babel-helpers@^6.16.0:
- version "6.16.0"
- resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.16.0.tgz#1095ec10d99279460553e67eb3eee9973d3867e3"
+babel-helpers@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.23.0.tgz#4f8f2e092d0b6a8808a4bde79c27f1e2ecf0d992"
dependencies:
- babel-runtime "^6.0.0"
- babel-template "^6.16.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
-babel-loader:
- version "6.2.7"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.2.7.tgz#16fdbf64328030dc5a606827d389c8b92a2a8032"
+babel-loader@^6.2.7:
+ version "6.4.1"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca"
dependencies:
find-cache-dir "^0.1.1"
- loader-utils "^0.2.11"
+ loader-utils "^0.2.16"
mkdirp "^0.5.1"
object-assign "^4.0.1"
-babel-messages@^6.8.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.8.0.tgz#bf504736ca967e6d65ef0adb5a2a5f947c8e0eb9"
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-check-es2015-constants@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.8.0.tgz#dbf024c32ed37bfda8dee1e76da02386a8d26fe7"
+babel-plugin-check-es2015-constants@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-syntax-flow@^6.18.0, babel-plugin-syntax-flow@^6.3.13:
+babel-plugin-syntax-flow@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d"
@@ -282,321 +290,323 @@ babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
-babel-plugin-transform-es2015-arrow-functions@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.8.0.tgz#5b63afc3181bdc9a8c4d481b5a4f3f7d7fef3d9d"
+babel-plugin-transform-es2015-arrow-functions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-block-scoped-functions@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.8.0.tgz#ed95d629c4b5a71ae29682b998f70d9833eb366d"
+babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-block-scoping@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.18.0.tgz#3bfdcfec318d46df22525cdea88f1978813653af"
+babel-plugin-transform-es2015-block-scoping@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.23.0.tgz#e48895cf0b375be148cd7c8879b422707a053b51"
dependencies:
- babel-runtime "^6.9.0"
- babel-template "^6.15.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-traverse "^6.23.0"
+ babel-types "^6.23.0"
lodash "^4.2.0"
-babel-plugin-transform-es2015-classes@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.18.0.tgz#ffe7a17321bf83e494dcda0ae3fc72df48ffd1d9"
+babel-plugin-transform-es2015-classes@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.23.0.tgz#49b53f326202a2fd1b3bbaa5e2edd8a4f78643c1"
dependencies:
- babel-helper-define-map "^6.18.0"
- babel-helper-function-name "^6.18.0"
- babel-helper-optimise-call-expression "^6.18.0"
- babel-helper-replace-supers "^6.18.0"
- babel-messages "^6.8.0"
- babel-runtime "^6.9.0"
- babel-template "^6.14.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-helper-define-map "^6.23.0"
+ babel-helper-function-name "^6.23.0"
+ babel-helper-optimise-call-expression "^6.23.0"
+ babel-helper-replace-supers "^6.23.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-traverse "^6.23.0"
+ babel-types "^6.23.0"
-babel-plugin-transform-es2015-computed-properties@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.8.0.tgz#f51010fd61b3bd7b6b60a5fdfd307bb7a5279870"
+babel-plugin-transform-es2015-computed-properties@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.22.0.tgz#7c383e9629bba4820c11b0425bdd6290f7f057e7"
dependencies:
- babel-helper-define-map "^6.8.0"
- babel-runtime "^6.0.0"
- babel-template "^6.8.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.22.0"
-babel-plugin-transform-es2015-destructuring@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.18.0.tgz#a08fb89415ab82058649558bedb7bf8dafa76ba5"
+babel-plugin-transform-es2015-destructuring@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
dependencies:
- babel-runtime "^6.9.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-duplicate-keys@^6.6.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.8.0.tgz#fd8f7f7171fc108cc1c70c3164b9f15a81c25f7d"
+babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.22.0.tgz#672397031c21610d72dd2bbb0ba9fb6277e1c36b"
dependencies:
- babel-runtime "^6.0.0"
- babel-types "^6.8.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-plugin-transform-es2015-for-of@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.18.0.tgz#4c517504db64bf8cfc119a6b8f177211f2028a70"
+babel-plugin-transform-es2015-for-of@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-function-name@^6.9.0:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.9.0.tgz#8c135b17dbd064e5bba56ec511baaee2fca82719"
+babel-plugin-transform-es2015-function-name@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.22.0.tgz#f5fcc8b09093f9a23c76ac3d9e392c3ec4b77104"
dependencies:
- babel-helper-function-name "^6.8.0"
- babel-runtime "^6.9.0"
- babel-types "^6.9.0"
+ babel-helper-function-name "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-plugin-transform-es2015-literals@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.8.0.tgz#50aa2e5c7958fc2ab25d74ec117e0cc98f046468"
+babel-plugin-transform-es2015-literals@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-modules-amd@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.18.0.tgz#49a054cbb762bdf9ae2d8a807076cfade6141e40"
+babel-plugin-transform-es2015-modules-amd@^6.24.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.0.tgz#a1911fb9b7ec7e05a43a63c5995007557bcf6a2e"
dependencies:
- babel-plugin-transform-es2015-modules-commonjs "^6.18.0"
- babel-runtime "^6.0.0"
- babel-template "^6.8.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.22.0"
-babel-plugin-transform-es2015-modules-commonjs@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.18.0.tgz#c15ae5bb11b32a0abdcc98a5837baa4ee8d67bcc"
+babel-plugin-transform-es2015-modules-commonjs@^6.24.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.0.tgz#e921aefb72c2cc26cb03d107626156413222134f"
dependencies:
- babel-plugin-transform-strict-mode "^6.18.0"
- babel-runtime "^6.0.0"
- babel-template "^6.16.0"
- babel-types "^6.18.0"
+ babel-plugin-transform-strict-mode "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-types "^6.23.0"
-babel-plugin-transform-es2015-modules-systemjs@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.18.0.tgz#f09294707163edae4d3b3e8bfacecd01d920b7ad"
+babel-plugin-transform-es2015-modules-systemjs@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.23.0.tgz#ae3469227ffac39b0310d90fec73bfdc4f6317b0"
dependencies:
- babel-helper-hoist-variables "^6.18.0"
- babel-runtime "^6.11.6"
- babel-template "^6.14.0"
+ babel-helper-hoist-variables "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
-babel-plugin-transform-es2015-modules-umd@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.18.0.tgz#23351770ece5c1f8e83ed67cb1d7992884491e50"
+babel-plugin-transform-es2015-modules-umd@^6.24.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.0.tgz#fd5fa63521cae8d273927c3958afd7c067733450"
dependencies:
- babel-plugin-transform-es2015-modules-amd "^6.18.0"
- babel-runtime "^6.0.0"
- babel-template "^6.8.0"
+ babel-plugin-transform-es2015-modules-amd "^6.24.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
-babel-plugin-transform-es2015-object-super@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.8.0.tgz#1b858740a5a4400887c23dcff6f4d56eea4a24c5"
+babel-plugin-transform-es2015-object-super@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.22.0.tgz#daa60e114a042ea769dd53fe528fc82311eb98fc"
dependencies:
- babel-helper-replace-supers "^6.8.0"
- babel-runtime "^6.0.0"
+ babel-helper-replace-supers "^6.22.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-parameters@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.18.0.tgz#9b2cfe238c549f1635ba27fc1daa858be70608b1"
+babel-plugin-transform-es2015-parameters@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.23.0.tgz#3a2aabb70c8af945d5ce386f1a4250625a83ae3b"
dependencies:
- babel-helper-call-delegate "^6.18.0"
- babel-helper-get-function-arity "^6.18.0"
- babel-runtime "^6.9.0"
- babel-template "^6.16.0"
- babel-traverse "^6.18.0"
- babel-types "^6.18.0"
+ babel-helper-call-delegate "^6.22.0"
+ babel-helper-get-function-arity "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-template "^6.23.0"
+ babel-traverse "^6.23.0"
+ babel-types "^6.23.0"
-babel-plugin-transform-es2015-shorthand-properties@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.18.0.tgz#e2ede3b7df47bf980151926534d1dd0cbea58f43"
+babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.22.0.tgz#8ba776e0affaa60bff21e921403b8a652a2ff723"
dependencies:
- babel-runtime "^6.0.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-plugin-transform-es2015-spread@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.8.0.tgz#0217f737e3b821fa5a669f187c6ed59205f05e9c"
+babel-plugin-transform-es2015-spread@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-sticky-regex@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.8.0.tgz#e73d300a440a35d5c64f5c2a344dc236e3df47be"
+babel-plugin-transform-es2015-sticky-regex@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.22.0.tgz#ab316829e866ee3f4b9eb96939757d19a5bc4593"
dependencies:
- babel-helper-regex "^6.8.0"
- babel-runtime "^6.0.0"
- babel-types "^6.8.0"
+ babel-helper-regex "^6.22.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-plugin-transform-es2015-template-literals@^6.6.0:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.8.0.tgz#86eb876d0a2c635da4ec048b4f7de9dfc897e66b"
+babel-plugin-transform-es2015-template-literals@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-typeof-symbol@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.18.0.tgz#0b14c48629c90ff47a0650077f6aa699bee35798"
+babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-es2015-unicode-regex@^6.3.13:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.11.0.tgz#6298ceabaad88d50a3f4f392d8de997260f6ef2c"
+babel-plugin-transform-es2015-unicode-regex@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.22.0.tgz#8d9cc27e7ee1decfe65454fb986452a04a613d20"
dependencies:
- babel-helper-regex "^6.8.0"
- babel-runtime "^6.0.0"
+ babel-helper-regex "^6.22.0"
+ babel-runtime "^6.22.0"
regexpu-core "^2.0.0"
-babel-plugin-transform-flow-strip-types@^6.3.13:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.18.0.tgz#4d3e642158661e9b40db457c004a30817fa32592"
+babel-plugin-transform-flow-strip-types@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf"
dependencies:
babel-plugin-syntax-flow "^6.18.0"
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-react-display-name@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.8.0.tgz#f7a084977383d728bdbdc2835bba0159577f660e"
+babel-plugin-transform-react-display-name@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.23.0.tgz#4398910c358441dc4cef18787264d0412ed36b37"
dependencies:
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-react-jsx-self@^6.11.0:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.11.0.tgz#605c9450c1429f97a930f7e1dfe3f0d9d0dbd0f4"
+babel-plugin-transform-react-jsx-self@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e"
dependencies:
babel-plugin-syntax-jsx "^6.8.0"
- babel-runtime "^6.9.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-react-jsx-source@^6.3.13:
- version "6.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.9.0.tgz#af684a05c2067a86e0957d4f343295ccf5dccf00"
+babel-plugin-transform-react-jsx-source@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6"
dependencies:
babel-plugin-syntax-jsx "^6.8.0"
- babel-runtime "^6.9.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-react-jsx@^6.3.13:
- version "6.8.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.8.0.tgz#94759942f70af18c617189aa7f3593f1644a71ab"
+babel-plugin-transform-react-jsx@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.23.0.tgz#23e892f7f2e759678eb5e4446a8f8e94e81b3470"
dependencies:
- babel-helper-builder-react-jsx "^6.8.0"
+ babel-helper-builder-react-jsx "^6.23.0"
babel-plugin-syntax-jsx "^6.8.0"
- babel-runtime "^6.0.0"
+ babel-runtime "^6.22.0"
-babel-plugin-transform-regenerator@^6.16.0:
- version "6.16.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.16.1.tgz#a75de6b048a14154aae14b0122756c5bed392f59"
+babel-plugin-transform-regenerator@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.22.0.tgz#65740593a319c44522157538d690b84094617ea6"
dependencies:
- babel-runtime "^6.9.0"
- babel-types "^6.16.0"
- private "~0.1.5"
+ regenerator-transform "0.9.8"
-babel-plugin-transform-strict-mode@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.18.0.tgz#df7cf2991fe046f44163dcd110d5ca43bc652b9d"
+babel-plugin-transform-strict-mode@^6.22.0:
+ version "6.22.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.22.0.tgz#e008df01340fdc87e959da65991b7e05970c8c7c"
dependencies:
- babel-runtime "^6.0.0"
- babel-types "^6.18.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.22.0"
-babel-preset-es2015:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.18.0.tgz#b8c70df84ec948c43dcf2bf770e988eb7da88312"
+babel-preset-es2015@^6.18.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.0.tgz#c162d68b1932696e036cd3110dc1ccd303d2673a"
dependencies:
- babel-plugin-check-es2015-constants "^6.3.13"
- babel-plugin-transform-es2015-arrow-functions "^6.3.13"
- babel-plugin-transform-es2015-block-scoped-functions "^6.3.13"
- babel-plugin-transform-es2015-block-scoping "^6.18.0"
- babel-plugin-transform-es2015-classes "^6.18.0"
- babel-plugin-transform-es2015-computed-properties "^6.3.13"
- babel-plugin-transform-es2015-destructuring "^6.18.0"
- babel-plugin-transform-es2015-duplicate-keys "^6.6.0"
- babel-plugin-transform-es2015-for-of "^6.18.0"
- babel-plugin-transform-es2015-function-name "^6.9.0"
- babel-plugin-transform-es2015-literals "^6.3.13"
- babel-plugin-transform-es2015-modules-amd "^6.18.0"
- babel-plugin-transform-es2015-modules-commonjs "^6.18.0"
- babel-plugin-transform-es2015-modules-systemjs "^6.18.0"
- babel-plugin-transform-es2015-modules-umd "^6.18.0"
- babel-plugin-transform-es2015-object-super "^6.3.13"
- babel-plugin-transform-es2015-parameters "^6.18.0"
- babel-plugin-transform-es2015-shorthand-properties "^6.18.0"
- babel-plugin-transform-es2015-spread "^6.3.13"
- babel-plugin-transform-es2015-sticky-regex "^6.3.13"
- babel-plugin-transform-es2015-template-literals "^6.6.0"
- babel-plugin-transform-es2015-typeof-symbol "^6.18.0"
- babel-plugin-transform-es2015-unicode-regex "^6.3.13"
- babel-plugin-transform-regenerator "^6.16.0"
+ babel-plugin-check-es2015-constants "^6.22.0"
+ babel-plugin-transform-es2015-arrow-functions "^6.22.0"
+ babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
+ babel-plugin-transform-es2015-block-scoping "^6.22.0"
+ babel-plugin-transform-es2015-classes "^6.22.0"
+ babel-plugin-transform-es2015-computed-properties "^6.22.0"
+ babel-plugin-transform-es2015-destructuring "^6.22.0"
+ babel-plugin-transform-es2015-duplicate-keys "^6.22.0"
+ babel-plugin-transform-es2015-for-of "^6.22.0"
+ babel-plugin-transform-es2015-function-name "^6.22.0"
+ babel-plugin-transform-es2015-literals "^6.22.0"
+ babel-plugin-transform-es2015-modules-amd "^6.24.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.0"
+ babel-plugin-transform-es2015-modules-systemjs "^6.22.0"
+ babel-plugin-transform-es2015-modules-umd "^6.24.0"
+ babel-plugin-transform-es2015-object-super "^6.22.0"
+ babel-plugin-transform-es2015-parameters "^6.22.0"
+ babel-plugin-transform-es2015-shorthand-properties "^6.22.0"
+ babel-plugin-transform-es2015-spread "^6.22.0"
+ babel-plugin-transform-es2015-sticky-regex "^6.22.0"
+ babel-plugin-transform-es2015-template-literals "^6.22.0"
+ babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
+ babel-plugin-transform-es2015-unicode-regex "^6.22.0"
+ babel-plugin-transform-regenerator "^6.22.0"
-babel-preset-react:
- version "6.16.0"
- resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.16.0.tgz#aa117d60de0928607e343c4828906e4661824316"
+babel-preset-flow@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d"
+ dependencies:
+ babel-plugin-transform-flow-strip-types "^6.22.0"
+
+babel-preset-react@^6.16.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.23.0.tgz#eb7cee4de98a3f94502c28565332da9819455195"
dependencies:
- babel-plugin-syntax-flow "^6.3.13"
babel-plugin-syntax-jsx "^6.3.13"
- babel-plugin-transform-flow-strip-types "^6.3.13"
- babel-plugin-transform-react-display-name "^6.3.13"
- babel-plugin-transform-react-jsx "^6.3.13"
- babel-plugin-transform-react-jsx-self "^6.11.0"
- babel-plugin-transform-react-jsx-source "^6.3.13"
+ babel-plugin-transform-react-display-name "^6.23.0"
+ babel-plugin-transform-react-jsx "^6.23.0"
+ babel-plugin-transform-react-jsx-self "^6.22.0"
+ babel-plugin-transform-react-jsx-source "^6.22.0"
+ babel-preset-flow "^6.23.0"
-babel-register@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.18.0.tgz#892e2e03865078dd90ad2c715111ec4449b32a68"
+babel-register@^6.24.0:
+ version "6.24.0"
+ resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.24.0.tgz#5e89f8463ba9970356d02eb07dabe3308b080cfd"
dependencies:
- babel-core "^6.18.0"
- babel-runtime "^6.11.6"
+ babel-core "^6.24.0"
+ babel-runtime "^6.22.0"
core-js "^2.4.0"
home-or-tmp "^2.0.0"
lodash "^4.2.0"
mkdirp "^0.5.1"
source-map-support "^0.4.2"
-babel-runtime@^6.0.0, babel-runtime@^6.11.6, babel-runtime@^6.9.0, babel-runtime@^6.9.1:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.18.0.tgz#0f4177ffd98492ef13b9f823e9994a02584c9078"
+babel-runtime@^6.18.0, babel-runtime@^6.22.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
dependencies:
core-js "^2.4.0"
- regenerator-runtime "^0.9.5"
+ regenerator-runtime "^0.10.0"
-babel-template@^6.14.0, babel-template@^6.15.0, babel-template@^6.16.0, babel-template@^6.8.0:
- version "6.16.0"
- resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.16.0.tgz#e149dd1a9f03a35f817ddbc4d0481988e7ebc8ca"
+babel-template@^6.22.0, babel-template@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.23.0.tgz#04d4f270adbb3aa704a8143ae26faa529238e638"
dependencies:
- babel-runtime "^6.9.0"
- babel-traverse "^6.16.0"
- babel-types "^6.16.0"
+ babel-runtime "^6.22.0"
+ babel-traverse "^6.23.0"
+ babel-types "^6.23.0"
babylon "^6.11.0"
lodash "^4.2.0"
-babel-traverse@^6.16.0, babel-traverse@^6.18.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.18.0.tgz#5aeaa980baed2a07c8c47329cd90c3b90c80f05e"
+babel-traverse@^6.22.0, babel-traverse@^6.23.0, babel-traverse@^6.23.1:
+ version "6.23.1"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.23.1.tgz#d3cb59010ecd06a97d81310065f966b699e14f48"
dependencies:
- babel-code-frame "^6.16.0"
- babel-messages "^6.8.0"
- babel-runtime "^6.9.0"
- babel-types "^6.18.0"
- babylon "^6.11.0"
+ babel-code-frame "^6.22.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.22.0"
+ babel-types "^6.23.0"
+ babylon "^6.15.0"
debug "^2.2.0"
globals "^9.0.0"
invariant "^2.2.0"
lodash "^4.2.0"
-babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.8.0, babel-types@^6.9.0:
- version "6.18.0"
- resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.18.0.tgz#1f7d5a73474c59eb9151b2417bbff4e4fce7c3f8"
+babel-types@^6.19.0, babel-types@^6.22.0, babel-types@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.23.0.tgz#bb17179d7538bad38cd0c9e115d340f77e7e9acf"
dependencies:
- babel-runtime "^6.9.1"
+ babel-runtime "^6.22.0"
esutils "^2.0.2"
lodash "^4.2.0"
to-fast-properties "^1.0.1"
-babylon@^6.11.0:
- version "6.13.1"
- resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.13.1.tgz#adca350e088f0467647157652bafead6ddb8dfdb"
+babylon@^6.11.0, babylon@^6.15.0:
+ version "6.16.1"
+ resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.16.1.tgz#30c5a22f481978a9e7f8cdfdf496b11d94b404d3"
balanced-match@^0.4.1:
version "0.4.2"
@@ -606,17 +616,13 @@ base64-js@^1.0.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1"
-Base64@~0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/Base64/-/Base64-0.2.1.tgz#ba3a4230708e186705065e66babdd4c35cf60028"
-
batch@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
bcrypt-pbkdf@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
dependencies:
tweetnacl "^0.14.3"
@@ -625,8 +631,8 @@ big.js@^3.1.3:
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
binary-extensions@^1.0.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.7.0.tgz#6c1610db163abfb34edfe42fa423343a1e01185d"
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
block-stream@*:
version "0.0.9"
@@ -655,7 +661,13 @@ braces@^1.8.2:
preserve "^0.2.0"
repeat-element "^1.1.2"
-browserify-zlib@~0.1.4:
+browserify-aes@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c"
+ dependencies:
+ inherits "^2.0.1"
+
+browserify-zlib@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
dependencies:
@@ -673,6 +685,10 @@ buffer@^4.9.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+
bytes@2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.3.0.tgz#d5b680a165b6201739acb611542aabc2d8ceb070"
@@ -681,9 +697,9 @@ camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
-caseless@~0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7"
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
center-align@^0.1.1:
version "0.1.3"
@@ -692,7 +708,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
-chalk@^1.1.0, chalk@^1.1.1:
+chalk@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
dependencies:
@@ -729,6 +745,10 @@ clone@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
@@ -739,21 +759,15 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
dependencies:
delayed-stream "~1.0.0"
-commander@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
- dependencies:
- graceful-readlink ">= 1.0.0"
-
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
compressible@~2.0.8:
- version "2.0.9"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz#6daab4e2b599c2770dd9e21e7a891b1c5a755425"
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.10.tgz#feda1c7f7617912732b29bf8cf26252a20b9eecd"
dependencies:
- mime-db ">= 1.24.0 < 2"
+ mime-db ">= 1.27.0 < 2"
compression@^1.5.2:
version "1.6.2"
@@ -784,21 +798,21 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-constants-browserify@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-0.0.1.tgz#92577db527ba6c4cf0a4568d84bc031f441e21f2"
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-content-disposition@0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.1.tgz#87476c6a67c8daa87e32e87616df883ba7fb071b"
+content-disposition@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
content-type@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
convert-source-map@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.3.0.tgz#e9f3e9c6e2728efc2676696a70eb382f73106a67"
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
cookie-signature@1.0.6:
version "1.0.6"
@@ -826,17 +840,18 @@ cryptiles@2.x.x:
dependencies:
boom "2.x.x"
-crypto-browserify@~3.2.6:
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.2.8.tgz#b9b11dbe6d9651dd882a01e6cc467df718ecf189"
+crypto-browserify@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c"
dependencies:
+ browserify-aes "0.4.0"
pbkdf2-compat "2.0.1"
ripemd160 "0.2.0"
sha.js "2.2.6"
dashdash@^1.12.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.0.tgz#29e486c5418bf0f356034a993d51686a33e84141"
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
dependencies:
assert-plus "^1.0.0"
@@ -844,12 +859,24 @@ date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-debug@^2.1.1, debug@^2.2.0, debug@~2.2.0:
+debug@^2.1.1, debug@^2.2.0, debug@2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.3.tgz#0f7eb8c30965ec08c72accfa0130c8b79984141d"
+ dependencies:
+ ms "0.7.2"
+
+debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
ms "0.7.1"
+debug@2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351"
+ dependencies:
+ ms "0.7.2"
+
decamelize@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -866,7 +893,7 @@ delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-depd@~1.1.0:
+depd@~1.1.0, depd@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
@@ -934,9 +961,9 @@ esutils@^2.0.0, esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-etag@~1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8"
+etag@~1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
eventemitter3@1.x.x:
version "1.2.0"
@@ -946,7 +973,7 @@ events@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
-eventsource@~0.1.6:
+eventsource@0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
dependencies:
@@ -965,33 +992,35 @@ expand-range@^1.8.1:
fill-range "^2.1.0"
express@^4.13.3:
- version "4.14.0"
- resolved "https://registry.yarnpkg.com/express/-/express-4.14.0.tgz#c1ee3f42cdc891fb3dc650a8922d51ec847d0d66"
+ version "4.15.2"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.15.2.tgz#af107fc148504457f2dca9a6f2571d7129b97b35"
dependencies:
accepts "~1.3.3"
array-flatten "1.1.1"
- content-disposition "0.5.1"
+ content-disposition "0.5.2"
content-type "~1.0.2"
cookie "0.3.1"
cookie-signature "1.0.6"
- debug "~2.2.0"
+ debug "2.6.1"
depd "~1.1.0"
encodeurl "~1.0.1"
escape-html "~1.0.3"
- etag "~1.7.0"
- finalhandler "0.5.0"
- fresh "0.3.0"
+ etag "~1.8.0"
+ finalhandler "~1.0.0"
+ fresh "0.5.0"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
parseurl "~1.3.1"
path-to-regexp "0.1.7"
- proxy-addr "~1.1.2"
- qs "6.2.0"
+ proxy-addr "~1.1.3"
+ qs "6.4.0"
range-parser "~1.2.0"
- send "0.14.1"
- serve-static "~1.11.1"
- type-is "~1.6.13"
+ send "0.15.1"
+ serve-static "1.12.1"
+ setprototypeof "1.0.3"
+ statuses "~1.3.1"
+ type-is "~1.6.14"
utils-merge "1.0.0"
vary "~1.1.0"
@@ -1016,21 +1045,21 @@ faye-websocket@^0.10.0:
websocket-driver ">=0.5.1"
faye-websocket@~0.11.0:
- version "0.11.0"
- resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.0.tgz#d9ccf0e789e7db725d74bc4877d23aa42972ac50"
+ version "0.11.1"
+ resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
dependencies:
websocket-driver ">=0.5.1"
-fbjs@^0.8.4:
- version "0.8.5"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.5.tgz#f69ba8a876096cb1b9bffe4d7c1e71c19d39d008"
+fbjs@^0.8.1, fbjs@^0.8.4:
+ version "0.8.12"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
dependencies:
core-js "^1.0.0"
- immutable "^3.7.6"
isomorphic-fetch "^2.1.1"
loose-envify "^1.0.0"
object-assign "^4.1.0"
promise "^7.1.1"
+ setimmediate "^1.0.5"
ua-parser-js "^0.7.9"
filename-regex@^2.0.0:
@@ -1047,14 +1076,16 @@ fill-range@^2.1.0:
repeat-element "^1.1.2"
repeat-string "^1.5.2"
-finalhandler@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7"
+finalhandler@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.1.tgz#bcd15d1689c0e5ed729b6f7f541a6df984117db8"
dependencies:
- debug "~2.2.0"
+ debug "2.6.3"
+ encodeurl "~1.0.1"
escape-html "~1.0.3"
on-finished "~2.3.0"
- statuses "~1.3.0"
+ parseurl "~1.3.1"
+ statuses "~1.3.1"
unpipe "~1.0.0"
find-cache-dir@^0.1.1:
@@ -1072,23 +1103,23 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
-for-in@^0.1.5:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8"
+for-in@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
for-own@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072"
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
dependencies:
- for-in "^0.1.5"
+ for-in "^1.0.1"
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
form-data@~2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.1.tgz#4adf0342e1a79afa1e84c8c320a9ffc82392a1f3"
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4"
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.5"
@@ -1098,22 +1129,22 @@ forwarded@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
-fresh@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f"
+fresh@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
fsevents@^1.0.0:
- version "1.0.15"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.1.tgz#f19fd28f43eeaf761680e519a203c4d0b3d31aff"
dependencies:
nan "^2.3.0"
node-pre-gyp "^0.6.29"
-fstream-ignore@~1.0.5:
+fstream-ignore@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
dependencies:
@@ -1121,22 +1152,21 @@ fstream-ignore@~1.0.5:
inherits "2"
minimatch "^3.0.0"
-fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822"
+fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
dependencies:
graceful-fs "^4.1.2"
inherits "~2.0.0"
mkdirp ">=0.5 0"
rimraf "2"
-gauge@~2.6.0:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.6.0.tgz#d35301ad18e96902b4751dcbbe40f4218b942a46"
+gauge@~2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.3.tgz#1c23855f962f17b3ad3d0dc7443f304542edfe09"
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
- has-color "^0.1.7"
has-unicode "^2.0.0"
object-assign "^4.1.0"
signal-exit "^3.0.0"
@@ -1144,16 +1174,6 @@ gauge@~2.6.0:
strip-ansi "^3.0.1"
wide-align "^1.1.0"
-generate-function@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
-
-generate-object-property@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
- dependencies:
- is-property "^1.0.0"
-
getpass@^0.1.1:
version "0.1.6"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6"
@@ -1185,25 +1205,23 @@ glob@^7.0.5:
path-is-absolute "^1.0.0"
globals@^9.0.0:
- version "9.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-9.12.0.tgz#992ce90828c3a55fa8f16fada177adb64664cf9d"
+ version "9.17.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286"
graceful-fs@^4.1.2:
- version "4.1.10"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131"
+ version "4.1.11"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-"graceful-readlink@>= 1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+har-schema@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
-har-validator@~2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d"
+har-validator@~4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
dependencies:
- chalk "^1.1.1"
- commander "^2.9.0"
- is-my-json-valid "^2.12.4"
- pinkie-promise "^2.0.0"
+ ajv "^4.9.1"
+ har-schema "^1.0.5"
has-ansi@^2.0.0:
version "2.0.0"
@@ -1211,10 +1229,6 @@ has-ansi@^2.0.0:
dependencies:
ansi-regex "^2.0.0"
-has-color@^0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f"
-
has-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
@@ -1243,33 +1257,35 @@ home-or-tmp@^2.0.0:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
-http-browserify@^1.3.2:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/http-browserify/-/http-browserify-1.7.0.tgz#33795ade72df88acfbfd36773cefeda764735b20"
- dependencies:
- Base64 "~0.2.0"
- inherits "~2.0.1"
-
http-errors@~1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.0.tgz#b1cb3d8260fd8e2386cad3189045943372d48211"
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
dependencies:
- inherits "2.0.1"
- setprototypeof "1.0.1"
- statuses ">= 1.3.0 < 2"
+ inherits "2.0.3"
+ setprototypeof "1.0.2"
+ statuses ">= 1.3.1 < 2"
+
+http-errors@~1.6.1:
+ version "1.6.1"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
+ dependencies:
+ depd "1.1.0"
+ inherits "2.0.3"
+ setprototypeof "1.0.3"
+ statuses ">= 1.3.1 < 2"
http-proxy-middleware@~0.17.1:
- version "0.17.2"
- resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.2.tgz#572d517a6d2fb1063a469de294eed96066352007"
+ version "0.17.4"
+ resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
dependencies:
- http-proxy "^1.15.1"
- is-glob "^3.0.0"
- lodash "^4.16.2"
+ http-proxy "^1.16.2"
+ is-glob "^3.1.0"
+ lodash "^4.17.2"
micromatch "^2.3.11"
-http-proxy@^1.15.1:
- version "1.15.2"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31"
+http-proxy@^1.16.2:
+ version "1.16.2"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
dependencies:
eventemitter3 "1.x.x"
requires-port "1.x.x"
@@ -1282,22 +1298,18 @@ http-signature@~1.1.0:
jsprim "^1.2.2"
sshpk "^1.7.0"
-https-browserify@0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.0.tgz#b3ffdfe734b2a3d4a9efd58e8654c91fce86eafd"
+https-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
iconv-lite@~0.4.13:
- version "0.4.13"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
+ version "0.4.15"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb"
ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
-immutable@^3.7.6:
- version "3.8.1"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2"
-
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
@@ -1309,7 +1321,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2:
+inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -1326,14 +1338,14 @@ interpret@^0.6.4:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
invariant@^2.2.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.1.tgz#b097010547668c7e337028ebe816ebe36c8a8d54"
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies:
loose-envify "^1.0.0"
-ipaddr.js@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.1.1.tgz#c791d95f52b29c1247d5df80ada39b8a73647230"
+ipaddr.js@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.3.0.tgz#1e03a52fdad83a8bbb2b25cbf4998b4cffcd3dec"
is-binary-path@^1.0.0:
version "1.0.1"
@@ -1342,8 +1354,8 @@ is-binary-path@^1.0.0:
binary-extensions "^1.0.0"
is-buffer@^1.0.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b"
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
is-dotfile@^1.0.0:
version "1.0.2"
@@ -1364,8 +1376,8 @@ is-extglob@^1.0.0:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
is-extglob@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.0.tgz#33411a482b046bf95e6b0cb27ee2711af4cf15ad"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
is-finite@^1.0.0:
version "1.0.2"
@@ -1385,21 +1397,12 @@ is-glob@^2.0.0, is-glob@^2.0.1:
dependencies:
is-extglob "^1.0.0"
-is-glob@^3.0.0:
+is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
dependencies:
is-extglob "^2.1.0"
-is-my-json-valid@^2.12.4:
- version "2.15.0"
- resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b"
- dependencies:
- generate-function "^2.0.0"
- generate-object-property "^1.1.0"
- jsonpointer "^4.0.0"
- xtend "^4.0.0"
-
is-number@^2.0.2, is-number@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
@@ -1414,10 +1417,6 @@ is-primitive@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
-is-property@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
-
is-stream@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -1430,10 +1429,6 @@ isarray@^1.0.0, isarray@~1.0.0, isarray@1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-isarray@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
@@ -1457,13 +1452,13 @@ jodid25519@^1.0.0:
dependencies:
jsbn "~0.1.0"
-js-tokens@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-2.0.0.tgz#79903f5563ee778cc1162e6dcf1a0027c97f9cb5"
+js-tokens@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7"
jsbn@~0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd"
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
jsesc@^1.3.0:
version "1.3.0"
@@ -1477,6 +1472,12 @@ json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ dependencies:
+ jsonify "~0.0.0"
+
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -1486,24 +1487,25 @@ json3@^3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
json5@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.0.tgz#9b20715b026cbe3778fd769edccd822d8332a5b2"
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
-jsonpointer@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.0.tgz#6661e161d2fc445f19f98430231343722e1fcbd5"
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
jsprim@^1.2.2:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252"
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
dependencies:
+ assert-plus "1.0.0"
extsprintf "1.0.2"
json-schema "0.2.3"
verror "1.3.6"
kind-of@^3.0.2:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.0.4.tgz#7b8ecf18a4e17f8269d73b501c9f232c96887a74"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47"
dependencies:
is-buffer "^1.0.2"
@@ -1511,36 +1513,28 @@ lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-loader-utils@^0.2.11:
- version "0.2.16"
- resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.16.tgz#f08632066ed8282835dff88dfb52704765adee6d"
+loader-utils@^0.2.11, loader-utils@^0.2.16:
+ version "0.2.17"
+ resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
json5 "^0.5.0"
object-assign "^4.0.1"
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
-
-lodash.throttle@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
-
-lodash@^4.16.2, lodash@^4.2.0:
- version "4.16.6"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777"
+lodash@^4.17.2, lodash@^4.2.0:
+ version "4.17.4"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
loose-envify@^1.0.0, loose-envify@^1.1.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.0.tgz#6b26248c42f6d4fa4b0d8542f78edfcde35642a8"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
- js-tokens "^2.0.0"
+ js-tokens "^3.0.0"
media-typer@0.3.0:
version "0.3.0"
@@ -1557,6 +1551,13 @@ memory-fs@~0.3.0:
errno "^0.1.3"
readable-stream "^2.0.1"
+memory-fs@~0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
@@ -1583,15 +1584,15 @@ micromatch@^2.1.5, micromatch@^2.3.11:
parse-glob "^3.0.4"
regex-cache "^0.4.2"
-"mime-db@>= 1.24.0 < 2", mime-db@~1.24.0:
- version "1.24.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c"
+"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
+ version "1.27.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
-mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7:
- version "2.1.12"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.12.tgz#152ba256777020dd4663f54c2e7bc26381e71729"
+mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
+ version "2.1.15"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
dependencies:
- mime-db "~1.24.0"
+ mime-db "~1.27.0"
mime@^1.3.4, mime@1.3.4:
version "1.3.4"
@@ -1615,7 +1616,7 @@ minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@^0.5.1, "mkdirp@>=0.5 0", mkdirp@~0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
@@ -1625,9 +1626,13 @@ ms@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
+ms@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
nan@^2.3.0:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.4.0.tgz#fb3c59d45fe4effe215f0b890f8adf6eb32d2232"
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.1.tgz#d5b01691253326a97a2bbee9e61c55d8d60351e2"
negotiator@0.6.1:
version "0.6.1"
@@ -1640,69 +1645,68 @@ node-fetch@^1.0.1:
encoding "^0.1.11"
is-stream "^1.0.1"
-node-libs-browser@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.6.0.tgz#244806d44d319e048bc8607b5cc4eaf9a29d2e3c"
+node-libs-browser@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b"
dependencies:
assert "^1.1.1"
- browserify-zlib "~0.1.4"
+ browserify-zlib "^0.1.4"
buffer "^4.9.0"
console-browserify "^1.1.0"
- constants-browserify "0.0.1"
- crypto-browserify "~3.2.6"
+ constants-browserify "^1.0.0"
+ crypto-browserify "3.3.0"
domain-browser "^1.1.1"
events "^1.0.0"
- http-browserify "^1.3.2"
- https-browserify "0.0.0"
- os-browserify "~0.1.2"
+ https-browserify "0.0.1"
+ os-browserify "^0.2.0"
path-browserify "0.0.0"
process "^0.11.0"
punycode "^1.2.4"
- querystring-es3 "~0.2.0"
- readable-stream "^1.1.13"
- stream-browserify "^1.0.0"
- string_decoder "~0.10.25"
- timers-browserify "^1.0.1"
+ querystring-es3 "^0.2.0"
+ readable-stream "^2.0.5"
+ stream-browserify "^2.0.1"
+ stream-http "^2.3.1"
+ string_decoder "^0.10.25"
+ timers-browserify "^2.0.2"
tty-browserify "0.0.0"
- url "~0.10.1"
- util "~0.10.3"
+ url "^0.11.0"
+ util "^0.10.3"
vm-browserify "0.0.4"
node-pre-gyp@^0.6.29:
- version "0.6.31"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.31.tgz#d8a00ddaa301a940615dbcc8caad4024d58f6017"
+ version "0.6.34"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7"
dependencies:
- mkdirp "~0.5.1"
- nopt "~3.0.6"
- npmlog "^4.0.0"
- rc "~1.1.6"
- request "^2.75.0"
- rimraf "~2.5.4"
- semver "~5.3.0"
- tar "~2.2.1"
- tar-pack "~3.3.0"
+ mkdirp "^0.5.1"
+ nopt "^4.0.1"
+ npmlog "^4.0.2"
+ rc "^1.1.7"
+ request "^2.81.0"
+ rimraf "^2.6.1"
+ semver "^5.3.0"
+ tar "^2.2.1"
+ tar-pack "^3.4.0"
-node-uuid@~1.4.7:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f"
-
-nopt@~3.0.6:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
+nopt@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
dependencies:
abbrev "1"
+ osenv "^0.1.4"
normalize-path@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a"
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ dependencies:
+ remove-trailing-separator "^1.0.1"
-npmlog@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.0.tgz#e094503961c70c1774eb76692080e8d578a9f88f"
+npmlog@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f"
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
- gauge "~2.6.0"
+ gauge "~2.7.1"
set-blocking "~2.0.0"
number-is-nan@^1.0.0:
@@ -1714,8 +1718,8 @@ oauth-sign@~0.8.1:
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
object-assign@^4.0.1, object-assign@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
object.omit@^2.0.0:
version "2.0.1"
@@ -1734,18 +1738,12 @@ on-headers@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
-once@^1.3.0:
+once@^1.3.0, once@^1.3.3:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
wrappy "1"
-once@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
- dependencies:
- wrappy "1"
-
open@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
@@ -1763,18 +1761,25 @@ original@>=0.0.5:
dependencies:
url-parse "1.0.x"
-os-browserify@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.1.2.tgz#49ca0293e0b19590a5f5de10c7f265a617d8fe54"
+os-browserify@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-os-tmpdir@^1.0.1:
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+osenv@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.0"
+
pako@~0.2.0:
version "0.2.9"
resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
@@ -1814,6 +1819,10 @@ pbkdf2-compat@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288"
+performance-now@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -1834,15 +1843,15 @@ preserve@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-private@^0.1.6, private@~0.1.5:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.6.tgz#55c6a976d0f9bafb9924851350fe47b9b5fbb7c1"
+private@^0.1.6:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-process@^0.11.0, process@~0.11.0:
+process@^0.11.0:
version "0.11.9"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.9.tgz#7bd5ad21aa6253e7da8682264f1e11d11c0318c1"
@@ -1852,12 +1861,12 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
-proxy-addr@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.2.tgz#b4cc5f22610d9535824c123aef9d3cf73c40ba37"
+proxy-addr@~1.1.3:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3"
dependencies:
forwarded "~0.1.0"
- ipaddr.js "1.1.1"
+ ipaddr.js "1.3.0"
prr@~0.0.0:
version "0.0.0"
@@ -1871,15 +1880,11 @@ punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
-qs@~6.3.0:
- version "6.3.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442"
+qs@~6.4.0, qs@6.4.0:
+ version "6.4.0"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
-qs@6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b"
-
-querystring-es3@~0.2.0:
+querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -1892,8 +1897,8 @@ querystringify@0.0.x:
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
randomatic@^1.1.3:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.5.tgz#5e9ef5f2d573c67bd2b8124ae90b5156e457840b"
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb"
dependencies:
is-number "^2.0.2"
kind-of "^3.0.2"
@@ -1902,51 +1907,34 @@ range-parser@^1.0.3, range-parser@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
-rc@~1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9"
+rc@^1.1.7:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.0.tgz#c7de973b7b46297c041366b2fd3d2363b1697c66"
dependencies:
deep-extend "~0.4.0"
ini "~1.3.0"
minimist "^1.2.0"
- strip-json-comments "~1.0.4"
+ strip-json-comments "~2.0.1"
-react:
- version "15.3.2"
- resolved "https://registry.yarnpkg.com/react/-/react-15.3.2.tgz#a7bccd2fee8af126b0317e222c28d1d54528d09e"
+react-dom@^15.3.2:
+ version "15.4.2"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f"
+ dependencies:
+ fbjs "^0.8.1"
+ loose-envify "^1.1.0"
+ object-assign "^4.1.0"
+
+react@^15.3.2:
+ version "15.4.2"
+ resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef"
dependencies:
fbjs "^0.8.4"
loose-envify "^1.1.0"
object-assign "^4.1.0"
-react-dom:
- version "15.3.2"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.3.2.tgz#c46b0aa5380d7b838e7a59c4a7beff2ed315531f"
-
-react-image-gallery:
- version "0.7.15"
- resolved "https://registry.yarnpkg.com/react-image-gallery/-/react-image-gallery-0.7.15.tgz#8930b0b5d5c04b22dd69434d5497889fd7e9d5dc"
- dependencies:
- lodash.debounce "^4.0.8"
- lodash.throttle "^4.1.1"
- react-swipeable "^3.5.1"
-
-react-swipeable@^3.5.1:
- version "3.9.2"
- resolved "https://registry.yarnpkg.com/react-swipeable/-/react-swipeable-3.9.2.tgz#bbaab62688b1aed4a4f73830d272eedd168f3627"
-
-readable-stream@^1.0.27-1, readable-stream@^1.1.13:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.1"
- isarray "0.0.1"
- string_decoder "~0.10.x"
-
-"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@~2.1.4:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0"
+"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.0, readable-stream@^2.1.4:
+ version "2.2.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.6.tgz#8b43aed76e71483938d12a8d46c6cf1a00b1f816"
dependencies:
buffer-shims "^1.0.0"
core-util-is "~1.0.0"
@@ -1966,12 +1954,20 @@ readdirp@^2.0.0:
set-immediate-shim "^1.0.1"
regenerate@^1.2.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.1.tgz#0300203a5d2fdcf89116dce84275d011f5903f33"
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.2.tgz#d1941c67bad437e1be76433add5b385f95b19260"
-regenerator-runtime@^0.9.5:
- version "0.9.6"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029"
+regenerator-runtime@^0.10.0:
+ version "0.10.3"
+ resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.3.tgz#8c4367a904b51ea62a908ac310bf99ff90a82a3e"
+
+regenerator-transform@0.9.8:
+ version "0.9.8"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.9.8.tgz#0f88bb2bc03932ddb7b6b7312e68078f01026d6c"
+ dependencies:
+ babel-runtime "^6.18.0"
+ babel-types "^6.19.0"
+ private "^0.1.6"
regex-cache@^0.4.2:
version "0.4.3"
@@ -1998,6 +1994,10 @@ regjsparser@^0.1.4:
dependencies:
jsesc "~0.5.0"
+remove-trailing-separator@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4"
+
repeat-element@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
@@ -2012,30 +2012,32 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
-request@^2.75.0:
- version "2.78.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc"
+request@^2.81.0:
+ version "2.81.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
dependencies:
aws-sign2 "~0.6.0"
aws4 "^1.2.1"
- caseless "~0.11.0"
+ caseless "~0.12.0"
combined-stream "~1.0.5"
extend "~3.0.0"
forever-agent "~0.6.1"
form-data "~2.1.1"
- har-validator "~2.0.6"
+ har-validator "~4.2.1"
hawk "~3.1.3"
http-signature "~1.1.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.7"
- node-uuid "~1.4.7"
oauth-sign "~0.8.1"
- qs "~6.3.0"
+ performance-now "^0.2.0"
+ qs "~6.4.0"
+ safe-buffer "^5.0.1"
stringstream "~0.0.4"
tough-cookie "~2.3.0"
- tunnel-agent "~0.4.1"
+ tunnel-agent "^0.6.0"
+ uuid "^3.0.0"
requires-port@1.0.x, requires-port@1.x.x:
version "1.0.0"
@@ -2047,9 +2049,9 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2:
- version "2.5.4"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04"
+rimraf@^2.5.1, rimraf@^2.6.1, rimraf@2:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
dependencies:
glob "^7.0.5"
@@ -2057,27 +2059,31 @@ ripemd160@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce"
-semver@~5.3.0:
+safe-buffer@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7"
+
+semver@^5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-send@0.14.1:
- version "0.14.1"
- resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a"
+send@0.15.1:
+ version "0.15.1"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f"
dependencies:
- debug "~2.2.0"
+ debug "2.6.1"
depd "~1.1.0"
destroy "~1.0.4"
encodeurl "~1.0.1"
escape-html "~1.0.3"
- etag "~1.7.0"
- fresh "0.3.0"
- http-errors "~1.5.0"
+ etag "~1.8.0"
+ fresh "0.5.0"
+ http-errors "~1.6.1"
mime "1.3.4"
- ms "0.7.1"
+ ms "0.7.2"
on-finished "~2.3.0"
range-parser "~1.2.0"
- statuses "~1.3.0"
+ statuses "~1.3.1"
serve-index@^1.7.2:
version "1.8.0"
@@ -2091,14 +2097,14 @@ serve-index@^1.7.2:
mime-types "~2.1.11"
parseurl "~1.3.1"
-serve-static@~1.11.1:
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805"
+serve-static@1.12.1:
+ version "1.12.1"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039"
dependencies:
encodeurl "~1.0.1"
escape-html "~1.0.3"
parseurl "~1.3.1"
- send "0.14.1"
+ send "0.15.1"
set-blocking@~2.0.0:
version "2.0.0"
@@ -2108,17 +2114,25 @@ set-immediate-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-setprototypeof@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.1.tgz#52009b27888c4dc48f591949c0a8275834c1ca7e"
+setimmediate@^1.0.4, setimmediate@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+
+setprototypeof@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
+
+setprototypeof@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
sha.js@2.2.6:
version "2.2.6"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
signal-exit@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.1.tgz#5a4c884992b63a7acd9badb7894c3ee9cfccad81"
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
slash@^1.0.0:
version "1.0.0"
@@ -2131,11 +2145,11 @@ sntp@1.x.x:
hoek "2.x.x"
sockjs-client@^1.0.3:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.1.tgz#284843e9a9784d7c474b1571b3240fca9dda4bb0"
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.2.tgz#f0212a8550e4c9468c8cceaeefd2e3493c033ad5"
dependencies:
debug "^2.2.0"
- eventsource "~0.1.6"
+ eventsource "0.1.6"
faye-websocket "~0.11.0"
inherits "^2.0.1"
json3 "^3.3.2"
@@ -2148,17 +2162,17 @@ sockjs@^0.3.15:
faye-websocket "^0.10.0"
uuid "^2.0.2"
-source-list-map@~0.1.0:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.6.tgz#e1e6f94f0b40c4d28dcf8f5b8766e0e45636877f"
+source-list-map@~0.1.7:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
source-map-support@^0.4.2:
- version "0.4.6"
- resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb"
+ version "0.4.14"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef"
dependencies:
- source-map "^0.5.3"
+ source-map "^0.5.6"
-source-map@^0.5.0, source-map@^0.5.3, source-map@~0.5.1:
+source-map@^0.5.0, source-map@^0.5.6, source-map@~0.5.1:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
@@ -2169,8 +2183,8 @@ source-map@~0.4.1:
amdefine ">=0.0.4"
sshpk@^1.7.0:
- version "1.10.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0"
+ version "1.11.0"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.11.0.tgz#2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77"
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
@@ -2183,22 +2197,32 @@ sshpk@^1.7.0:
jsbn "~0.1.0"
tweetnacl "~0.14.0"
-"statuses@>= 1.3.0 < 2", statuses@~1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.0.tgz#8e55758cb20e7682c1f4fce8dcab30bf01d1e07a"
+"statuses@>= 1.3.1 < 2", statuses@~1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
-stream-browserify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-1.0.0.tgz#bf9b4abfb42b274d751479e44e0ff2656b6f1193"
+stream-browserify@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
dependencies:
inherits "~2.0.1"
- readable-stream "^1.0.27-1"
+ readable-stream "^2.0.2"
stream-cache@~0.0.1:
version "0.0.2"
resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f"
-string_decoder@~0.10.25, string_decoder@~0.10.x:
+stream-http@^2.3.1:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.6.3.tgz#4c3ddbf9635968ea2cfd4e48d43de5def2625ac3"
+ dependencies:
+ builtin-status-codes "^3.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.1.0"
+ to-arraybuffer "^1.0.0"
+ xtend "^4.0.0"
+
+string_decoder@^0.10.25, string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
@@ -2220,17 +2244,17 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1:
dependencies:
ansi-regex "^2.0.0"
-strip-json-comments@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91"
+strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
supports-color@^3.1.0, supports-color@^3.1.1:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
dependencies:
has-flag "^1.0.0"
@@ -2238,20 +2262,20 @@ tapable@^0.1.8, tapable@~0.1.8:
version "0.1.10"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
-tar-pack@~3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae"
+tar-pack@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
dependencies:
- debug "~2.2.0"
- fstream "~1.0.10"
- fstream-ignore "~1.0.5"
- once "~1.3.3"
- readable-stream "~2.1.4"
- rimraf "~2.5.1"
- tar "~2.2.1"
- uid-number "~0.0.6"
+ debug "^2.2.0"
+ fstream "^1.0.10"
+ fstream-ignore "^1.0.5"
+ once "^1.3.3"
+ readable-stream "^2.1.4"
+ rimraf "^2.5.1"
+ tar "^2.2.1"
+ uid-number "^0.0.6"
-tar@~2.2.1:
+tar@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
dependencies:
@@ -2259,11 +2283,15 @@ tar@~2.2.1:
fstream "^1.0.2"
inherits "2"
-timers-browserify@^1.0.1:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-1.4.2.tgz#c9c58b575be8407375cb5e2462dacee74359f41d"
+timers-browserify@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
dependencies:
- process "~0.11.0"
+ setimmediate "^1.0.4"
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
to-fast-properties@^1.0.1:
version "1.0.2"
@@ -2275,32 +2303,38 @@ tough-cookie@~2.3.0:
dependencies:
punycode "^1.4.1"
+trim-right@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
-tunnel-agent@~0.4.1:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ dependencies:
+ safe-buffer "^5.0.1"
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.3"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d"
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-type-is@~1.6.13:
- version "1.6.13"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.13.tgz#6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08"
+type-is@~1.6.14:
+ version "1.6.15"
+ resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
dependencies:
media-typer "0.3.0"
- mime-types "~2.1.11"
+ mime-types "~2.1.15"
ua-parser-js@^0.7.9:
- version "0.7.11"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.11.tgz#3741e2dd2fb09251a960f9ef076cd0cc72eaf6a0"
+ version "0.7.12"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
uglify-js@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.4.tgz#a295a0de12b6a650c031c40deb0dc40b14568bd2"
+ version "2.7.5"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
dependencies:
async "~0.2.6"
source-map "~0.5.1"
@@ -2311,7 +2345,7 @@ uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
-uid-number@~0.0.6:
+uid-number@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
@@ -2320,8 +2354,8 @@ unpipe@~1.0.0:
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
url-parse@^1.1.1:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.7.tgz#025cff999653a459ab34232147d89514cc87d74a"
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.8.tgz#7a65b3a8d57a1e86af6b4e2276e34774167c0156"
dependencies:
querystringify "0.0.x"
requires-port "1.0.x"
@@ -2333,9 +2367,9 @@ url-parse@1.0.x:
querystringify "0.0.x"
requires-port "1.0.x"
-url@~0.10.1:
- version "0.10.3"
- resolved "https://registry.yarnpkg.com/url/-/url-0.10.3.tgz#021e4d9c7705f21bbf37d03ceb58767402774c64"
+url@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
dependencies:
punycode "1.3.2"
querystring "0.2.0"
@@ -2344,7 +2378,7 @@ util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-util@~0.10.3, util@0.10.3:
+util@^0.10.3, util@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
dependencies:
@@ -2358,9 +2392,13 @@ uuid@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
+uuid@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1"
+
vary@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.0.tgz#e1e5affbbd16ae768dd2674394b9ad3022653140"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
verror@1.3.6:
version "1.3.6"
@@ -2382,25 +2420,25 @@ watchpack@^0.2.1:
chokidar "^1.0.0"
graceful-fs "^4.1.2"
-webpack-core@~0.6.0:
- version "0.6.8"
- resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.8.tgz#edf9135de00a6a3c26dd0f14b208af0aa4af8d0a"
+webpack-core@~0.6.9:
+ version "0.6.9"
+ resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
dependencies:
- source-list-map "~0.1.0"
+ source-list-map "~0.1.7"
source-map "~0.4.1"
webpack-dev-middleware@^1.4.0:
- version "1.8.4"
- resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.8.4.tgz#e8765c9122887ce9e3abd4cc9c3eb31b61e0948d"
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.1.tgz#c6b4cf428139cf1aefbe06a0c00fdb4f8da2f893"
dependencies:
- memory-fs "~0.3.0"
+ memory-fs "~0.4.1"
mime "^1.3.4"
path-is-absolute "^1.0.0"
range-parser "^1.0.3"
-webpack-dev-server:
- version "1.16.2"
- resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-1.16.2.tgz#8bebc2c4ce1c45a15c72dd769d9ba08db306a793"
+webpack-dev-server@^1.16.2:
+ version "1.16.3"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-1.16.3.tgz#cbb6a0d3e7c8eb5453b3e9befcbe843219f62661"
dependencies:
compression "^1.5.2"
connect-history-api-fallback "^1.3.0"
@@ -2417,8 +2455,8 @@ webpack-dev-server:
webpack-dev-middleware "^1.4.0"
webpack@^1.13.3:
- version "1.13.3"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.13.3.tgz#e79c46fe5a37c5ca70084ba0894c595cdcb42815"
+ version "1.14.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.14.0.tgz#54f1ffb92051a328a5b2057d6ae33c289462c823"
dependencies:
acorn "^3.0.0"
async "^1.3.0"
@@ -2428,13 +2466,13 @@ webpack@^1.13.3:
loader-utils "^0.2.11"
memory-fs "~0.3.0"
mkdirp "~0.5.0"
- node-libs-browser "^0.6.0"
+ node-libs-browser "^0.7.0"
optimist "~0.6.0"
supports-color "^3.1.0"
tapable "~0.1.8"
uglify-js "~2.7.3"
watchpack "^0.2.1"
- webpack-core "~0.6.0"
+ webpack-core "~0.6.9"
websocket-driver@>=0.5.1:
version "0.6.5"
@@ -2447,8 +2485,8 @@ websocket-extensions@>=0.1.1:
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
whatwg-fetch@>=0.10.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.0.0.tgz#01c2ac4df40e236aaa18480e3be74bd5c8eb798e"
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
wide-align@^1.1.0:
version "1.1.0"