From 2904c007dc7ef0df7807f5f6039eb976f4f19abf Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 7 Oct 2017 22:36:17 +0300 Subject: [PATCH 0001/1801] Initial commit --- .gitignore | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ LICENSE | 21 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000000000..00cbbdf53f6c48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,59 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000000000..72ce86291aea8c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Dmitriy Kovalenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From 524691be96fde96d94e052a31a730039d4e49f4a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 7 Oct 2017 22:41:33 +0300 Subject: [PATCH 0002/1801] Merge conflicts --- .babelrc | 8 + .eslintrc | 4 + .gitignore | 52 +- docs/.gitignore | 21 + docs/README.md | 2164 ++++++ docs/package-lock.json | 10569 ++++++++++++++++++++++++++++ docs/package.json | 17 + docs/public/favicon.ico | Bin 0 -> 3870 bytes docs/public/index.html | 43 + docs/public/manifest.json | 15 + docs/src/App.css | 23 + docs/src/App.js | 37 + docs/src/App.test.js | 8 + docs/src/index.css | 6 + docs/src/index.js | 8 + docs/src/logo.svg | 7 + docs/src/registerServiceWorker.js | 108 + package-lock.json | 5490 +++++++++++++++ package.json | 42 + src/DatePicker.jsx | 15 + src/index.js | 1 + webpack.config.js | 32 + 22 files changed, 18625 insertions(+), 45 deletions(-) create mode 100644 .babelrc create mode 100644 .eslintrc create mode 100644 docs/.gitignore create mode 100644 docs/README.md create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100644 docs/public/favicon.ico create mode 100644 docs/public/index.html create mode 100644 docs/public/manifest.json create mode 100644 docs/src/App.css create mode 100644 docs/src/App.js create mode 100644 docs/src/App.test.js create mode 100644 docs/src/index.css create mode 100644 docs/src/index.js create mode 100644 docs/src/logo.svg create mode 100644 docs/src/registerServiceWorker.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/DatePicker.jsx create mode 100644 src/index.js create mode 100644 webpack.config.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 00000000000000..79c73ba0bf0f41 --- /dev/null +++ b/.babelrc @@ -0,0 +1,8 @@ +{ + "presets": ["env"], + "plugins": [ + "transform-object-rest-spread", + "transform-react-jsx", + "transform-class-properties" + ] +} \ No newline at end of file diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000000000..bb38fe3b827f3f --- /dev/null +++ b/.eslintrc @@ -0,0 +1,4 @@ +{ + "extends": "airbnb", + "parser": "babel-eslint" +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 00cbbdf53f6c48..ea2344f500f2b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,59 +1,21 @@ -# Logs +# dependencies +/node_modules + +# build +/dist + +# logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - # Optional npm cache directory .npm # Optional eslint cache .eslintcache -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - # dotenv environment variables file .env - diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000000000..d30f40ef4422ff --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,21 @@ +# See https://help.github.com/ignore-files/ for more about ignoring files. + +# dependencies +/node_modules + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000000000..98e26c98e8155d --- /dev/null +++ b/docs/README.md @@ -0,0 +1,2164 @@ +This project was bootstrapped with [Create React App](https://github.com/facebookincubator/create-react-app). + +Below you will find some information on how to perform common tasks.
+You can find the most recent version of this guide [here](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md). + +## Table of Contents + +- [Updating to New Releases](#updating-to-new-releases) +- [Sending Feedback](#sending-feedback) +- [Folder Structure](#folder-structure) +- [Available Scripts](#available-scripts) + - [npm start](#npm-start) + - [npm test](#npm-test) + - [npm run build](#npm-run-build) + - [npm run eject](#npm-run-eject) +- [Supported Language Features and Polyfills](#supported-language-features-and-polyfills) +- [Syntax Highlighting in the Editor](#syntax-highlighting-in-the-editor) +- [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor) +- [Debugging in the Editor](#debugging-in-the-editor) +- [Formatting Code Automatically](#formatting-code-automatically) +- [Changing the Page ``](#changing-the-page-title) +- [Installing a Dependency](#installing-a-dependency) +- [Importing a Component](#importing-a-component) +- [Code Splitting](#code-splitting) +- [Adding a Stylesheet](#adding-a-stylesheet) +- [Post-Processing CSS](#post-processing-css) +- [Adding a CSS Preprocessor (Sass, Less etc.)](#adding-a-css-preprocessor-sass-less-etc) +- [Adding Images, Fonts, and Files](#adding-images-fonts-and-files) +- [Using the `public` Folder](#using-the-public-folder) + - [Changing the HTML](#changing-the-html) + - [Adding Assets Outside of the Module System](#adding-assets-outside-of-the-module-system) + - [When to Use the `public` Folder](#when-to-use-the-public-folder) +- [Using Global Variables](#using-global-variables) +- [Adding Bootstrap](#adding-bootstrap) + - [Using a Custom Theme](#using-a-custom-theme) +- [Adding Flow](#adding-flow) +- [Adding Custom Environment Variables](#adding-custom-environment-variables) + - [Referencing Environment Variables in the HTML](#referencing-environment-variables-in-the-html) + - [Adding Temporary Environment Variables In Your Shell](#adding-temporary-environment-variables-in-your-shell) + - [Adding Development Environment Variables In `.env`](#adding-development-environment-variables-in-env) +- [Can I Use Decorators?](#can-i-use-decorators) +- [Integrating with an API Backend](#integrating-with-an-api-backend) + - [Node](#node) + - [Ruby on Rails](#ruby-on-rails) +- [Proxying API Requests in Development](#proxying-api-requests-in-development) + - ["Invalid Host Header" Errors After Configuring Proxy](#invalid-host-header-errors-after-configuring-proxy) + - [Configuring the Proxy Manually](#configuring-the-proxy-manually) + - [Configuring a WebSocket Proxy](#configuring-a-websocket-proxy) +- [Using HTTPS in Development](#using-https-in-development) +- [Generating Dynamic `<meta>` Tags on the Server](#generating-dynamic-meta-tags-on-the-server) +- [Pre-Rendering into Static HTML Files](#pre-rendering-into-static-html-files) +- [Injecting Data from the Server into the Page](#injecting-data-from-the-server-into-the-page) +- [Running Tests](#running-tests) + - [Filename Conventions](#filename-conventions) + - [Command Line Interface](#command-line-interface) + - [Version Control Integration](#version-control-integration) + - [Writing Tests](#writing-tests) + - [Testing Components](#testing-components) + - [Using Third Party Assertion Libraries](#using-third-party-assertion-libraries) + - [Initializing Test Environment](#initializing-test-environment) + - [Focusing and Excluding Tests](#focusing-and-excluding-tests) + - [Coverage Reporting](#coverage-reporting) + - [Continuous Integration](#continuous-integration) + - [Disabling jsdom](#disabling-jsdom) + - [Snapshot Testing](#snapshot-testing) + - [Editor Integration](#editor-integration) +- [Developing Components in Isolation](#developing-components-in-isolation) + - [Getting Started with Storybook](#getting-started-with-storybook) + - [Getting Started with Styleguidist](#getting-started-with-styleguidist) +- [Making a Progressive Web App](#making-a-progressive-web-app) + - [Opting Out of Caching](#opting-out-of-caching) + - [Offline-First Considerations](#offline-first-considerations) + - [Progressive Web App Metadata](#progressive-web-app-metadata) +- [Analyzing the Bundle Size](#analyzing-the-bundle-size) +- [Deployment](#deployment) + - [Static Server](#static-server) + - [Other Solutions](#other-solutions) + - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing) + - [Building for Relative Paths](#building-for-relative-paths) + - [Azure](#azure) + - [Firebase](#firebase) + - [GitHub Pages](#github-pages) + - [Heroku](#heroku) + - [Netlify](#netlify) + - [Now](#now) + - [S3 and CloudFront](#s3-and-cloudfront) + - [Surge](#surge) +- [Advanced Configuration](#advanced-configuration) +- [Troubleshooting](#troubleshooting) + - [`npm start` doesn’t detect changes](#npm-start-doesnt-detect-changes) + - [`npm test` hangs on macOS Sierra](#npm-test-hangs-on-macos-sierra) + - [`npm run build` exits too early](#npm-run-build-exits-too-early) + - [`npm run build` fails on Heroku](#npm-run-build-fails-on-heroku) + - [`npm run build` fails to minify](#npm-run-build-fails-to-minify) + - [Moment.js locales are missing](#momentjs-locales-are-missing) +- [Something Missing?](#something-missing) + +## Updating to New Releases + +Create React App is divided into two packages: + +* `create-react-app` is a global command-line utility that you use to create new projects. +* `react-scripts` is a development dependency in the generated projects (including this one). + +You almost never need to update `create-react-app` itself: it delegates all the setup to `react-scripts`. + +When you run `create-react-app`, it always creates the project with the latest version of `react-scripts` so you’ll get all the new features and improvements in newly created apps automatically. + +To update an existing project to a new version of `react-scripts`, [open the changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md), find the version you’re currently on (check `package.json` in this folder if you’re not sure), and apply the migration instructions for the newer versions. + +In most cases bumping the `react-scripts` version in `package.json` and running `npm install` in this folder should be enough, but it’s good to consult the [changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md) for potential breaking changes. + +We commit to keeping the breaking changes minimal so you can upgrade `react-scripts` painlessly. + +## Sending Feedback + +We are always open to [your feedback](https://github.com/facebookincubator/create-react-app/issues). + +## Folder Structure + +After creation, your project should look like this: + +``` +my-app/ + README.md + node_modules/ + package.json + public/ + index.html + favicon.ico + src/ + App.css + App.js + App.test.js + index.css + index.js + logo.svg +``` + +For the project to build, **these files must exist with exact filenames**: + +* `public/index.html` is the page template; +* `src/index.js` is the JavaScript entry point. + +You can delete or rename the other files. + +You may create subdirectories inside `src`. For faster rebuilds, only files inside `src` are processed by Webpack.<br> +You need to **put any JS and CSS files inside `src`**, otherwise Webpack won’t see them. + +Only files inside `public` can be used from `public/index.html`.<br> +Read instructions below for using assets from JavaScript and HTML. + +You can, however, create more top-level directories.<br> +They will not be included in the production build so you can use them for things like documentation. + +## Available Scripts + +In the project directory, you can run: + +### `npm start` + +Runs the app in the development mode.<br> +Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.<br> +You will also see any lint errors in the console. + +### `npm test` + +Launches the test runner in the interactive watch mode.<br> +See the section about [running tests](#running-tests) for more information. + +### `npm run build` + +Builds the app for production to the `build` folder.<br> +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.<br> +Your app is ready to be deployed! + +See the section about [deployment](#deployment) for more information. + +### `npm run eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Supported Language Features and Polyfills + +This project supports a superset of the latest JavaScript standard.<br> +In addition to [ES6](https://github.com/lukehoban/es6features) syntax features, it also supports: + +* [Exponentiation Operator](https://github.com/rwaldron/exponentiation-operator) (ES2016). +* [Async/await](https://github.com/tc39/ecmascript-asyncawait) (ES2017). +* [Object Rest/Spread Properties](https://github.com/sebmarkbage/ecmascript-rest-spread) (stage 3 proposal). +* [Dynamic import()](https://github.com/tc39/proposal-dynamic-import) (stage 3 proposal) +* [Class Fields and Static Properties](https://github.com/tc39/proposal-class-public-fields) (part of stage 3 proposal). +* [JSX](https://facebook.github.io/react/docs/introducing-jsx.html) and [Flow](https://flowtype.org/) syntax. + +Learn more about [different proposal stages](https://babeljs.io/docs/plugins/#presets-stage-x-experimental-presets-). + +While we recommend to use experimental proposals with some caution, Facebook heavily uses these features in the product code, so we intend to provide [codemods](https://medium.com/@cpojer/effective-javascript-codemods-5a6686bb46fb) if any of these proposals change in the future. + +Note that **the project only includes a few ES6 [polyfills](https://en.wikipedia.org/wiki/Polyfill)**: + +* [`Object.assign()`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) via [`object-assign`](https://github.com/sindresorhus/object-assign). +* [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) via [`promise`](https://github.com/then/promise). +* [`fetch()`](https://developer.mozilla.org/en/docs/Web/API/Fetch_API) via [`whatwg-fetch`](https://github.com/github/fetch). + +If you use any other ES6+ features that need **runtime support** (such as `Array.from()` or `Symbol`), make sure you are including the appropriate polyfills manually, or that the browsers you are targeting already support them. + +## Syntax Highlighting in the Editor + +To configure the syntax highlighting in your favorite text editor, head to the [relevant Babel documentation page](https://babeljs.io/docs/editors) and follow the instructions. Some of the most popular editors are covered. + +## Displaying Lint Output in the Editor + +>Note: this feature is available with `react-scripts@0.2.0` and higher.<br> +>It also only works with npm 3 or higher. + +Some editors, including Sublime Text, Atom, and Visual Studio Code, provide plugins for ESLint. + +They are not required for linting. You should see the linter output right in your terminal as well as the browser console. However, if you prefer the lint results to appear right in your editor, there are some extra steps you can do. + +You would need to install an ESLint plugin for your editor first. Then, add a file called `.eslintrc` to the project root: + +```js +{ + "extends": "react-app" +} +``` + +Now your editor should report the linting warnings. + +Note that even if you edit your `.eslintrc` file further, these changes will **only affect the editor integration**. They won’t affect the terminal and in-browser lint output. This is because Create React App intentionally provides a minimal set of rules that find common mistakes. + +If you want to enforce a coding style for your project, consider using [Prettier](https://github.com/jlongster/prettier) instead of ESLint style rules. + +## Debugging in the Editor + +**This feature is currently only supported by [Visual Studio Code](https://code.visualstudio.com) and [WebStorm](https://www.jetbrains.com/webstorm/).** + +Visual Studio Code and WebStorm support debugging out of the box with Create React App. This enables you as a developer to write and debug your React code without leaving the editor, and most importantly it enables you to have a continuous development workflow, where context switching is minimal, as you don’t have to switch between tools. + +### Visual Studio Code + +You would need to have the latest version of [VS Code](https://code.visualstudio.com) and VS Code [Chrome Debugger Extension](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) installed. + +Then add the block below to your `launch.json` file and put it inside the `.vscode` folder in your app’s root directory. + +```json +{ + "version": "0.2.0", + "configurations": [{ + "name": "Chrome", + "type": "chrome", + "request": "launch", + "url": "http://localhost:3000", + "webRoot": "${workspaceRoot}/src", + "userDataDir": "${workspaceRoot}/.vscode/chrome", + "sourceMapPathOverrides": { + "webpack:///src/*": "${webRoot}/*" + } + }] +} +``` +>Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). + +Start your app by running `npm start`, and start debugging in VS Code by pressing `F5` or by clicking the green debug icon. You can now write code, set breakpoints, make changes to the code, and debug your newly modified code—all from your editor. + +### WebStorm + +You would need to have [WebStorm](https://www.jetbrains.com/webstorm/) and [JetBrains IDE Support](https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji) Chrome extension installed. + +In the WebStorm menu `Run` select `Edit Configurations...`. Then click `+` and select `JavaScript Debug`. Paste `http://localhost:3000` into the URL field and save the configuration. + +>Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). + +Start your app by running `npm start`, then press `^D` on macOS or `F9` on Windows and Linux or click the green debug icon to start debugging in WebStorm. + +The same way you can debug your application in IntelliJ IDEA Ultimate, PhpStorm, PyCharm Pro, and RubyMine. + +## Formatting Code Automatically + +Prettier is an opinionated code formatter with support for JavaScript, CSS and JSON. With Prettier you can format the code you write automatically to ensure a code style within your project. See the [Prettier's GitHub page](https://github.com/prettier/prettier) for more information, and look at this [page to see it in action](https://prettier.github.io/prettier/). + +To format our code whenever we make a commit in git, we need to install the following dependencies: + +```sh +npm install --save husky lint-staged prettier +``` + +Alternatively you may use `yarn`: + +```sh +yarn add husky lint-staged prettier +``` + +* `husky` makes it easy to use githooks as if they are npm scripts. +* `lint-staged` allows us to run scripts on staged files in git. See this [blog post about lint-staged to learn more about it](https://medium.com/@okonetchnikov/make-linting-great-again-f3890e1ad6b8). +* `prettier` is the JavaScript formatter we will run before commits. + +Now we can make sure every file is formatted correctly by adding a few lines to the `package.json` in the project root. + +Add the following line to `scripts` section: + +```diff + "scripts": { ++ "precommit": "lint-staged", + "start": "react-scripts start", + "build": "react-scripts build", +``` + +Next we add a 'lint-staged' field to the `package.json`, for example: + +```diff + "dependencies": { + // ... + }, ++ "lint-staged": { ++ "src/**/*.{js,jsx,json,css}": [ ++ "prettier --single-quote --write", ++ "git add" ++ ] ++ }, + "scripts": { +``` + +Now, whenever you make a commit, Prettier will format the changed files automatically. You can also run `./node_modules/.bin/prettier --single-quote --write "src/**/*.{js,jsx}"` to format your entire project for the first time. + +Next you might want to integrate Prettier in your favorite editor. Read the section on [Editor Integration](https://github.com/prettier/prettier#editor-integration) on the Prettier GitHub page. + +## Changing the Page `<title>` + +You can find the source HTML file in the `public` folder of the generated project. You may edit the `<title>` tag in it to change the title from “React App” to anything else. + +Note that normally you wouldn’t edit files in the `public` folder very often. For example, [adding a stylesheet](#adding-a-stylesheet) is done without touching the HTML. + +If you need to dynamically update the page title based on the content, you can use the browser [`document.title`](https://developer.mozilla.org/en-US/docs/Web/API/Document/title) API. For more complex scenarios when you want to change the title from React components, you can use [React Helmet](https://github.com/nfl/react-helmet), a third party library. + +If you use a custom server for your app in production and want to modify the title before it gets sent to the browser, you can follow advice in [this section](#generating-dynamic-meta-tags-on-the-server). Alternatively, you can pre-build each page as a static HTML file which then loads the JavaScript bundle, which is covered [here](#pre-rendering-into-static-html-files). + +## Installing a Dependency + +The generated project includes React and ReactDOM as dependencies. It also includes a set of scripts used by Create React App as a development dependency. You may install other dependencies (for example, React Router) with `npm`: + +```sh +npm install --save react-router +``` + +Alternatively you may use `yarn`: + +```sh +yarn add react-router +``` + +This works for any library, not just `react-router`. + +## Importing a Component + +This project setup supports ES6 modules thanks to Babel.<br> +While you can still use `require()` and `module.exports`, we encourage you to use [`import` and `export`](http://exploringjs.com/es6/ch_modules.html) instead. + +For example: + +### `Button.js` + +```js +import React, { Component } from 'react'; + +class Button extends Component { + render() { + // ... + } +} + +export default Button; // Don’t forget to use export default! +``` + +### `DangerButton.js` + + +```js +import React, { Component } from 'react'; +import Button from './Button'; // Import a component from another file + +class DangerButton extends Component { + render() { + return <Button color="red" />; + } +} + +export default DangerButton; +``` + +Be aware of the [difference between default and named exports](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281). It is a common source of mistakes. + +We suggest that you stick to using default imports and exports when a module only exports a single thing (for example, a component). That’s what you get when you use `export default Button` and `import Button from './Button'`. + +Named exports are useful for utility modules that export several functions. A module may have at most one default export and as many named exports as you like. + +Learn more about ES6 modules: + +* [When to use the curly braces?](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281) +* [Exploring ES6: Modules](http://exploringjs.com/es6/ch_modules.html) +* [Understanding ES6: Modules](https://leanpub.com/understandinges6/read#leanpub-auto-encapsulating-code-with-modules) + +## Code Splitting + +Instead of downloading the entire app before users can use it, code splitting allows you to split your code into small chunks which you can then load on demand. + +This project setup supports code splitting via [dynamic `import()`](http://2ality.com/2017/01/import-operator.html#loading-code-on-demand). Its [proposal](https://github.com/tc39/proposal-dynamic-import) is in stage 3. The `import()` function-like form takes the module name as an argument and returns a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) which always resolves to the namespace object of the module. + +Here is an example: + +### `moduleA.js` + +```js +const moduleA = 'Hello'; + +export { moduleA }; +``` +### `App.js` + +```js +import React, { Component } from 'react'; + +class App extends Component { + handleClick = () => { + import('./moduleA') + .then(({ moduleA }) => { + // Use moduleA + }) + .catch(err => { + // Handle failure + }); + }; + + render() { + return ( + <div> + <button onClick={this.handleClick}>Load</button> + </div> + ); + } +} + +export default App; +``` + +This will make `moduleA.js` and all its unique dependencies as a separate chunk that only loads after the user clicks the 'Load' button. + +You can also use it with `async` / `await` syntax if you prefer it. + +### With React Router + +If you are using React Router check out [this tutorial](http://serverless-stack.com/chapters/code-splitting-in-create-react-app.html) on how to use code splitting with it. You can find the companion GitHub repository [here](https://github.com/AnomalyInnovations/serverless-stack-demo-client/tree/code-splitting-in-create-react-app). + +## Adding a Stylesheet + +This project setup uses [Webpack](https://webpack.js.org/) for handling all assets. Webpack offers a custom way of “extending” the concept of `import` beyond JavaScript. To express that a JavaScript file depends on a CSS file, you need to **import the CSS from the JavaScript file**: + +### `Button.css` + +```css +.Button { + padding: 20px; +} +``` + +### `Button.js` + +```js +import React, { Component } from 'react'; +import './Button.css'; // Tell Webpack that Button.js uses these styles + +class Button extends Component { + render() { + // You can use them as regular CSS styles + return <div className="Button" />; + } +} +``` + +**This is not required for React** but many people find this feature convenient. You can read about the benefits of this approach [here](https://medium.com/seek-ui-engineering/block-element-modifying-your-javascript-components-d7f99fcab52b). However you should be aware that this makes your code less portable to other build tools and environments than Webpack. + +In development, expressing dependencies this way allows your styles to be reloaded on the fly as you edit them. In production, all CSS files will be concatenated into a single minified `.css` file in the build output. + +If you are concerned about using Webpack-specific semantics, you can put all your CSS right into `src/index.css`. It would still be imported from `src/index.js`, but you could always remove that import if you later migrate to a different build tool. + +## Post-Processing CSS + +This project setup minifies your CSS and adds vendor prefixes to it automatically through [Autoprefixer](https://github.com/postcss/autoprefixer) so you don’t need to worry about it. + +For example, this: + +```css +.App { + display: flex; + flex-direction: row; + align-items: center; +} +``` + +becomes this: + +```css +.App { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; +} +``` + +If you need to disable autoprefixing for some reason, [follow this section](https://github.com/postcss/autoprefixer#disabling). + +## Adding a CSS Preprocessor (Sass, Less etc.) + +Generally, we recommend that you don’t reuse the same CSS classes across different components. For example, instead of using a `.Button` CSS class in `<AcceptButton>` and `<RejectButton>` components, we recommend creating a `<Button>` component with its own `.Button` styles, that both `<AcceptButton>` and `<RejectButton>` can render (but [not inherit](https://facebook.github.io/react/docs/composition-vs-inheritance.html)). + +Following this rule often makes CSS preprocessors less useful, as features like mixins and nesting are replaced by component composition. You can, however, integrate a CSS preprocessor if you find it valuable. In this walkthrough, we will be using Sass, but you can also use Less, or another alternative. + +First, let’s install the command-line interface for Sass: + +```sh +npm install --save node-sass-chokidar +``` + +Alternatively you may use `yarn`: + +```sh +yarn add node-sass-chokidar +``` + +Then in `package.json`, add the following lines to `scripts`: + +```diff + "scripts": { ++ "build-css": "node-sass-chokidar src/ -o src/", ++ "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive", + "start": "react-scripts start", + "build": "react-scripts build", + "test": "react-scripts test --env=jsdom", +``` + +>Note: To use a different preprocessor, replace `build-css` and `watch-css` commands according to your preprocessor’s documentation. + +Now you can rename `src/App.css` to `src/App.scss` and run `npm run watch-css`. The watcher will find every Sass file in `src` subdirectories, and create a corresponding CSS file next to it, in our case overwriting `src/App.css`. Since `src/App.js` still imports `src/App.css`, the styles become a part of your application. You can now edit `src/App.scss`, and `src/App.css` will be regenerated. + +To share variables between Sass files, you can use Sass imports. For example, `src/App.scss` and other component style files could include `@import "./shared.scss";` with variable definitions. + +To enable importing files without using relative paths, you can add the `--include-path` option to the command in `package.json`. + +``` +"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/", +"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive", +``` + +This will allow you to do imports like + +```scss +@import 'styles/_colors.scss'; // assuming a styles directory under src/ +@import 'nprogress/nprogress'; // importing a css file from the nprogress node module +``` + +At this point you might want to remove all CSS files from the source control, and add `src/**/*.css` to your `.gitignore` file. It is generally a good practice to keep the build products outside of the source control. + +As a final step, you may find it convenient to run `watch-css` automatically with `npm start`, and run `build-css` as a part of `npm run build`. You can use the `&&` operator to execute two scripts sequentially. However, there is no cross-platform way to run two scripts in parallel, so we will install a package for this: + +```sh +npm install --save npm-run-all +``` + +Alternatively you may use `yarn`: + +```sh +yarn add npm-run-all +``` + +Then we can change `start` and `build` scripts to include the CSS preprocessor commands: + +```diff + "scripts": { + "build-css": "node-sass-chokidar src/ -o src/", + "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive", +- "start": "react-scripts start", +- "build": "react-scripts build", ++ "start-js": "react-scripts start", ++ "start": "npm-run-all -p watch-css start-js", ++ "build": "npm run build-css && react-scripts build", + "test": "react-scripts test --env=jsdom", + "eject": "react-scripts eject" + } +``` + +Now running `npm start` and `npm run build` also builds Sass files. + +**Why `node-sass-chokidar`?** + +`node-sass` has been reported as having the following issues: + +- `node-sass --watch` has been reported to have *performance issues* in certain conditions when used in a virtual machine or with docker. + +- Infinite styles compiling [#1939](https://github.com/facebookincubator/create-react-app/issues/1939) + +- `node-sass` has been reported as having issues with detecting new files in a directory [#1891](https://github.com/sass/node-sass/issues/1891) + + `node-sass-chokidar` is used here as it addresses these issues. + +## Adding Images, Fonts, and Files + +With Webpack, using static assets like images and fonts works similarly to CSS. + +You can **`import` a file right in a JavaScript module**. This tells Webpack to include that file in the bundle. Unlike CSS imports, importing a file gives you a string value. This value is the final path you can reference in your code, e.g. as the `src` attribute of an image or the `href` of a link to a PDF. + +To reduce the number of requests to the server, importing images that are less than 10,000 bytes returns a [data URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) instead of a path. This applies to the following file extensions: bmp, gif, jpg, jpeg, and png. SVG files are excluded due to [#1153](https://github.com/facebookincubator/create-react-app/issues/1153). + +Here is an example: + +```js +import React from 'react'; +import logo from './logo.png'; // Tell Webpack this JS file uses this image + +console.log(logo); // /logo.84287d09.png + +function Header() { + // Import result is the URL of your image + return <img src={logo} alt="Logo" />; +} + +export default Header; +``` + +This ensures that when the project is built, Webpack will correctly move the images into the build folder, and provide us with correct paths. + +This works in CSS too: + +```css +.Logo { + background-image: url(./logo.png); +} +``` + +Webpack finds all relative module references in CSS (they start with `./`) and replaces them with the final paths from the compiled bundle. If you make a typo or accidentally delete an important file, you will see a compilation error, just like when you import a non-existent JavaScript module. The final filenames in the compiled bundle are generated by Webpack from content hashes. If the file content changes in the future, Webpack will give it a different name in production so you don’t need to worry about long-term caching of assets. + +Please be advised that this is also a custom feature of Webpack. + +**It is not required for React** but many people enjoy it (and React Native uses a similar mechanism for images).<br> +An alternative way of handling static assets is described in the next section. + +## Using the `public` Folder + +>Note: this feature is available with `react-scripts@0.5.0` and higher. + +### Changing the HTML + +The `public` folder contains the HTML file so you can tweak it, for example, to [set the page title](#changing-the-page-title). +The `<script>` tag with the compiled code will be added to it automatically during the build process. + +### Adding Assets Outside of the Module System + +You can also add other assets to the `public` folder. + +Note that we normally encourage you to `import` assets in JavaScript files instead. +For example, see the sections on [adding a stylesheet](#adding-a-stylesheet) and [adding images and fonts](#adding-images-fonts-and-files). +This mechanism provides a number of benefits: + +* Scripts and stylesheets get minified and bundled together to avoid extra network requests. +* Missing files cause compilation errors instead of 404 errors for your users. +* Result filenames include content hashes so you don’t need to worry about browsers caching their old versions. + +However there is an **escape hatch** that you can use to add an asset outside of the module system. + +If you put a file into the `public` folder, it will **not** be processed by Webpack. Instead it will be copied into the build folder untouched. To reference assets in the `public` folder, you need to use a special variable called `PUBLIC_URL`. + +Inside `index.html`, you can use it like this: + +```html +<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> +``` + +Only files inside the `public` folder will be accessible by `%PUBLIC_URL%` prefix. If you need to use a file from `src` or `node_modules`, you’ll have to copy it there to explicitly specify your intention to make this file a part of the build. + +When you run `npm run build`, Create React App will substitute `%PUBLIC_URL%` with a correct absolute path so your project works even if you use client-side routing or host it at a non-root URL. + +In JavaScript code, you can use `process.env.PUBLIC_URL` for similar purposes: + +```js +render() { + // Note: this is an escape hatch and should be used sparingly! + // Normally we recommend using `import` for getting asset URLs + // as described in “Adding Images and Fonts” above this section. + return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />; +} +``` + +Keep in mind the downsides of this approach: + +* None of the files in `public` folder get post-processed or minified. +* Missing files will not be called at compilation time, and will cause 404 errors for your users. +* Result filenames won’t include content hashes so you’ll need to add query arguments or rename them every time they change. + +### When to Use the `public` Folder + +Normally we recommend importing [stylesheets](#adding-a-stylesheet), [images, and fonts](#adding-images-fonts-and-files) from JavaScript. +The `public` folder is useful as a workaround for a number of less common cases: + +* You need a file with a specific name in the build output, such as [`manifest.webmanifest`](https://developer.mozilla.org/en-US/docs/Web/Manifest). +* You have thousands of images and need to dynamically reference their paths. +* You want to include a small script like [`pace.js`](http://github.hubspot.com/pace/docs/welcome/) outside of the bundled code. +* Some library may be incompatible with Webpack and you have no other option but to include it as a `<script>` tag. + +Note that if you add a `<script>` that declares global variables, you also need to read the next section on using them. + +## Using Global Variables + +When you include a script in the HTML file that defines global variables and try to use one of these variables in the code, the linter will complain because it cannot see the definition of the variable. + +You can avoid this by reading the global variable explicitly from the `window` object, for example: + +```js +const $ = window.$; +``` + +This makes it obvious you are using a global variable intentionally rather than because of a typo. + +Alternatively, you can force the linter to ignore any line by adding `// eslint-disable-line` after it. + +## Adding Bootstrap + +You don’t have to use [React Bootstrap](https://react-bootstrap.github.io) together with React but it is a popular library for integrating Bootstrap with React apps. If you need it, you can integrate it with Create React App by following these steps: + +Install React Bootstrap and Bootstrap from npm. React Bootstrap does not include Bootstrap CSS so this needs to be installed as well: + +```sh +npm install --save react-bootstrap bootstrap@3 +``` + +Alternatively you may use `yarn`: + +```sh +yarn add react-bootstrap bootstrap@3 +``` + +Import Bootstrap CSS and optionally Bootstrap theme CSS in the beginning of your ```src/index.js``` file: + +```js +import 'bootstrap/dist/css/bootstrap.css'; +import 'bootstrap/dist/css/bootstrap-theme.css'; +// Put any other imports below so that CSS from your +// components takes precedence over default styles. +``` + +Import required React Bootstrap components within ```src/App.js``` file or your custom component files: + +```js +import { Navbar, Jumbotron, Button } from 'react-bootstrap'; +``` + +Now you are ready to use the imported React Bootstrap components within your component hierarchy defined in the render method. Here is an example [`App.js`](https://gist.githubusercontent.com/gaearon/85d8c067f6af1e56277c82d19fd4da7b/raw/6158dd991b67284e9fc8d70b9d973efe87659d72/App.js) redone using React Bootstrap. + +### Using a Custom Theme + +Sometimes you might need to tweak the visual styles of Bootstrap (or equivalent package).<br> +We suggest the following approach: + +* Create a new package that depends on the package you wish to customize, e.g. Bootstrap. +* Add the necessary build steps to tweak the theme, and publish your package on npm. +* Install your own theme npm package as a dependency of your app. + +Here is an example of adding a [customized Bootstrap](https://medium.com/@tacomanator/customizing-create-react-app-aa9ffb88165) that follows these steps. + +## Adding Flow + +Flow is a static type checker that helps you write code with fewer bugs. Check out this [introduction to using static types in JavaScript](https://medium.com/@preethikasireddy/why-use-static-types-in-javascript-part-1-8382da1e0adb) if you are new to this concept. + +Recent versions of [Flow](http://flowtype.org/) work with Create React App projects out of the box. + +To add Flow to a Create React App project, follow these steps: + +1. Run `npm install --save flow-bin` (or `yarn add flow-bin`). +2. Add `"flow": "flow"` to the `scripts` section of your `package.json`. +3. Run `npm run flow init` (or `yarn flow init`) to create a [`.flowconfig` file](https://flowtype.org/docs/advanced-configuration.html) in the root directory. +4. Add `// @flow` to any files you want to type check (for example, to `src/App.js`). + +Now you can run `npm run flow` (or `yarn flow`) to check the files for type errors. +You can optionally use an IDE like [Nuclide](https://nuclide.io/docs/languages/flow/) for a better integrated experience. +In the future we plan to integrate it into Create React App even more closely. + +To learn more about Flow, check out [its documentation](https://flowtype.org/). + +## Adding Custom Environment Variables + +>Note: this feature is available with `react-scripts@0.2.3` and higher. + +Your project can consume variables declared in your environment as if they were declared locally in your JS files. By +default you will have `NODE_ENV` defined for you, and any other environment variables starting with +`REACT_APP_`. + +**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](#injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them. + +>Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid accidentally [exposing a private key on the machine that could have the same name](https://github.com/facebookincubator/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running. + +These environment variables will be defined for you on `process.env`. For example, having an environment +variable named `REACT_APP_SECRET_CODE` will be exposed in your JS as `process.env.REACT_APP_SECRET_CODE`. + +There is also a special built-in environment variable called `NODE_ENV`. You can read it from `process.env.NODE_ENV`. When you run `npm start`, it is always equal to `'development'`, when you run `npm test` it is always equal to `'test'`, and when you run `npm run build` to make a production bundle, it is always equal to `'production'`. **You cannot override `NODE_ENV` manually.** This prevents developers from accidentally deploying a slow development build to production. + +These environment variables can be useful for displaying information conditionally based on where the project is +deployed or consuming sensitive data that lives outside of version control. + +First, you need to have environment variables defined. For example, let’s say you wanted to consume a secret defined +in the environment inside a `<form>`: + +```jsx +render() { + return ( + <div> + <small>You are running this application in <b>{process.env.NODE_ENV}</b> mode.</small> + <form> + <input type="hidden" defaultValue={process.env.REACT_APP_SECRET_CODE} /> + </form> + </div> + ); +} +``` + +During the build, `process.env.REACT_APP_SECRET_CODE` will be replaced with the current value of the `REACT_APP_SECRET_CODE` environment variable. Remember that the `NODE_ENV` variable will be set for you automatically. + +When you load the app in the browser and inspect the `<input>`, you will see its value set to `abcdef`, and the bold text will show the environment provided when using `npm start`: + +```html +<div> + <small>You are running this application in <b>development</b> mode.</small> + <form> + <input type="hidden" value="abcdef" /> + </form> +</div> +``` + +The above form is looking for a variable called `REACT_APP_SECRET_CODE` from the environment. In order to consume this +value, we need to have it defined in the environment. This can be done using two ways: either in your shell or in +a `.env` file. Both of these ways are described in the next few sections. + +Having access to the `NODE_ENV` is also useful for performing actions conditionally: + +```js +if (process.env.NODE_ENV !== 'production') { + analytics.disable(); +} +``` + +When you compile the app with `npm run build`, the minification step will strip out this condition, and the resulting bundle will be smaller. + +### Referencing Environment Variables in the HTML + +>Note: this feature is available with `react-scripts@0.9.0` and higher. + +You can also access the environment variables starting with `REACT_APP_` in the `public/index.html`. For example: + +```html +<title>%REACT_APP_WEBSITE_NAME% +``` + +Note that the caveats from the above section apply: + +* Apart from a few built-in variables (`NODE_ENV` and `PUBLIC_URL`), variable names must start with `REACT_APP_` to work. +* The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](#generating-dynamic-meta-tags-on-the-server). + +### Adding Temporary Environment Variables In Your Shell + +Defining environment variables can vary between OSes. It’s also important to know that this manner is temporary for the +life of the shell session. + +#### Windows (cmd.exe) + +```cmd +set REACT_APP_SECRET_CODE=abcdef&&npm start +``` + +(Note: the lack of whitespace is intentional.) + +#### Linux, macOS (Bash) + +```bash +REACT_APP_SECRET_CODE=abcdef npm start +``` + +### Adding Development Environment Variables In `.env` + +>Note: this feature is available with `react-scripts@0.5.0` and higher. + +To define permanent environment variables, create a file called `.env` in the root of your project: + +``` +REACT_APP_SECRET_CODE=abcdef +``` + +`.env` files **should be** checked into source control (with the exclusion of `.env*.local`). + +#### What other `.env` files are can be used? + +>Note: this feature is **available with `react-scripts@1.0.0` and higher**. + +* `.env`: Default. +* `.env.local`: Local overrides. **This file is loaded for all environments except test.** +* `.env.development`, `.env.test`, `.env.production`: Environment-specific settings. +* `.env.development.local`, `.env.test.local`, `.env.production.local`: Local overrides of environment-specific settings. + +Files on the left have more priority than files on the right: + +* `npm start`: `.env.development.local`, `.env.development`, `.env.local`, `.env` +* `npm run build`: `.env.production.local`, `.env.production`, `.env.local`, `.env` +* `npm test`: `.env.test.local`, `.env.test`, `.env` (note `.env.local` is missing) + +These variables will act as the defaults if the machine does not explicitly set them.
+Please refer to the [dotenv documentation](https://github.com/motdotla/dotenv) for more details. + +>Note: If you are defining environment variables for development, your CI and/or hosting platform will most likely need +these defined as well. Consult their documentation how to do this. For example, see the documentation for [Travis CI](https://docs.travis-ci.com/user/environment-variables/) or [Heroku](https://devcenter.heroku.com/articles/config-vars). + +## Can I Use Decorators? + +Many popular libraries use [decorators](https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841) in their documentation.
+Create React App doesn’t support decorator syntax at the moment because: + +* It is an experimental proposal and is subject to change. +* The current specification version is not officially supported by Babel. +* If the specification changes, we won’t be able to write a codemod because we don’t use them internally at Facebook. + +However in many cases you can rewrite decorator-based code without decorators just as fine.
+Please refer to these two threads for reference: + +* [#214](https://github.com/facebookincubator/create-react-app/issues/214) +* [#411](https://github.com/facebookincubator/create-react-app/issues/411) + +Create React App will add decorator support when the specification advances to a stable stage. + +## Integrating with an API Backend + +These tutorials will help you to integrate your app with an API backend running on another port, +using `fetch()` to access it. + +### Node +Check out [this tutorial](https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/). +You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo). + +### Ruby on Rails + +Check out [this tutorial](https://www.fullstackreact.com/articles/how-to-get-create-react-app-to-work-with-your-rails-api/). +You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo-rails). + +## Proxying API Requests in Development + +>Note: this feature is available with `react-scripts@0.2.3` and higher. + +People often serve the front-end React app from the same host and port as their backend implementation.
+For example, a production setup might look like this after the app is deployed: + +``` +/ - static server returns index.html with React app +/todos - static server returns index.html with React app +/api/todos - server handles any /api/* requests using the backend implementation +``` + +Such setup is **not** required. However, if you **do** have a setup like this, it is convenient to write requests like `fetch('/api/todos')` without worrying about redirecting them to another host or port during development. + +To tell the development server to proxy any unknown requests to your API server in development, add a `proxy` field to your `package.json`, for example: + +```js + "proxy": "http://localhost:4000", +``` + +This way, when you `fetch('/api/todos')` in development, the development server will recognize that it’s not a static asset, and will proxy your request to `http://localhost:4000/api/todos` as a fallback. The development server will only attempt to send requests without a `text/html` accept header to the proxy. + +Conveniently, this avoids [CORS issues](http://stackoverflow.com/questions/21854516/understanding-ajax-cors-and-security-considerations) and error messages like this in development: + +``` +Fetch API cannot load http://localhost:4000/api/todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. +``` + +Keep in mind that `proxy` only has effect in development (with `npm start`), and it is up to you to ensure that URLs like `/api/todos` point to the right thing in production. You don’t have to use the `/api` prefix. Any unrecognized request without a `text/html` accept header will be redirected to the specified `proxy`. + +The `proxy` option supports HTTP, HTTPS and WebSocket connections.
+If the `proxy` option is **not** flexible enough for you, alternatively you can: + +* [Configure the proxy yourself](#configuring-the-proxy-manually) +* Enable CORS on your server ([here’s how to do it for Express](http://enable-cors.org/server_expressjs.html)). +* Use [environment variables](#adding-custom-environment-variables) to inject the right server host and port into your app. + +### "Invalid Host Header" Errors After Configuring Proxy + +When you enable the `proxy` option, you opt into a more strict set of host checks. This is necessary because leaving the backend open to remote hosts makes your computer vulnerable to DNS rebinding attacks. The issue is explained in [this article](https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a) and [this issue](https://github.com/webpack/webpack-dev-server/issues/887). + +This shouldn’t affect you when developing on `localhost`, but if you develop remotely like [described here](https://github.com/facebookincubator/create-react-app/issues/2271), you will see this error in the browser after enabling the `proxy` option: + +>Invalid Host header + +To work around it, you can specify your public development host in a file called `.env.development` in the root of your project: + +``` +HOST=mypublicdevhost.com +``` + +If you restart the development server now and load the app from the specified host, it should work. + +If you are still having issues or if you’re using a more exotic environment like a cloud editor, you can bypass the host check completely by adding a line to `.env.development.local`. **Note that this is dangerous and exposes your machine to remote code execution from malicious websites:** + +``` +# NOTE: THIS IS DANGEROUS! +# It exposes your machine to attacks from the websites you visit. +DANGEROUSLY_DISABLE_HOST_CHECK=true +``` + +We don’t recommend this approach. + +### Configuring the Proxy Manually + +>Note: this feature is available with `react-scripts@1.0.0` and higher. + +If the `proxy` option is **not** flexible enough for you, you can specify an object in the following form (in `package.json`).
+You may also specify any configuration value [`http-proxy-middleware`](https://github.com/chimurai/http-proxy-middleware#options) or [`http-proxy`](https://github.com/nodejitsu/node-http-proxy#options) supports. +```js +{ + // ... + "proxy": { + "/api": { + "target": "", + "ws": true + // ... + } + } + // ... +} +``` + +All requests matching this path will be proxies, no exceptions. This includes requests for `text/html`, which the standard `proxy` option does not proxy. + +If you need to specify multiple proxies, you may do so by specifying additional entries. +You may also narrow down matches using `*` and/or `**`, to match the path exactly or any subpath. +```js +{ + // ... + "proxy": { + // Matches any request starting with /api + "/api": { + "target": "", + "ws": true + // ... + }, + // Matches any request starting with /foo + "/foo": { + "target": "", + "ssl": true, + "pathRewrite": { + "^/foo": "/foo/beta" + } + // ... + }, + // Matches /bar/abc.html but not /bar/sub/def.html + "/bar/*.html": { + "target": "", + // ... + }, + // Matches /baz/abc.html and /baz/sub/def.html + "/baz/**/*.html": { + "target": "" + // ... + } + } + // ... +} +``` + +### Configuring a WebSocket Proxy + +When setting up a WebSocket proxy, there are a some extra considerations to be aware of. + +If you’re using a WebSocket engine like [Socket.io](https://socket.io/), you must have a Socket.io server running that you can use as the proxy target. Socket.io will not work with a standard WebSocket server. Specifically, don't expect Socket.io to work with [the websocket.org echo test](http://websocket.org/echo.html). + +There’s some good documentation available for [setting up a Socket.io server](https://socket.io/docs/). + +Standard WebSockets **will** work with a standard WebSocket server as well as the websocket.org echo test. You can use libraries like [ws](https://github.com/websockets/ws) for the server, with [native WebSockets in the browser](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket). + +Either way, you can proxy WebSocket requests manually in `package.json`: + +```js +{ + // ... + "proxy": { + "/socket": { + // Your compatible WebSocket server + "target": "ws://", + // Tell http-proxy-middleware that this is a WebSocket proxy. + // Also allows you to proxy WebSocket requests without an additional HTTP request + // https://github.com/chimurai/http-proxy-middleware#external-websocket-upgrade + "ws": true + // ... + } + } + // ... +} +``` + +## Using HTTPS in Development + +>Note: this feature is available with `react-scripts@0.4.0` and higher. + +You may require the dev server to serve pages over HTTPS. One particular case where this could be useful is when using [the "proxy" feature](#proxying-api-requests-in-development) to proxy requests to an API server when that API server is itself serving HTTPS. + +To do this, set the `HTTPS` environment variable to `true`, then start the dev server as usual with `npm start`: + +#### Windows (cmd.exe) + +```cmd +set HTTPS=true&&npm start +``` + +(Note: the lack of whitespace is intentional.) + +#### Linux, macOS (Bash) + +```bash +HTTPS=true npm start +``` + +Note that the server will use a self-signed certificate, so your web browser will almost definitely display a warning upon accessing the page. + +## Generating Dynamic `` Tags on the Server + +Since Create React App doesn’t support server rendering, you might be wondering how to make `` tags dynamic and reflect the current URL. To solve this, we recommend to add placeholders into the HTML, like this: + +```html + + + + + +``` + +Then, on the server, regardless of the backend you use, you can read `index.html` into memory and replace `__OG_TITLE__`, `__OG_DESCRIPTION__`, and any other placeholders with values depending on the current URL. Just make sure to sanitize and escape the interpolated values so that they are safe to embed into HTML! + +If you use a Node server, you can even share the route matching logic between the client and the server. However duplicating it also works fine in simple cases. + +## Pre-Rendering into Static HTML Files + +If you’re hosting your `build` with a static hosting provider you can use [react-snapshot](https://www.npmjs.com/package/react-snapshot) to generate HTML pages for each route, or relative link, in your application. These pages will then seamlessly become active, or “hydrated”, when the JavaScript bundle has loaded. + +There are also opportunities to use this outside of static hosting, to take the pressure off the server when generating and caching routes. + +The primary benefit of pre-rendering is that you get the core content of each page _with_ the HTML payload—regardless of whether or not your JavaScript bundle successfully downloads. It also increases the likelihood that each route of your application will be picked up by search engines. + +You can read more about [zero-configuration pre-rendering (also called snapshotting) here](https://medium.com/superhighfives/an-almost-static-stack-6df0a2791319). + +## Injecting Data from the Server into the Page + +Similarly to the previous section, you can leave some placeholders in the HTML that inject global variables, for example: + +```js + + + + +``` + +Then, on the server, you can replace `__SERVER_DATA__` with a JSON of real data right before sending the response. The client code can then read `window.SERVER_DATA` to use it. **Make sure to [sanitize the JSON before sending it to the client](https://medium.com/node-security/the-most-common-xss-vulnerability-in-react-js-applications-2bdffbcc1fa0) as it makes your app vulnerable to XSS attacks.** + +## Running Tests + +>Note: this feature is available with `react-scripts@0.3.0` and higher.
+>[Read the migration guide to learn how to enable it in older projects!](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md#migrating-from-023-to-030) + +Create React App uses [Jest](https://facebook.github.io/jest/) as its test runner. To prepare for this integration, we did a [major revamp](https://facebook.github.io/jest/blog/2016/09/01/jest-15.html) of Jest so if you heard bad things about it years ago, give it another try. + +Jest is a Node-based runner. This means that the tests always run in a Node environment and not in a real browser. This lets us enable fast iteration speed and prevent flakiness. + +While Jest provides browser globals such as `window` thanks to [jsdom](https://github.com/tmpvar/jsdom), they are only approximations of the real browser behavior. Jest is intended to be used for unit tests of your logic and your components rather than the DOM quirks. + +We recommend that you use a separate tool for browser end-to-end tests if you need them. They are beyond the scope of Create React App. + +### Filename Conventions + +Jest will look for test files with any of the following popular naming conventions: + +* Files with `.js` suffix in `__tests__` folders. +* Files with `.test.js` suffix. +* Files with `.spec.js` suffix. + +The `.test.js` / `.spec.js` files (or the `__tests__` folders) can be located at any depth under the `src` top level folder. + +We recommend to put the test files (or `__tests__` folders) next to the code they are testing so that relative imports appear shorter. For example, if `App.test.js` and `App.js` are in the same folder, the test just needs to `import App from './App'` instead of a long relative path. Colocation also helps find tests more quickly in larger projects. + +### Command Line Interface + +When you run `npm test`, Jest will launch in the watch mode. Every time you save a file, it will re-run the tests, just like `npm start` recompiles the code. + +The watcher includes an interactive command-line interface with the ability to run all tests, or focus on a search pattern. It is designed this way so that you can keep it open and enjoy fast re-runs. You can learn the commands from the “Watch Usage” note that the watcher prints after every run: + +![Jest watch mode](http://facebook.github.io/jest/img/blog/15-watch.gif) + +### Version Control Integration + +By default, when you run `npm test`, Jest will only run the tests related to files changed since the last commit. This is an optimization designed to make your tests run fast regardless of how many tests you have. However it assumes that you don’t often commit the code that doesn’t pass the tests. + +Jest will always explicitly mention that it only ran tests related to the files changed since the last commit. You can also press `a` in the watch mode to force Jest to run all tests. + +Jest will always run all tests on a [continuous integration](#continuous-integration) server or if the project is not inside a Git or Mercurial repository. + +### Writing Tests + +To create tests, add `it()` (or `test()`) blocks with the name of the test and its code. You may optionally wrap them in `describe()` blocks for logical grouping but this is neither required nor recommended. + +Jest provides a built-in `expect()` global function for making assertions. A basic test could look like this: + +```js +import sum from './sum'; + +it('sums numbers', () => { + expect(sum(1, 2)).toEqual(3); + expect(sum(2, 2)).toEqual(4); +}); +``` + +All `expect()` matchers supported by Jest are [extensively documented here](http://facebook.github.io/jest/docs/expect.html).
+You can also use [`jest.fn()` and `expect(fn).toBeCalled()`](http://facebook.github.io/jest/docs/expect.html#tohavebeencalled) to create “spies” or mock functions. + +### Testing Components + +There is a broad spectrum of component testing techniques. They range from a “smoke test” verifying that a component renders without throwing, to shallow rendering and testing some of the output, to full rendering and testing component lifecycle and state changes. + +Different projects choose different testing tradeoffs based on how often components change, and how much logic they contain. If you haven’t decided on a testing strategy yet, we recommend that you start with creating simple smoke tests for your components: + +```js +import React from 'react'; +import ReactDOM from 'react-dom'; +import App from './App'; + +it('renders without crashing', () => { + const div = document.createElement('div'); + ReactDOM.render(, div); +}); +``` + +This test mounts a component and makes sure that it didn’t throw during rendering. Tests like this provide a lot value with very little effort so they are great as a starting point, and this is the test you will find in `src/App.test.js`. + +When you encounter bugs caused by changing components, you will gain a deeper insight into which parts of them are worth testing in your application. This might be a good time to introduce more specific tests asserting specific expected output or behavior. + +If you’d like to test components in isolation from the child components they render, we recommend using [`shallow()` rendering API](http://airbnb.io/enzyme/docs/api/shallow.html) from [Enzyme](http://airbnb.io/enzyme/). To install it, run: + +```sh +npm install --save enzyme react-test-renderer +``` + +Alternatively you may use `yarn`: + +```sh +yarn add enzyme react-test-renderer +``` + +You can write a smoke test with it too: + +```js +import React from 'react'; +import { shallow } from 'enzyme'; +import App from './App'; + +it('renders without crashing', () => { + shallow(); +}); +``` + +Unlike the previous smoke test using `ReactDOM.render()`, this test only renders `` and doesn’t go deeper. For example, even if `` itself renders a ` + + + ); +}; + +ModalDialog.propTypes = { + children: PropTypes.node.isRequired, + onRequestClose: PropTypes.func.isRequired, + classes: PropTypes.object.isRequired, +}; + +export default withStyles(styles)(ModalDialog); diff --git a/src/index.js b/src/index.js index f96c508e3743bf..c761cbbbfababd 100644 --- a/src/index.js +++ b/src/index.js @@ -1 +1,2 @@ -export { default } from './DatePicker.jsx'; +export { default } from './DatePicker/DatePickerModal.jsx'; + diff --git a/webpack.config.js b/webpack.config.js index d64186139b1869..5cad1022890057 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -26,6 +26,9 @@ module.exports = { }, ], }, + resolve: { + extensions: ['.js', '.jsx'], + }, plugins: [ new PeerDepsExternalsPlugin(), ], From c1ed5be83530af2eab0c44b65501c8d9f801a4fd Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 11 Oct 2017 18:50:59 +0300 Subject: [PATCH 0004/1801] Ability to select date --- docs/package.json | 2 +- docs/src/App.js | 14 +++- package-lock.json | 8 +++ package.json | 5 +- src/DatePicker/Calendar.jsx | 111 +++++++++++++++++++++++++++++ src/DatePicker/CalendarHeader.jsx | 48 +++++++++++++ src/DatePicker/DatePicker.jsx | 46 ++++++++---- src/DatePicker/DatePickerModal.jsx | 17 +++-- src/_shared/ModalDialog.jsx | 2 +- 9 files changed, 231 insertions(+), 22 deletions(-) create mode 100644 src/DatePicker/Calendar.jsx create mode 100644 src/DatePicker/CalendarHeader.jsx diff --git a/docs/package.json b/docs/package.json index 556ea332a9e71a..cd1b4cef7da207 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { - "material-ui": "^1.0.0-beta.13", + "material-ui": "^1.0.0`-beta.13", "react": "^16.0.0", "react-dom": "^16.0.0", "react-scripts": "1.0.14" diff --git a/docs/src/App.js b/docs/src/App.js index bd3c403d9d9d3d..0a741cdf5b626f 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -5,7 +5,16 @@ import './App.css'; class App extends Component { + state = { + selectedDate: new Date() + } + + handleDateChange = date => { + this.setState({ selectedDate: date }) + } + render() { + const { selectedDate } = this.state return (
@@ -25,7 +34,10 @@ class App extends Component {
- +
diff --git a/package-lock.json b/package-lock.json index 880e4f452989fd..5afe585d09a6b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4007,6 +4007,14 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz", "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=" }, + "moment-range": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.0.3.tgz", + "integrity": "sha1-96FWfHMijzF0acszFI6plvecy5o=", + "requires": { + "es6-symbol": "3.1.1" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/package.json b/package.json index ceec4737e37d8a..94a93eb1bb4ed0 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,14 @@ "peerDependencies": { "react": "^16.0.0", "prop-types": "^15.6.0", - "material-ui": "^1.0.0-beta.13" + "material-ui": "^1.0.0-beta.13", + "classnames": "^2.2.5" }, "dependencies": { + "classnames": "^2.2.5", "material-ui": "^1.0.0-beta.13", "moment": "^2.18.1", + "moment-range": "^3.0.3", "peer-deps-externals-webpack-plugin": "^1.0.2", "prop-types": "^15.6.0", "react": "^16.0.0", diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx new file mode 100644 index 00000000000000..f906b7fb9d6a3d --- /dev/null +++ b/src/DatePicker/Calendar.jsx @@ -0,0 +1,111 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import { withStyles, IconButton } from 'material-ui'; +import Moment from 'moment'; +import { extendMoment } from 'moment-range'; +import classnames from 'classnames'; +import CalendarHeader from './CalendarHeader'; + +const moment = extendMoment(Moment); + +class Calendar extends PureComponent { + static propTypes = { + date: PropTypes.shape({}).isRequired, + classes: PropTypes.shape({}).isRequired, + onDateChange: PropTypes.func.isRequired, + } + + state = { + currentMonth: this.props.date.clone().startOf('month'), + } + + onDateSelect = (day) => { + this.props.onDateChange(day); + } + + handleChangeMonth = (newMonth) => { + this.setState({ currentMonth: newMonth }); + } + + renderWeeks = () => { + const { currentMonth } = this.state; + const start = currentMonth.clone().startOf('week'); + const end = currentMonth.clone().endOf('month').endOf('week'); + + return Array.from(moment.range(start, end).by('week')) + .map(week => ( +
+ { this.renderDays(week) } +
+ )); + } + + renderDays = (week) => { + const { classes, date } = this.props; + + const end = week.clone().endOf('week'); + const currentMonthNumber = this.state.currentMonth.get('month'); + + return Array.from(moment.range(week, end).by('day')) + .map((day) => { + const dayClass = classnames(classes.day, { + [classes.hidden]: day.get('month') !== currentMonthNumber, + [classes.selected]: day.toString() === date.toString(), + }); + + return ( + this.onDateSelect(day)} + > + { day.format('DD')} + + ); + }); + } + + render() { + const { currentMonth } = this.state; + const { classes } = this.props; + + return ( +
+ + +
+ { this.renderWeeks() } +
+
+ ); + } +} + +const styles = theme => ({ + calendar: { + marginTop: 10, + }, + selected: { + color: theme.palette.primary[700], + backgroundColor: theme.palette.primary[200], + }, + hidden: { + opacity: 0, + pointerEvents: 'none', + }, + day: { + width: 36, + height: 36, + fontSize: 15, + margin: '0 2px', + }, + week: { + display: 'flex', + justifyContent: 'center', + }, +}); + +export default withStyles(styles)(Calendar); diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx new file mode 100644 index 00000000000000..2cc0af17c49ac5 --- /dev/null +++ b/src/DatePicker/CalendarHeader.jsx @@ -0,0 +1,48 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { withStyles, IconButton } from 'material-ui'; + +const CalendarHeader = (props) => { + const { classes, currentMonth, onMonthChange } = props; + + const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months')); + const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months')); + + return ( +
+
+ + keyboard_arrow_left + + +
+ { currentMonth.format('MMMM')} +
+ + + keyboard_arrow_right + +
+ +
+
+ ); +}; + +CalendarHeader.propTypes = { + currentMonth: PropTypes.object.isRequired, + onMonthChange: PropTypes.func.isRequired, + classes: PropTypes.object, +}; + +const styles = { + switchHeader: { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + marginTop: 10, + }, +}; + +export default withStyles(styles)(CalendarHeader); + diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index beea2827291487..0bdabb23a0ce47 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -2,29 +2,30 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; import { AppBar, Typography, Toolbar, withStyles } from 'material-ui'; +import Calendar from './Calendar'; const datePickerFormat = 'ddd, MMM DD'; -const styles = { - container: { - width: 300, - height: 400, - }, -}; - class DatePicker extends Component { static propTypes = { value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), - classes: PropTypes.object.isRequired, + classes: PropTypes.shape({}).isRequired, + onChange: PropTypes.func.isRequired, } shouldComponentUpdate = nextProps => ( this.props.value !== nextProps.value ) - getDisplayTime = () => { + get date() { const { value } = this.props; - return moment(value).format(datePickerFormat); + return moment(value).startOf('day'); + } + + getDisplayTime = () => moment(this.date).format(datePickerFormat) + + handleDateChange = (date) => { + this.props.onChange(date); } render() { @@ -32,17 +33,36 @@ class DatePicker extends Component { return (
- - - + + + + { this.date.format('YYYY') } + + { this.getDisplayTime() } + +
); } } +const styles = { + container: { + width: 300, + height: 400, + }, + toolbar: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + justifyContent: 'center', + height: 100, + }, +}; + export default withStyles(styles)(DatePicker); diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index beef4d6b0b0f50..7aced4190f1597 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -1,13 +1,14 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import DateTextField from '../_shared/DateTextField'; import ModalDialog from '../_shared/ModalDialog'; import DatePicker from './DatePicker'; -export default class DatePickerModal extends Component { +export default class DatePickerModal extends PureComponent { static propTypes = { value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), format: PropTypes.string, + onChange: PropTypes.func.isRequired, } static defaultProps = { @@ -16,7 +17,7 @@ export default class DatePickerModal extends Component { } state = { - open: false, + open: true, } togglePicker = () => { @@ -24,7 +25,10 @@ export default class DatePickerModal extends Component { } render() { - const { value, format, ...other } = this.props; + const { + value, format, onChange, ...other + } = this.props; + return [ - + , ]; } diff --git a/src/_shared/ModalDialog.jsx b/src/_shared/ModalDialog.jsx index f8d835dfcb3ba4..f406f2c0f98350 100644 --- a/src/_shared/ModalDialog.jsx +++ b/src/_shared/ModalDialog.jsx @@ -20,7 +20,7 @@ const ModalDialog = (props) => { - + ); From 40cc307247c42c52c0f1dab422eddb8e1cf0f0ad Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 12 Oct 2017 10:47:20 +0300 Subject: [PATCH 0005/1801] Add year selection page --- src/DatePicker/Calendar.jsx | 16 +++--- src/DatePicker/CalendarHeader.jsx | 31 +++++++--- src/DatePicker/DatePicker.jsx | 94 +++++++++++++++++++++++++------ src/DatePicker/YearSelection.jsx | 88 +++++++++++++++++++++++++++++ 4 files changed, 197 insertions(+), 32 deletions(-) create mode 100644 src/DatePicker/YearSelection.jsx diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index f906b7fb9d6a3d..28708f96b992ab 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -1,6 +1,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { withStyles, IconButton } from 'material-ui'; + import Moment from 'moment'; import { extendMoment } from 'moment-range'; import classnames from 'classnames'; @@ -12,7 +13,7 @@ class Calendar extends PureComponent { static propTypes = { date: PropTypes.shape({}).isRequired, classes: PropTypes.shape({}).isRequired, - onDateChange: PropTypes.func.isRequired, + onChange: PropTypes.func.isRequired, } state = { @@ -20,7 +21,7 @@ class Calendar extends PureComponent { } onDateSelect = (day) => { - this.props.onDateChange(day); + this.props.onChange(day); } handleChangeMonth = (newMonth) => { @@ -88,10 +89,6 @@ const styles = theme => ({ calendar: { marginTop: 10, }, - selected: { - color: theme.palette.primary[700], - backgroundColor: theme.palette.primary[200], - }, hidden: { opacity: 0, pointerEvents: 'none', @@ -99,8 +96,13 @@ const styles = theme => ({ day: { width: 36, height: 36, - fontSize: 15, + fontSize: 14, margin: '0 2px', + color: theme.palette.text.primary, + }, + selected: { + color: theme.palette.primary[700], + backgroundColor: theme.palette.primary[200], }, week: { display: 'flex', diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 2cc0af17c49ac5..9c757c242123f0 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -1,5 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; +import moment from 'moment'; import { withStyles, IconButton } from 'material-ui'; const CalendarHeader = (props) => { @@ -7,16 +8,16 @@ const CalendarHeader = (props) => { const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months')); const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months')); - + console.log(); return (
- keyboard_arrow_left + keyboard_arrow_left
- { currentMonth.format('MMMM')} + { currentMonth.format('MMMM YYYY')}
@@ -24,7 +25,11 @@ const CalendarHeader = (props) => {
-
+
+ { moment.weekdaysMin().map(day => ( +
{ day }
+ ))} +
); }; @@ -35,14 +40,26 @@ CalendarHeader.propTypes = { classes: PropTypes.object, }; -const styles = { +const styles = theme => ({ switchHeader: { display: 'flex', justifyContent: 'space-between', alignItems: 'center', - marginTop: 10, + margin: '10px 0 20px', }, -}; + daysHeader: { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + }, + dayLabel: { + width: 36, + margin: '0 2px', + fontSize: 13, + textAlign: 'center', + color: theme.palette.text.hint, + }, +}); export default withStyles(styles)(CalendarHeader); diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 0bdabb23a0ce47..5e732a22201fc3 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -1,59 +1,110 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; +import classnames from 'classnames'; import { AppBar, Typography, Toolbar, withStyles } from 'material-ui'; -import Calendar from './Calendar'; -const datePickerFormat = 'ddd, MMM DD'; +import Calendar from './Calendar'; +import YearSelection from './YearSelection'; -class DatePicker extends Component { +class DatePicker extends PureComponent { static propTypes = { - value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), + value: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), classes: PropTypes.shape({}).isRequired, onChange: PropTypes.func.isRequired, } - shouldComponentUpdate = nextProps => ( - this.props.value !== nextProps.value - ) + static defaultProps = { + value: undefined, + minDate: '1900-01-01', + maxDate: '2100-01-01', + } + + state = { + showYearSelection: false, + } get date() { - const { value } = this.props; - return moment(value).startOf('day'); + return moment(this.props.value).startOf('day'); + } + + get minDate() { + return moment(this.props.minDate); } - getDisplayTime = () => moment(this.date).format(datePickerFormat) + get maxDate() { + return moment(this.props.maxDate); + } handleDateChange = (date) => { this.props.onChange(date); } + openYearSelection = () => { + this.setState({ showYearSelection: true }); + } + + openCalendar = () => { + this.setState({ showYearSelection: false }); + } + render() { const { classes } = this.props; + const { showYearSelection } = this.state; return (
- + { this.date.format('YYYY') } - - { this.getDisplayTime() } + + + { this.date.format('ddd, MMM DD') } - + { + showYearSelection + ? + + : + + } +
); } } -const styles = { +const styles = theme => ({ container: { width: 300, - height: 400, + height: 420, }, toolbar: { display: 'flex', @@ -62,7 +113,14 @@ const styles = { justifyContent: 'center', height: 100, }, -}; + toolbarBtn: { + cursor: 'pointer', + color: theme.palette.common.lightWhite, + }, + toolbarBtnSelected: { + color: theme.palette.common.white, + }, +}); export default withStyles(styles)(DatePicker); diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx new file mode 100644 index 00000000000000..7027b4c998d033 --- /dev/null +++ b/src/DatePicker/YearSelection.jsx @@ -0,0 +1,88 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import Moment from 'moment'; +import classnames from 'classnames'; +import { extendMoment } from 'moment-range'; +import { withStyles } from 'material-ui'; + +const moment = extendMoment(Moment); + +class YearSelection extends PureComponent { + static propTypes = { + date: PropTypes.shape({}).isRequired, + minDate: PropTypes.shape({}).isRequired, + maxDate: PropTypes.shape({}).isRequired, + classes: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + } + + componentDidMount = () => { + const currentYear = document.getElementsByClassName(this.props.classes.selectedYear)[0]; + if (currentYear) { + currentYear.scrollIntoView({ behavior: 'smooth' }); + } + } + + onYearSelect = (year) => { + const { date, onChange } = this.props; + + const newDate = date.clone().set('year', year); + onChange(newDate); + } + + render() { + const { + minDate, maxDate, date, classes, + } = this.props; + const currentYear = date.get('year'); + + return ( +
+ { + Array.from(moment.range(minDate, maxDate).by('year')) + .map((year) => { + const yearNumber = year.get('year'); + const className = classnames(classes.yearItem, { + [classes.selectedYear]: yearNumber === currentYear, + }); + + return ( +
this.onYearSelect(yearNumber)} + onKeyPress={() => this.onYearSelect(yearNumber)} + > + { yearNumber } +
+ ); + }) + } +
+ ); + } +} + +const styles = theme => ({ + container: { + maxHeight: 320, + overflowY: 'auto', + justifyContent: 'center', + }, + yearItem: { + height: 36, + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + cursor: 'pointer', + outline: 'none', + }, + selectedYear: { + fontSize: 26, + margin: '10px 0', + color: theme.palette.primary[500], + }, +}); + +export default withStyles(styles)(YearSelection); From 8876a210a836cb87eaabaa6601fb7226b12c7c95 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 12 Oct 2017 15:03:38 +0300 Subject: [PATCH 0006/1801] Add additional props setup --- docs/package.json | 2 +- docs/src/App.js | 4 +- src/DatePicker/Calendar.jsx | 9 +++- src/DatePicker/DatePicker.jsx | 25 ++++++----- src/DatePicker/DatePickerModal.jsx | 69 ++++++++++++++++++++++-------- src/DatePicker/YearSelection.jsx | 19 ++++++-- src/_shared/DateTextField.jsx | 2 +- src/_shared/ModalDialog.jsx | 10 +++-- 8 files changed, 100 insertions(+), 40 deletions(-) diff --git a/docs/package.json b/docs/package.json index cd1b4cef7da207..5de94571cc1303 100644 --- a/docs/package.json +++ b/docs/package.json @@ -9,7 +9,7 @@ "react-scripts": "1.0.14" }, "scripts": { - "start": "react-scripts start", + "start": "PORT=3002 react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" diff --git a/docs/src/App.js b/docs/src/App.js index 0a741cdf5b626f..f9da35a085c21c 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -35,8 +35,10 @@ class App extends Component {
diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index 28708f96b992ab..85f8bb2a048cf7 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -14,6 +14,7 @@ class Calendar extends PureComponent { date: PropTypes.shape({}).isRequired, classes: PropTypes.shape({}).isRequired, onChange: PropTypes.func.isRequired, + disableFuture: PropTypes.bool.isRequired, } state = { @@ -42,8 +43,7 @@ class Calendar extends PureComponent { } renderDays = (week) => { - const { classes, date } = this.props; - + const { disableFuture, classes, date } = this.props; const end = week.clone().endOf('week'); const currentMonthNumber = this.state.currentMonth.get('month'); @@ -52,6 +52,7 @@ class Calendar extends PureComponent { const dayClass = classnames(classes.day, { [classes.hidden]: day.get('month') !== currentMonthNumber, [classes.selected]: day.toString() === date.toString(), + [classes.disabled]: disableFuture && day.isAfter(moment()), }); return ( @@ -104,6 +105,10 @@ const styles = theme => ({ color: theme.palette.primary[700], backgroundColor: theme.palette.primary[200], }, + disabled: { + pointerEvents: 'none', + color: theme.palette.text.hint, + }, week: { display: 'flex', justifyContent: 'center', diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 5e732a22201fc3..50bec6dff06f9e 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -9,17 +9,20 @@ import YearSelection from './YearSelection'; class DatePicker extends PureComponent { static propTypes = { - value: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + date: PropTypes.object, minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), classes: PropTypes.shape({}).isRequired, onChange: PropTypes.func.isRequired, + disableFuture: PropTypes.bool, + animateYearScrolling: PropTypes.bool, } static defaultProps = { - value: undefined, minDate: '1900-01-01', maxDate: '2100-01-01', + disableFuture: false, + animateYearScrolling: true, } state = { @@ -27,7 +30,7 @@ class DatePicker extends PureComponent { } get date() { - return moment(this.props.value).startOf('day'); + return this.props.date.startOf('day'); } get minDate() { @@ -38,10 +41,6 @@ class DatePicker extends PureComponent { return moment(this.props.maxDate); } - handleDateChange = (date) => { - this.props.onChange(date); - } - openYearSelection = () => { this.setState({ showYearSelection: true }); } @@ -51,7 +50,9 @@ class DatePicker extends PureComponent { } render() { - const { classes } = this.props; + const { + classes, disableFuture, onChange, animateYearScrolling, + } = this.props; const { showYearSelection } = this.state; return ( @@ -85,17 +86,19 @@ class DatePicker extends PureComponent { ? : } -
); } diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index 7aced4190f1597..6c997e79ce7b01 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -1,5 +1,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; +import moment from 'moment'; + import DateTextField from '../_shared/DateTextField'; import ModalDialog from '../_shared/ModalDialog'; import DatePicker from './DatePicker'; @@ -9,43 +11,76 @@ export default class DatePickerModal extends PureComponent { value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), format: PropTypes.string, onChange: PropTypes.func.isRequired, + autoOk: PropTypes.bool, + disableFuture: PropTypes.bool, + animateYearScrolling: PropTypes.bool, } static defaultProps = { value: null, format: 'MMMM Do', + autoOk: false, } state = { open: true, + date: moment(this.props.value), } togglePicker = () => { this.setState({ open: !this.state.open }); } + handleChange = (date) => { + this.setState({ date }, () => { + if (this.props.autoOk) { + this.handleAccept(); + } + }); + } + + handleAccept = () => { + this.props.onChange(this.state.date); + this.togglePicker(); // close + } + + handleDismiss = () => { + this.setState({ + date: moment(this.props.value), + }); + + this.togglePicker(); + } + render() { + const { date } = this.state; const { - value, format, onChange, ...other + value, format, autoOk, onChange, disableFuture, animateYearScrolling, + ...other } = this.props; - return [ - , - - - + - , - ]; + + + + + + ); } } diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index 7027b4c998d033..58431516e50cd1 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -14,12 +14,18 @@ class YearSelection extends PureComponent { maxDate: PropTypes.shape({}).isRequired, classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, + disableFuture: PropTypes.bool.isRequired, + animateYearScrolling: PropTypes.bool.isRequired, } componentDidMount = () => { - const currentYear = document.getElementsByClassName(this.props.classes.selectedYear)[0]; - if (currentYear) { - currentYear.scrollIntoView({ behavior: 'smooth' }); + const { animateYearScrolling } = this.props; + const currentYearElement = document.getElementsByClassName(this.props.classes.selectedYear)[0]; + + if (currentYearElement) { + currentYearElement.scrollIntoView({ + behavior: animateYearScrolling ? 'smooth' : 'auto', + }); } } @@ -32,7 +38,7 @@ class YearSelection extends PureComponent { render() { const { - minDate, maxDate, date, classes, + minDate, maxDate, date, classes, disableFuture, } = this.props; const currentYear = date.get('year'); @@ -44,6 +50,7 @@ class YearSelection extends PureComponent { const yearNumber = year.get('year'); const className = classnames(classes.yearItem, { [classes.selectedYear]: yearNumber === currentYear, + [classes.disabled]: disableFuture && year.isAfter(moment()), }); return ( @@ -83,6 +90,10 @@ const styles = theme => ({ margin: '10px 0', color: theme.palette.primary[500], }, + disabled: { + pointerEvents: 'none', + color: theme.palette.text.hint, + }, }); export default withStyles(styles)(YearSelection); diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index a347c3fa5e8ef2..cfbe5eb8fd7a3e 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -7,7 +7,7 @@ export default class DateTextField extends Component { static propTypes = { value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired, format: PropTypes.string.isRequired, - onChange: PropTypes.func.isRequired, + onChange: PropTypes.func, } shouldComponentUpdate = nextProps => ( diff --git a/src/_shared/ModalDialog.jsx b/src/_shared/ModalDialog.jsx index f406f2c0f98350..a20f1dddb7b682 100644 --- a/src/_shared/ModalDialog.jsx +++ b/src/_shared/ModalDialog.jsx @@ -11,7 +11,9 @@ const styles = { }; const ModalDialog = (props) => { - const { children, classes, ...other } = props; + const { + children, classes, onAccept, onDismiss, ...other + } = props; return ( @@ -20,7 +22,8 @@ const ModalDialog = (props) => { - + + ); @@ -28,7 +31,8 @@ const ModalDialog = (props) => { ModalDialog.propTypes = { children: PropTypes.node.isRequired, - onRequestClose: PropTypes.func.isRequired, + onAccept: PropTypes.func.isRequired, + onDismiss: PropTypes.func.isRequired, classes: PropTypes.object.isRequired, }; From aff739a1a9e524d706b18219201c951232670291 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 12 Oct 2017 22:06:04 +0300 Subject: [PATCH 0007/1801] Add open to year selection property --- package-lock.json | 11 ++++++++ package.json | 2 ++ src/DatePicker/CalendarHeader.jsx | 2 +- src/DatePicker/DatePicker.jsx | 43 +++++++++++++++--------------- src/DatePicker/DatePickerModal.jsx | 4 ++- 5 files changed, 39 insertions(+), 23 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5afe585d09a6b5..389d12e410cf72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4518,6 +4518,17 @@ "prop-types": "15.6.0" } }, + "react-dom": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.0.0.tgz", + "integrity": "sha1-nMMHnD3NcNTG4BuEqrKn40wwP1g=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, "react-event-listener": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.1.tgz", diff --git a/package.json b/package.json index 94a93eb1bb4ed0..45340c320b5b1d 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "main": "dist/index.js", "peerDependencies": { "react": "^16.0.0", + "react-dom": "^16.0.0", "prop-types": "^15.6.0", "material-ui": "^1.0.0-beta.13", "classnames": "^2.2.5" @@ -17,6 +18,7 @@ "peer-deps-externals-webpack-plugin": "^1.0.2", "prop-types": "^15.6.0", "react": "^16.0.0", + "react-dom": "^16.0.0", "webpack": "^3.5.1" }, "scripts": { diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 9c757c242123f0..d654f39d794757 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -8,7 +8,7 @@ const CalendarHeader = (props) => { const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months')); const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months')); - console.log(); + return (
diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 50bec6dff06f9e..ceb15277a37f43 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; import classnames from 'classnames'; -import { AppBar, Typography, Toolbar, withStyles } from 'material-ui'; +import { Typography, Toolbar, withStyles } from 'material-ui'; import Calendar from './Calendar'; import YearSelection from './YearSelection'; @@ -16,6 +16,7 @@ class DatePicker extends PureComponent { onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool, animateYearScrolling: PropTypes.bool, + openToYearSelection: PropTypes.bool, } static defaultProps = { @@ -23,10 +24,11 @@ class DatePicker extends PureComponent { maxDate: '2100-01-01', disableFuture: false, animateYearScrolling: true, + openToYearSelection: false, } state = { - showYearSelection: false, + showYearSelection: this.props.openToYearSelection, } get date() { @@ -57,29 +59,27 @@ class DatePicker extends PureComponent { return (
- - - + - { this.date.format('YYYY') } - - - + { this.date.format('YYYY') } + + + - { this.date.format('ddd, MMM DD') } - - - + > + { this.date.format('ddd, MMM DD') } + + { showYearSelection @@ -114,6 +114,7 @@ const styles = theme => ({ flexDirection: 'column', alignItems: 'flex-start', justifyContent: 'center', + backgroundColor: theme.palette.primary[500], height: 100, }, toolbarBtn: { diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index 6c997e79ce7b01..fec6758b2487d9 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -14,6 +14,7 @@ export default class DatePickerModal extends PureComponent { autoOk: PropTypes.bool, disableFuture: PropTypes.bool, animateYearScrolling: PropTypes.bool, + openToYearSelection: PropTypes.bool, } static defaultProps = { @@ -55,7 +56,7 @@ export default class DatePickerModal extends PureComponent { render() { const { date } = this.state; const { - value, format, autoOk, onChange, disableFuture, animateYearScrolling, + value, format, autoOk, onChange, disableFuture, animateYearScrolling, openToYearSelection, ...other } = this.props; @@ -78,6 +79,7 @@ export default class DatePickerModal extends PureComponent { onChange={this.handleChange} disableFuture={disableFuture} animateYearScrolling={animateYearScrolling} + openToYearSelection={openToYearSelection} /> From 53be97945ae227a3fcfb2569b7c1718c7f76d534 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 14 Oct 2017 15:48:35 +0300 Subject: [PATCH 0008/1801] Add material design clock view --- docs/src/App.css | 5 +- docs/src/App.js | 23 ++++++-- src/DatePicker/DatePicker.jsx | 46 +++++----------- src/DatePicker/DatePickerModal.jsx | 2 +- src/TimePicker/Clock.jsx | 63 ++++++++++++++++++++++ src/TimePicker/ClockNumber.jsx | 74 ++++++++++++++++++++++++++ src/TimePicker/ClockPointer.jsx | 60 +++++++++++++++++++++ src/TimePicker/HourView.jsx | 17 ++++++ src/TimePicker/TimePicker.jsx | 85 ++++++++++++++++++++++++++++++ src/TimePicker/TimePickerModal.jsx | 82 ++++++++++++++++++++++++++++ src/_shared/ToolbarButton.jsx | 40 ++++++++++++++ src/constants/clock-types.js | 4 ++ src/index.js | 4 +- src/styles/pickerStyles.js | 15 ++++++ 14 files changed, 480 insertions(+), 40 deletions(-) create mode 100644 src/TimePicker/Clock.jsx create mode 100644 src/TimePicker/ClockNumber.jsx create mode 100644 src/TimePicker/ClockPointer.jsx create mode 100644 src/TimePicker/HourView.jsx create mode 100644 src/TimePicker/TimePicker.jsx create mode 100644 src/TimePicker/TimePickerModal.jsx create mode 100644 src/_shared/ToolbarButton.jsx create mode 100644 src/constants/clock-types.js create mode 100644 src/styles/pickerStyles.js diff --git a/docs/src/App.css b/docs/src/App.css index 8ed9898d095a1e..34c07104b33e14 100644 --- a/docs/src/App.css +++ b/docs/src/App.css @@ -17,7 +17,10 @@ main { padding: 10px; } -.main-picker { +.picker { display: flex; justify-content: center; + flex-direction: column; + align-items: center; + margin-bottom: 40px; } \ No newline at end of file diff --git a/docs/src/App.js b/docs/src/App.js index f9da35a085c21c..86a4d6fe1545c1 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { AppBar, Toolbar, IconButton, Typography } from 'material-ui' -import DateTimePicker from 'material-ui-pickers' +import { TimePicker, DatePicker } from 'material-ui-pickers' import './App.css'; @@ -33,8 +33,25 @@ class App extends Component { Here you are! Let`s test your pickers -
- + + Date picker + + + +
+ +
+ + Time picker + + + - - { this.date.format('YYYY') } - - - + + - { this.date.format('ddd, MMM DD') } - + selected={!showYearSelection} + label={this.date.format('ddd, MMM DD')} + /> { @@ -105,25 +101,7 @@ class DatePicker extends PureComponent { } const styles = theme => ({ - container: { - width: 300, - height: 420, - }, - toolbar: { - display: 'flex', - flexDirection: 'column', - alignItems: 'flex-start', - justifyContent: 'center', - backgroundColor: theme.palette.primary[500], - height: 100, - }, - toolbarBtn: { - cursor: 'pointer', - color: theme.palette.common.lightWhite, - }, - toolbarBtnSelected: { - color: theme.palette.common.white, - }, + ...pickerStyles(theme), }); export default withStyles(styles)(DatePicker); diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index fec6758b2487d9..d58dafa4d8aa49 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -24,7 +24,7 @@ export default class DatePickerModal extends PureComponent { } state = { - open: true, + open: false, date: moment(this.props.value), } diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx new file mode 100644 index 00000000000000..170cda4d619a9a --- /dev/null +++ b/src/TimePicker/Clock.jsx @@ -0,0 +1,63 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { withStyles } from 'material-ui'; + +import ClockNumber from './ClockNumber'; +import ClockPointer from './ClockPointer'; +import * as clockType from '../constants/clock-types'; + +class Clock extends Component { + static propTypes = { + type: PropTypes.oneOf(Object.values(clockType)).isRequired, + classes: PropTypes.object.isRequired, + value: PropTypes.number.isRequired, + } + + handleChange = () => { + + } + + render() { + const { classes, type, value } = this.props; + + return ( +
+
+ + + + + + + + + + + + + + +
+
+ ); + } +} + +const styles = theme => ({ + container: { + display: 'flex', + justifyContent: 'center', + alignItems: 'flex-end', + marginTop: 40, + }, + clock: { + backgroundColor: 'rgba(0,0,0,.07)', + borderRadius: '50%', + height: 260, + width: 260, + position: 'relative', + }, +}); + +export default withStyles(styles)(Clock); + diff --git a/src/TimePicker/ClockNumber.jsx b/src/TimePicker/ClockNumber.jsx new file mode 100644 index 00000000000000..07fc97b94c5902 --- /dev/null +++ b/src/TimePicker/ClockNumber.jsx @@ -0,0 +1,74 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { withStyles } from 'material-ui'; +import * as clockType from '../constants/clock-types'; + +const positions = [ + [0, 5], + [54.5, 16.6], + [94.4, 59.5], + [109, 114], + [94.4, 168.5], + [54.5, 208.4], + [0, 223], + [-54.5, 208.4], + [-94.4, 168.5], + [-109, 114], + [-94.4, 59.5], + [-54.5, 19.6], +]; + +class ClockNumber extends Component { + static propTypes = { + index: PropTypes.number.isRequired, + label: PropTypes.string.isRequired, + type: PropTypes.oneOf(Object.values(clockType)).isRequired, + classes: PropTypes.object.isRequired, + } + + getLabel = (index, type) => { + if (index === 0) { + return '12'; + } + + return index.toString(); + } + + getTransformStyle = (index) => { + const position = positions[index]; + + return { + transform: `translate(${position[0]}px, ${position[1]}px`, + }; + } + + render() { + const { + label, type, index, classes, + } = this.props; + + return ( +
+ { this.getLabel(index, type) } +
+ ); + } +} + +const styles = { + clockNumber: { + width: 32, + height: 32, + position: 'absolute', + left: 'calc(50% - 16px)', + display: 'inline-flex', + justifyContent: 'center', + alignItems: 'center', + }, +}; + +export default withStyles(styles)(ClockNumber); + diff --git a/src/TimePicker/ClockPointer.jsx b/src/TimePicker/ClockPointer.jsx new file mode 100644 index 00000000000000..4404531cb7fad9 --- /dev/null +++ b/src/TimePicker/ClockPointer.jsx @@ -0,0 +1,60 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { withStyles } from 'material-ui'; +import * as clockType from '../constants/clock-types'; + +class ClockPointer extends Component { + static propTypes = { + classes: PropTypes.object.isRequired, + value: PropTypes.number.isRequired, + } + + getAngleStyle = () => { + const { value } = this.props; + const angle = (360 / 12) * value; + + return { + transform: `rotateZ(${angle}deg)`, + }; + } + + render() { + const { classes } = this.props; + + return ( +
+
+
+ ); + } +} + +const styles = theme => ({ + pointer: { + width: 2, + backgroundColor: theme.palette.primary[500], + height: '40%', + position: 'absolute', + left: 'calc(50% - 1px)', + bottom: '50%', + transformOrigin: 'center bottom 0px', + transition: 'transform .2s ease-in-out', + }, + thumb: { + width: 4, + height: 4, + backgroundColor: theme.palette.common.white, + borderRadius: '100%', + position: 'absolute', + top: -5, + left: -8, + border: `7px solid ${theme.palette.primary[500]}`, + boxSizing: 'content-box', + }, +}); + +export default withStyles(styles)(ClockPointer); + diff --git a/src/TimePicker/HourView.jsx b/src/TimePicker/HourView.jsx new file mode 100644 index 00000000000000..f9040abe7709ad --- /dev/null +++ b/src/TimePicker/HourView.jsx @@ -0,0 +1,17 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Clock from './Clock'; +import { HOURS } from '../constants/clock-types'; + +export default class HourView extends Component { + static propTypes = { + date: PropTypes.object.isRequired, + } + + render() { + const value = this.props.date.get('hours'); + return ( + + ); + } +} diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx new file mode 100644 index 00000000000000..561af757a65403 --- /dev/null +++ b/src/TimePicker/TimePicker.jsx @@ -0,0 +1,85 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { Toolbar, withStyles } from 'material-ui'; +import ToolbarButton from '../_shared/ToolbarButton'; +import pickerStyles from '../styles/pickerStyles'; +import HourView from './HourView'; + +class TimePicker extends Component { + static propTypes = { + date: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + classes: PropTypes.object.isRequired, + } + + state = { + isHourViewShown: true, + } + + handleChange = (time) => { + this.props.onChange(time); + } + + toggleHourView = () => { + this.setState({ isHourViewShown: !this.state.isHourViewShown }); + } + + render() { + const { classes, date } = this.props; + const { isHourViewShown } = this.state; + + return ( +
+ + + + + + + + + { + isHourViewShown + ? + + : + 'No minutes view specified' + } +
+ + ); + } +} + +const styles = (theme) => { + const globalStyles = pickerStyles(theme); + + return { + ...globalStyles, + toolbar: { + ...globalStyles.toolbar, + flexDirection: 'row', + alignItems: 'center', + }, + separator: { + margin: '0 2px 0 4px', + cursor: 'default', + }, + }; +}; + +export default withStyles(styles)(TimePicker); diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx new file mode 100644 index 00000000000000..b2373392f03725 --- /dev/null +++ b/src/TimePicker/TimePickerModal.jsx @@ -0,0 +1,82 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import moment from 'moment'; + +import DateTextField from '../_shared/DateTextField'; +import ModalDialog from '../_shared/ModalDialog'; +import TimePicker from './TimePicker'; + +export default class TimePickerModal extends PureComponent { + static propTypes = { + value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), + format: PropTypes.string, + onChange: PropTypes.func.isRequired, + autoOk: PropTypes.bool, + } + + static defaultProps = { + value: null, + format: 'MM:HH A', + autoOk: false, + } + + state = { + open: true, + time: moment(this.props.value), + } + + togglePicker = () => { + this.setState({ open: !this.state.open }); + } + + handleChange = (date) => { + this.setState({ date }, () => { + if (this.props.autoOk) { + this.handleAccept(); + } + }); + } + + handleAccept = () => { + this.props.onChange(this.state.date); + this.togglePicker(); // close + } + + handleDismiss = () => { + this.setState({ + date: moment(this.props.value), + }); + + this.togglePicker(); + } + + render() { + const { time } = this.state; + const { + value, format, autoOk, onChange, + ...other + } = this.props; + + return ( + + + + + + + + ); + } +} diff --git a/src/_shared/ToolbarButton.jsx b/src/_shared/ToolbarButton.jsx new file mode 100644 index 00000000000000..be24589203b623 --- /dev/null +++ b/src/_shared/ToolbarButton.jsx @@ -0,0 +1,40 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classnames from 'classnames'; +import { withStyles, Typography } from 'material-ui'; + +const ToolbarButton = (props) => { + const { + classes, selected, label, className, ...other + } = props; + + return ( + + { label } + + ); +}; + +ToolbarButton.propTypes = { + selected: PropTypes.bool.isRequired, + label: PropTypes.string.isRequired, + classes: PropTypes.object.isRequired, + className: PropTypes.string, +}; + +const styles = theme => ({ + toolbarBtn: { + cursor: 'pointer', + color: theme.palette.common.lightWhite, + }, + toolbarBtnSelected: { + color: theme.palette.common.white, + }, +}); + +export default withStyles(styles)(ToolbarButton); diff --git a/src/constants/clock-types.js b/src/constants/clock-types.js new file mode 100644 index 00000000000000..c885562445663c --- /dev/null +++ b/src/constants/clock-types.js @@ -0,0 +1,4 @@ +export const HOURS = 'hours'; + +export const MINUTES = 'minutes'; + diff --git a/src/index.js b/src/index.js index c761cbbbfababd..d1411371613a89 100644 --- a/src/index.js +++ b/src/index.js @@ -1,2 +1,4 @@ -export { default } from './DatePicker/DatePickerModal.jsx'; +export { default as DatePicker } from './DatePicker/DatePickerModal.jsx'; + +export { default as TimePicker } from './TimePicker/TimePickerModal.jsx'; diff --git a/src/styles/pickerStyles.js b/src/styles/pickerStyles.js new file mode 100644 index 00000000000000..b7e31712352f6f --- /dev/null +++ b/src/styles/pickerStyles.js @@ -0,0 +1,15 @@ +export default theme => ({ + container: { + width: 300, + height: 420, + }, + toolbar: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + justifyContent: 'center', + backgroundColor: theme.palette.primary[500], + height: 100, + }, +}); + From e6b41cb35f483054f8039d50fe0dda2def2704ce Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 17 Oct 2017 16:05:10 +0300 Subject: [PATCH 0009/1801] Add hour view clock selection --- docs/src/App.js | 2 +- src/TimePicker/Clock.jsx | 79 ++++++++++++++++++++++++------ src/TimePicker/ClockNumber.jsx | 31 +++++++++--- src/TimePicker/ClockPointer.jsx | 24 ++++++--- src/TimePicker/HourView.jsx | 12 ++++- src/TimePicker/TimePicker.jsx | 5 +- src/TimePicker/TimePickerModal.jsx | 4 +- src/TimePicker/utils/time-utils.js | 31 ++++++++++++ 8 files changed, 155 insertions(+), 33 deletions(-) create mode 100644 src/TimePicker/utils/time-utils.js diff --git a/docs/src/App.js b/docs/src/App.js index 86a4d6fe1545c1..8d315a3416d2e1 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -53,7 +53,7 @@ class App extends Component { diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index 170cda4d619a9a..edfa4f8504ab6a 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -5,16 +5,46 @@ import { withStyles } from 'material-ui'; import ClockNumber from './ClockNumber'; import ClockPointer from './ClockPointer'; import * as clockType from '../constants/clock-types'; +import { getHours } from './utils/time-utils'; class Clock extends Component { static propTypes = { type: PropTypes.oneOf(Object.values(clockType)).isRequired, classes: PropTypes.object.isRequired, value: PropTypes.number.isRequired, + onChange: PropTypes.func.isRequired, } - handleChange = () => { + setTime(e, finish) { + if (typeof e.offsetX === 'undefined') { + console.warn('Touch events not supporting'); + } + const hours = getHours(e.offsetX, e.offsetY); + console.log(hours); + this.props.onChange(hours, finish); + } + + handleUp = (event) => { + event.preventDefault(); + this.setTime(event.nativeEvent, true); + }; + + handleMove = (e) => { + e.preventDefault(); + if (e.buttons !== 1) { return; } + + this.setTime(e.nativeEvent, false); + }; + + hasSelected = () => { + const { type, value } = this.props; + + if (type === clockType.HOURS) { + return true; + } + + return false; } render() { @@ -22,21 +52,31 @@ class Clock extends Component { return (
-
- - - - - - - - - - - - - - +
+
+ + + + + + + + + + + + + + +
); @@ -56,6 +96,13 @@ const styles = theme => ({ height: 260, width: 260, position: 'relative', + pointerEvents: 'none', + }, + squareMask: { + width: '100%', + height: '100%', + position: 'absolute', + pointerEvents: 'auto', }, }); diff --git a/src/TimePicker/ClockNumber.jsx b/src/TimePicker/ClockNumber.jsx index 07fc97b94c5902..ef7614d820d3a4 100644 --- a/src/TimePicker/ClockNumber.jsx +++ b/src/TimePicker/ClockNumber.jsx @@ -2,10 +2,11 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; import * as clockType from '../constants/clock-types'; +import classnames from 'classnames'; const positions = [ [0, 5], - [54.5, 16.6], + [55.5, 19.6], [94.4, 59.5], [109, 114], [94.4, 168.5], @@ -21,7 +22,7 @@ const positions = [ class ClockNumber extends Component { static propTypes = { index: PropTypes.number.isRequired, - label: PropTypes.string.isRequired, + value: PropTypes.number.isRequired, type: PropTypes.oneOf(Object.values(clockType)).isRequired, classes: PropTypes.object.isRequired, } @@ -42,14 +43,28 @@ class ClockNumber extends Component { }; } + isSelected = (value, type, index) => { + let withoutZero = value === 0 ? 12 : value; + + if (type === clockType.HOURS) { + withoutZero %= 12; + } + + return withoutZero === index; + } + render() { const { - label, type, index, classes, + value, type, index, classes, } = this.props; + const className = classnames(classes.clockNumber, { + [classes.selected]: this.isSelected(value, type, index), + }); + return (
{ this.getLabel(index, type) } @@ -58,7 +73,7 @@ class ClockNumber extends Component { } } -const styles = { +const styles = theme => ({ clockNumber: { width: 32, height: 32, @@ -67,8 +82,12 @@ const styles = { display: 'inline-flex', justifyContent: 'center', alignItems: 'center', + borderRadius: '50%', + }, + selected: { + color: 'white', }, -}; +}); export default withStyles(styles)(ClockNumber); diff --git a/src/TimePicker/ClockPointer.jsx b/src/TimePicker/ClockPointer.jsx index 4404531cb7fad9..99fd4d61949053 100644 --- a/src/TimePicker/ClockPointer.jsx +++ b/src/TimePicker/ClockPointer.jsx @@ -1,12 +1,14 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; +import classnames from 'classnames'; import * as clockType from '../constants/clock-types'; class ClockPointer extends Component { static propTypes = { classes: PropTypes.object.isRequired, value: PropTypes.number.isRequired, + hasSelected: PropTypes.bool.isRequired, } getAngleStyle = () => { @@ -18,15 +20,23 @@ class ClockPointer extends Component { }; } + getThumbStyle = () => { + const { hasSelected } = this.props; + + return { + + }; + } + render() { - const { classes } = this.props; + const { classes, hasSelected } = this.props; return (
-
+
); } @@ -41,7 +51,6 @@ const styles = theme => ({ left: 'calc(50% - 1px)', bottom: '50%', transformOrigin: 'center bottom 0px', - transition: 'transform .2s ease-in-out', }, thumb: { width: 4, @@ -49,11 +58,14 @@ const styles = theme => ({ backgroundColor: theme.palette.common.white, borderRadius: '100%', position: 'absolute', - top: -5, - left: -8, - border: `7px solid ${theme.palette.primary[500]}`, + top: -21, + left: -15, + border: `14px solid ${theme.palette.primary[500]}`, boxSizing: 'content-box', }, + noPoint: { + backgroundColor: theme.palette.primary[500], + }, }); export default withStyles(styles)(ClockPointer); diff --git a/src/TimePicker/HourView.jsx b/src/TimePicker/HourView.jsx index f9040abe7709ad..739aee8011560a 100644 --- a/src/TimePicker/HourView.jsx +++ b/src/TimePicker/HourView.jsx @@ -6,12 +6,22 @@ import { HOURS } from '../constants/clock-types'; export default class HourView extends Component { static propTypes = { date: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + } + + handleChange = (hours) => { + const updatedDate = this.props.date.clone().hour(hours); + this.props.onChange(updatedDate); } render() { const value = this.props.date.get('hours'); return ( - + ); } } diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index 561af757a65403..8a1b52f5edcb5b 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -55,7 +55,10 @@ class TimePicker extends Component { { isHourViewShown ? - + : 'No minutes view specified' } diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx index b2373392f03725..72f2007af56c82 100644 --- a/src/TimePicker/TimePickerModal.jsx +++ b/src/TimePicker/TimePickerModal.jsx @@ -29,8 +29,8 @@ export default class TimePickerModal extends PureComponent { this.setState({ open: !this.state.open }); } - handleChange = (date) => { - this.setState({ date }, () => { + handleChange = (time) => { + this.setState({ time }, () => { if (this.props.autoOk) { this.handleAccept(); } diff --git a/src/TimePicker/utils/time-utils.js b/src/TimePicker/utils/time-utils.js new file mode 100644 index 00000000000000..fbfc546ef27bda --- /dev/null +++ b/src/TimePicker/utils/time-utils.js @@ -0,0 +1,31 @@ +const center = { + x: 260 / 2, + y: 260 / 2, +}; + +const basePoint = { + x: center.x, + y: 0, +}; + +export const rad2deg = rad => rad * 57.29577951308232; + +export const getHours = (offsetX, offsetY) => { + const step = 30; + const x = offsetX - center.x; + const y = offsetY - center.y; + const cx = basePoint.x - center.x; + const cy = basePoint.y - center.y; + + const atan = Math.atan2(cx, cy) - Math.atan2(x, y); + + let deg = rad2deg(atan); + deg = Math.round(deg / step) * step; + deg %= 360; + + let value = Math.floor(deg / step) || 0; + value = value || 12; + value %= 12; + + return value; +}; From 19d9170021e54f3016f58a490735345c2505f63a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 21 Oct 2017 11:05:26 +0300 Subject: [PATCH 0010/1801] Add time selection feature --- .eslintrc | 5 +++- docs/src/App.js | 16 +++++++----- src/DatePicker/Calendar.jsx | 4 +-- src/DatePicker/CalendarHeader.jsx | 4 +-- src/DatePicker/YearSelection.jsx | 1 + src/TimePicker/Clock.jsx | 39 +++++++++++++-------------- src/TimePicker/ClockNumber.jsx | 33 ++++++----------------- src/TimePicker/ClockPointer.jsx | 14 +++------- src/TimePicker/HourView.jsx | 22 ++++++++++++++-- src/TimePicker/MinutesView.jsx | 42 ++++++++++++++++++++++++++++++ src/TimePicker/TimePicker.jsx | 27 ++++++++++++------- src/TimePicker/TimePickerModal.jsx | 6 ++--- src/TimePicker/utils/time-utils.js | 29 +++++++++++++++------ 13 files changed, 151 insertions(+), 91 deletions(-) create mode 100644 src/TimePicker/MinutesView.jsx diff --git a/.eslintrc b/.eslintrc index bb38fe3b827f3f..7fa8aa272bf018 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,4 +1,7 @@ { "extends": "airbnb", - "parser": "babel-eslint" + "parser": "babel-eslint", + "rules": { + "react/forbid-prop-types": 0 + } } \ No newline at end of file diff --git a/docs/src/App.js b/docs/src/App.js index 8d315a3416d2e1..93d141c5188dc0 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -6,13 +6,18 @@ import './App.css'; class App extends Component { state = { - selectedDate: new Date() + selectedDate: new Date(), + selectedTime: new Date() } handleDateChange = date => { this.setState({ selectedDate: date }) } + handleTimeChange = time => { + this.setState({ selectedTime: time }) + } + render() { const { selectedDate } = this.state return ( @@ -51,16 +56,13 @@ class App extends Component { Time picker -
- ); } } diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index 85f8bb2a048cf7..2268f6af96803b 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -11,8 +11,8 @@ const moment = extendMoment(Moment); class Calendar extends PureComponent { static propTypes = { - date: PropTypes.shape({}).isRequired, - classes: PropTypes.shape({}).isRequired, + date: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool.isRequired, } diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index d654f39d794757..df4396c76e16a8 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -27,7 +27,7 @@ const CalendarHeader = (props) => {
{ moment.weekdaysMin().map(day => ( -
{ day }
+
{ day }
))}
@@ -37,7 +37,7 @@ const CalendarHeader = (props) => { CalendarHeader.propTypes = { currentMonth: PropTypes.object.isRequired, onMonthChange: PropTypes.func.isRequired, - classes: PropTypes.object, + classes: PropTypes.object.isRequired, }; const styles = theme => ({ diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index 58431516e50cd1..86af504d897e23 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -56,6 +56,7 @@ class YearSelection extends PureComponent { return (
this.onYearSelect(yearNumber)} diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index edfa4f8504ab6a..9da431dfa90cf8 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -2,10 +2,9 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; -import ClockNumber from './ClockNumber'; import ClockPointer from './ClockPointer'; import * as clockType from '../constants/clock-types'; -import { getHours } from './utils/time-utils'; +import { getMinutes, getHours } from './utils/time-utils'; class Clock extends Component { static propTypes = { @@ -13,6 +12,7 @@ class Clock extends Component { classes: PropTypes.object.isRequired, value: PropTypes.number.isRequired, onChange: PropTypes.func.isRequired, + children: PropTypes.arrayOf(PropTypes.node).isRequired, } setTime(e, finish) { @@ -20,9 +20,11 @@ class Clock extends Component { console.warn('Touch events not supporting'); } - const hours = getHours(e.offsetX, e.offsetY); - console.log(hours); - this.props.onChange(hours, finish); + const value = this.props.type === clockType.MINUTES + ? getMinutes(e.offsetX, e.offsetY) + : getHours(e.offsetX, e.offsetY); + + this.props.onChange(value, finish); } handleUp = (event) => { @@ -44,11 +46,13 @@ class Clock extends Component { return true; } - return false; + return value % 5 === 0; } render() { - const { classes, type, value } = this.props; + const { + classes, value, children, type, + } = this.props; return (
@@ -63,20 +67,13 @@ class Clock extends Component { onMouseMove={this.handleMove} /> - - - - - - - - - - - - - - + + + { children }
); diff --git a/src/TimePicker/ClockNumber.jsx b/src/TimePicker/ClockNumber.jsx index ef7614d820d3a4..e0121515b65227 100644 --- a/src/TimePicker/ClockNumber.jsx +++ b/src/TimePicker/ClockNumber.jsx @@ -1,12 +1,13 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; + +import classnames from 'classnames'; import { withStyles } from 'material-ui'; import * as clockType from '../constants/clock-types'; -import classnames from 'classnames'; const positions = [ [0, 5], - [55.5, 19.6], + [55, 19.6], [94.4, 59.5], [109, 114], [94.4, 168.5], @@ -22,19 +23,11 @@ const positions = [ class ClockNumber extends Component { static propTypes = { index: PropTypes.number.isRequired, - value: PropTypes.number.isRequired, - type: PropTypes.oneOf(Object.values(clockType)).isRequired, + label: PropTypes.string.isRequired, + selected: PropTypes.bool.isRequired, classes: PropTypes.object.isRequired, } - getLabel = (index, type) => { - if (index === 0) { - return '12'; - } - - return index.toString(); - } - getTransformStyle = (index) => { const position = positions[index]; @@ -43,23 +36,13 @@ class ClockNumber extends Component { }; } - isSelected = (value, type, index) => { - let withoutZero = value === 0 ? 12 : value; - - if (type === clockType.HOURS) { - withoutZero %= 12; - } - - return withoutZero === index; - } - render() { const { - value, type, index, classes, + selected, label, index, classes, } = this.props; const className = classnames(classes.clockNumber, { - [classes.selected]: this.isSelected(value, type, index), + [classes.selected]: selected, }); return ( @@ -67,7 +50,7 @@ class ClockNumber extends Component { className={className} style={this.getTransformStyle(index)} > - { this.getLabel(index, type) } + { label }
); } diff --git a/src/TimePicker/ClockPointer.jsx b/src/TimePicker/ClockPointer.jsx index 99fd4d61949053..5033af15d0883b 100644 --- a/src/TimePicker/ClockPointer.jsx +++ b/src/TimePicker/ClockPointer.jsx @@ -2,32 +2,24 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; import classnames from 'classnames'; -import * as clockType from '../constants/clock-types'; class ClockPointer extends Component { static propTypes = { classes: PropTypes.object.isRequired, value: PropTypes.number.isRequired, hasSelected: PropTypes.bool.isRequired, + max: PropTypes.number.isRequired, } getAngleStyle = () => { - const { value } = this.props; - const angle = (360 / 12) * value; + const { value, max } = this.props; + const angle = (360 / max) * value; return { transform: `rotateZ(${angle}deg)`, }; } - getThumbStyle = () => { - const { hasSelected } = this.props; - - return { - - }; - } - render() { const { classes, hasSelected } = this.props; diff --git a/src/TimePicker/HourView.jsx b/src/TimePicker/HourView.jsx index 739aee8011560a..0bd265790f887f 100644 --- a/src/TimePicker/HourView.jsx +++ b/src/TimePicker/HourView.jsx @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import Clock from './Clock'; import { HOURS } from '../constants/clock-types'; +import ClockNumber from './ClockNumber'; export default class HourView extends Component { static propTypes = { @@ -15,13 +16,30 @@ export default class HourView extends Component { } render() { - const value = this.props.date.get('hours'); + const { date } = this.props; + + const value = date.get('hours'); + const ampmValue = Number(date.format('hh')); + return ( + > + + + + + + + + + + + + + ); } } diff --git a/src/TimePicker/MinutesView.jsx b/src/TimePicker/MinutesView.jsx new file mode 100644 index 00000000000000..b2989a9dc91e29 --- /dev/null +++ b/src/TimePicker/MinutesView.jsx @@ -0,0 +1,42 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Clock from './Clock'; +import { MINUTES } from '../constants/clock-types'; +import ClockNumber from './ClockNumber'; + +export default class MinutesView extends Component { + static propTypes = { + date: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + } + + handleChange = (minutes) => { + const updatedDate = this.props.date.clone().minutes(minutes); + this.props.onChange(updatedDate); + } + + render() { + const value = this.props.date.get('minutes'); + + return ( + + + + + + + + + + + + + + + ); + } +} diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index 8a1b52f5edcb5b..98878b79c185d7 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -4,6 +4,7 @@ import { Toolbar, withStyles } from 'material-ui'; import ToolbarButton from '../_shared/ToolbarButton'; import pickerStyles from '../styles/pickerStyles'; import HourView from './HourView'; +import MinutesView from './MinutesView'; class TimePicker extends Component { static propTypes = { @@ -20,8 +21,12 @@ class TimePicker extends Component { this.props.onChange(time); } - toggleHourView = () => { - this.setState({ isHourViewShown: !this.state.isHourViewShown }); + openMinutesView = () => { + this.setState({ isHourViewShown: false }); + } + + openHourView = () => { + this.setState({ isHourViewShown: true }); } render() { @@ -32,23 +37,24 @@ class TimePicker extends Component {
@@ -60,7 +66,10 @@ class TimePicker extends Component { onChange={this.handleChange} /> : - 'No minutes view specified' + }
diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx index 72f2007af56c82..5bbe5d39a91205 100644 --- a/src/TimePicker/TimePickerModal.jsx +++ b/src/TimePicker/TimePickerModal.jsx @@ -16,7 +16,7 @@ export default class TimePickerModal extends PureComponent { static defaultProps = { value: null, - format: 'MM:HH A', + format: 'HH:mm A', autoOk: false, } @@ -38,13 +38,13 @@ export default class TimePickerModal extends PureComponent { } handleAccept = () => { - this.props.onChange(this.state.date); + this.props.onChange(this.state.time); this.togglePicker(); // close } handleDismiss = () => { this.setState({ - date: moment(this.props.value), + time: moment(this.props.value), }); this.togglePicker(); diff --git a/src/TimePicker/utils/time-utils.js b/src/TimePicker/utils/time-utils.js index fbfc546ef27bda..0a32bdb6bb54b0 100644 --- a/src/TimePicker/utils/time-utils.js +++ b/src/TimePicker/utils/time-utils.js @@ -1,3 +1,5 @@ +import * as clockType from '../../constants/clock-types'; + const center = { x: 260 / 2, y: 260 / 2, @@ -8,14 +10,14 @@ const basePoint = { y: 0, }; -export const rad2deg = rad => rad * 57.29577951308232; +const cx = basePoint.x - center.x; +const cy = basePoint.y - center.y; -export const getHours = (offsetX, offsetY) => { - const step = 30; +const rad2deg = rad => rad * 57.29577951308232; + +const getAngleValue = (step, offsetX, offsetY) => { const x = offsetX - center.x; const y = offsetY - center.y; - const cx = basePoint.x - center.x; - const cy = basePoint.y - center.y; const atan = Math.atan2(cx, cy) - Math.atan2(x, y); @@ -23,9 +25,20 @@ export const getHours = (offsetX, offsetY) => { deg = Math.round(deg / step) * step; deg %= 360; - let value = Math.floor(deg / step) || 0; - value = value || 12; - value %= 12; + const value = Math.floor(deg / step) || 0; + + return value; +}; + +export const getHours = (offsetX, offsetY) => { + const value = getAngleValue(30, offsetX, offsetY) || 12; + + return value % 12; +}; + +export const getMinutes = (offsetX, offsetY, step = 6) => { + const value = getAngleValue(step, offsetX, offsetY); return value; }; + From fbcf954b12c0a4a18ab105958ae5290e66049f29 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 21 Oct 2017 11:54:15 +0300 Subject: [PATCH 0011/1801] Add ability to change am/pm --- src/TimePicker/TimePicker.jsx | 45 +++++++++++++++++++++++++++++- src/TimePicker/TimePickerModal.jsx | 2 +- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index 98878b79c185d7..2b1fecbe70421c 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -15,9 +15,27 @@ class TimePicker extends Component { state = { isHourViewShown: true, + meridiemMode: this.props.date.format('a'), + } + + setMeridiemMode = mode => () => { + this.setState( + { meridiemMode: mode }, + () => this.handleChange(this.props.date), + ); } handleChange = (time) => { + const { meridiemMode } = this.state; + + if (time.format('a') !== meridiemMode) { + const hours = meridiemMode === 'am' + ? time.hours() - 12 + : time.hours() + 12; + + time = time.clone().hours(hours); + } + this.props.onChange(time); } @@ -31,7 +49,7 @@ class TimePicker extends Component { render() { const { classes, date } = this.props; - const { isHourViewShown } = this.state; + const { isHourViewShown, meridiemMode } = this.state; return (
@@ -56,6 +74,23 @@ class TimePicker extends Component { selected={!isHourViewShown} label={date.format('mm')} /> + +
+ + +
{ @@ -86,11 +121,19 @@ const styles = (theme) => { ...globalStyles.toolbar, flexDirection: 'row', alignItems: 'center', + paddingLeft: 50, }, separator: { margin: '0 2px 0 4px', cursor: 'default', }, + ampmSelection: { + marginLeft: 20, + marginRight: -20, + }, + ampmLabel: { + fontSize: 18, + }, }; }; diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx index 5bbe5d39a91205..825a21fef8de63 100644 --- a/src/TimePicker/TimePickerModal.jsx +++ b/src/TimePicker/TimePickerModal.jsx @@ -16,7 +16,7 @@ export default class TimePickerModal extends PureComponent { static defaultProps = { value: null, - format: 'HH:mm A', + format: 'hh:mm A', autoOk: false, } From 4c34b1f85b5b45519d731aaf5254f090c5c1550e Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 21 Oct 2017 13:34:12 +0300 Subject: [PATCH 0012/1801] Edit demo page and add documentation --- README.md | 74 + docs/README.md | 2164 +--------------------------- docs/src/App.css | 42 +- docs/src/App.js | 68 +- docs/src/GithubIcon.jsx | 12 + src/DatePicker/DatePickerModal.jsx | 3 + src/TimePicker/TimePickerModal.jsx | 2 +- 7 files changed, 171 insertions(+), 2194 deletions(-) create mode 100644 README.md create mode 100644 docs/src/GithubIcon.jsx diff --git a/README.md b/README.md new file mode 100644 index 00000000000000..f452e9ecb64728 --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# Material-UI picker +> Components, that implements material design date and time pickers for material-ui v1 + +## [Click here for demo](https://dmtrkovalenko.github.io/material-ui-pickers/) + +### Installation +Available as npm package +```sh +npm install material-ui-picker -S +``` + +### Usage +Here is a quick example of how to use this package + +```jsx +class App extends Component { + state = { + selectedDate: new Date(), + selectedTime: new Date() + } + + handleDateChange = date => { + this.setState({ selectedDate: date }) + } + + handleTimeChange = time => { + this.setState({ selectedTime: time }) + } + + render() { + const { selectedDate, selectedTime } = this.state + + return ( +
+ + + +
+ ) + } +} +``` + +### Props documentation +Here is a list of available props + +#### Datepicker +Prop | Type | Default | Definition +------------ | ------------- +value | string, number, Date object, Moment object | null | Datepicker value +format | string | 'MMMM Do' | Moment format string for input +autoOk | boolean | false | Auto accept date on selection +disableFuture | boolean | false | Disable future dates +animateYearScrolling | boolean | false | Will animate year selection (note that will work for browser supports scrollIntoView({ behavior: 'smooth' })) +openToYearSelection | boolean | Open datepicker from year selection + +#### Timepicker +Prop | Type | Default | Definition +------------ | ------------- +value | string, number, Date object, Moment object | null | Timepicker value +format | string | 'MMMM Do' | Moment format string for input +autoOk | boolean | false | Auto accept time on selection + +### Contributing +For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTE.md) file. + +### LICENSE +The project is licensed under the terms of [MIT license](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/LICENSE) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index 98e26c98e8155d..e339b82d517bdd 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,2164 +1,2 @@ -This project was bootstrapped with [Create React App](https://github.com/facebookincubator/create-react-app). +Demo project for material-ui-picker -Below you will find some information on how to perform common tasks.
-You can find the most recent version of this guide [here](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md). - -## Table of Contents - -- [Updating to New Releases](#updating-to-new-releases) -- [Sending Feedback](#sending-feedback) -- [Folder Structure](#folder-structure) -- [Available Scripts](#available-scripts) - - [npm start](#npm-start) - - [npm test](#npm-test) - - [npm run build](#npm-run-build) - - [npm run eject](#npm-run-eject) -- [Supported Language Features and Polyfills](#supported-language-features-and-polyfills) -- [Syntax Highlighting in the Editor](#syntax-highlighting-in-the-editor) -- [Displaying Lint Output in the Editor](#displaying-lint-output-in-the-editor) -- [Debugging in the Editor](#debugging-in-the-editor) -- [Formatting Code Automatically](#formatting-code-automatically) -- [Changing the Page ``](#changing-the-page-title) -- [Installing a Dependency](#installing-a-dependency) -- [Importing a Component](#importing-a-component) -- [Code Splitting](#code-splitting) -- [Adding a Stylesheet](#adding-a-stylesheet) -- [Post-Processing CSS](#post-processing-css) -- [Adding a CSS Preprocessor (Sass, Less etc.)](#adding-a-css-preprocessor-sass-less-etc) -- [Adding Images, Fonts, and Files](#adding-images-fonts-and-files) -- [Using the `public` Folder](#using-the-public-folder) - - [Changing the HTML](#changing-the-html) - - [Adding Assets Outside of the Module System](#adding-assets-outside-of-the-module-system) - - [When to Use the `public` Folder](#when-to-use-the-public-folder) -- [Using Global Variables](#using-global-variables) -- [Adding Bootstrap](#adding-bootstrap) - - [Using a Custom Theme](#using-a-custom-theme) -- [Adding Flow](#adding-flow) -- [Adding Custom Environment Variables](#adding-custom-environment-variables) - - [Referencing Environment Variables in the HTML](#referencing-environment-variables-in-the-html) - - [Adding Temporary Environment Variables In Your Shell](#adding-temporary-environment-variables-in-your-shell) - - [Adding Development Environment Variables In `.env`](#adding-development-environment-variables-in-env) -- [Can I Use Decorators?](#can-i-use-decorators) -- [Integrating with an API Backend](#integrating-with-an-api-backend) - - [Node](#node) - - [Ruby on Rails](#ruby-on-rails) -- [Proxying API Requests in Development](#proxying-api-requests-in-development) - - ["Invalid Host Header" Errors After Configuring Proxy](#invalid-host-header-errors-after-configuring-proxy) - - [Configuring the Proxy Manually](#configuring-the-proxy-manually) - - [Configuring a WebSocket Proxy](#configuring-a-websocket-proxy) -- [Using HTTPS in Development](#using-https-in-development) -- [Generating Dynamic `<meta>` Tags on the Server](#generating-dynamic-meta-tags-on-the-server) -- [Pre-Rendering into Static HTML Files](#pre-rendering-into-static-html-files) -- [Injecting Data from the Server into the Page](#injecting-data-from-the-server-into-the-page) -- [Running Tests](#running-tests) - - [Filename Conventions](#filename-conventions) - - [Command Line Interface](#command-line-interface) - - [Version Control Integration](#version-control-integration) - - [Writing Tests](#writing-tests) - - [Testing Components](#testing-components) - - [Using Third Party Assertion Libraries](#using-third-party-assertion-libraries) - - [Initializing Test Environment](#initializing-test-environment) - - [Focusing and Excluding Tests](#focusing-and-excluding-tests) - - [Coverage Reporting](#coverage-reporting) - - [Continuous Integration](#continuous-integration) - - [Disabling jsdom](#disabling-jsdom) - - [Snapshot Testing](#snapshot-testing) - - [Editor Integration](#editor-integration) -- [Developing Components in Isolation](#developing-components-in-isolation) - - [Getting Started with Storybook](#getting-started-with-storybook) - - [Getting Started with Styleguidist](#getting-started-with-styleguidist) -- [Making a Progressive Web App](#making-a-progressive-web-app) - - [Opting Out of Caching](#opting-out-of-caching) - - [Offline-First Considerations](#offline-first-considerations) - - [Progressive Web App Metadata](#progressive-web-app-metadata) -- [Analyzing the Bundle Size](#analyzing-the-bundle-size) -- [Deployment](#deployment) - - [Static Server](#static-server) - - [Other Solutions](#other-solutions) - - [Serving Apps with Client-Side Routing](#serving-apps-with-client-side-routing) - - [Building for Relative Paths](#building-for-relative-paths) - - [Azure](#azure) - - [Firebase](#firebase) - - [GitHub Pages](#github-pages) - - [Heroku](#heroku) - - [Netlify](#netlify) - - [Now](#now) - - [S3 and CloudFront](#s3-and-cloudfront) - - [Surge](#surge) -- [Advanced Configuration](#advanced-configuration) -- [Troubleshooting](#troubleshooting) - - [`npm start` doesn’t detect changes](#npm-start-doesnt-detect-changes) - - [`npm test` hangs on macOS Sierra](#npm-test-hangs-on-macos-sierra) - - [`npm run build` exits too early](#npm-run-build-exits-too-early) - - [`npm run build` fails on Heroku](#npm-run-build-fails-on-heroku) - - [`npm run build` fails to minify](#npm-run-build-fails-to-minify) - - [Moment.js locales are missing](#momentjs-locales-are-missing) -- [Something Missing?](#something-missing) - -## Updating to New Releases - -Create React App is divided into two packages: - -* `create-react-app` is a global command-line utility that you use to create new projects. -* `react-scripts` is a development dependency in the generated projects (including this one). - -You almost never need to update `create-react-app` itself: it delegates all the setup to `react-scripts`. - -When you run `create-react-app`, it always creates the project with the latest version of `react-scripts` so you’ll get all the new features and improvements in newly created apps automatically. - -To update an existing project to a new version of `react-scripts`, [open the changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md), find the version you’re currently on (check `package.json` in this folder if you’re not sure), and apply the migration instructions for the newer versions. - -In most cases bumping the `react-scripts` version in `package.json` and running `npm install` in this folder should be enough, but it’s good to consult the [changelog](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md) for potential breaking changes. - -We commit to keeping the breaking changes minimal so you can upgrade `react-scripts` painlessly. - -## Sending Feedback - -We are always open to [your feedback](https://github.com/facebookincubator/create-react-app/issues). - -## Folder Structure - -After creation, your project should look like this: - -``` -my-app/ - README.md - node_modules/ - package.json - public/ - index.html - favicon.ico - src/ - App.css - App.js - App.test.js - index.css - index.js - logo.svg -``` - -For the project to build, **these files must exist with exact filenames**: - -* `public/index.html` is the page template; -* `src/index.js` is the JavaScript entry point. - -You can delete or rename the other files. - -You may create subdirectories inside `src`. For faster rebuilds, only files inside `src` are processed by Webpack.<br> -You need to **put any JS and CSS files inside `src`**, otherwise Webpack won’t see them. - -Only files inside `public` can be used from `public/index.html`.<br> -Read instructions below for using assets from JavaScript and HTML. - -You can, however, create more top-level directories.<br> -They will not be included in the production build so you can use them for things like documentation. - -## Available Scripts - -In the project directory, you can run: - -### `npm start` - -Runs the app in the development mode.<br> -Open [http://localhost:3000](http://localhost:3000) to view it in the browser. - -The page will reload if you make edits.<br> -You will also see any lint errors in the console. - -### `npm test` - -Launches the test runner in the interactive watch mode.<br> -See the section about [running tests](#running-tests) for more information. - -### `npm run build` - -Builds the app for production to the `build` folder.<br> -It correctly bundles React in production mode and optimizes the build for the best performance. - -The build is minified and the filenames include the hashes.<br> -Your app is ready to be deployed! - -See the section about [deployment](#deployment) for more information. - -### `npm run eject` - -**Note: this is a one-way operation. Once you `eject`, you can’t go back!** - -If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. - -Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. - -You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. - -## Supported Language Features and Polyfills - -This project supports a superset of the latest JavaScript standard.<br> -In addition to [ES6](https://github.com/lukehoban/es6features) syntax features, it also supports: - -* [Exponentiation Operator](https://github.com/rwaldron/exponentiation-operator) (ES2016). -* [Async/await](https://github.com/tc39/ecmascript-asyncawait) (ES2017). -* [Object Rest/Spread Properties](https://github.com/sebmarkbage/ecmascript-rest-spread) (stage 3 proposal). -* [Dynamic import()](https://github.com/tc39/proposal-dynamic-import) (stage 3 proposal) -* [Class Fields and Static Properties](https://github.com/tc39/proposal-class-public-fields) (part of stage 3 proposal). -* [JSX](https://facebook.github.io/react/docs/introducing-jsx.html) and [Flow](https://flowtype.org/) syntax. - -Learn more about [different proposal stages](https://babeljs.io/docs/plugins/#presets-stage-x-experimental-presets-). - -While we recommend to use experimental proposals with some caution, Facebook heavily uses these features in the product code, so we intend to provide [codemods](https://medium.com/@cpojer/effective-javascript-codemods-5a6686bb46fb) if any of these proposals change in the future. - -Note that **the project only includes a few ES6 [polyfills](https://en.wikipedia.org/wiki/Polyfill)**: - -* [`Object.assign()`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign) via [`object-assign`](https://github.com/sindresorhus/object-assign). -* [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) via [`promise`](https://github.com/then/promise). -* [`fetch()`](https://developer.mozilla.org/en/docs/Web/API/Fetch_API) via [`whatwg-fetch`](https://github.com/github/fetch). - -If you use any other ES6+ features that need **runtime support** (such as `Array.from()` or `Symbol`), make sure you are including the appropriate polyfills manually, or that the browsers you are targeting already support them. - -## Syntax Highlighting in the Editor - -To configure the syntax highlighting in your favorite text editor, head to the [relevant Babel documentation page](https://babeljs.io/docs/editors) and follow the instructions. Some of the most popular editors are covered. - -## Displaying Lint Output in the Editor - ->Note: this feature is available with `react-scripts@0.2.0` and higher.<br> ->It also only works with npm 3 or higher. - -Some editors, including Sublime Text, Atom, and Visual Studio Code, provide plugins for ESLint. - -They are not required for linting. You should see the linter output right in your terminal as well as the browser console. However, if you prefer the lint results to appear right in your editor, there are some extra steps you can do. - -You would need to install an ESLint plugin for your editor first. Then, add a file called `.eslintrc` to the project root: - -```js -{ - "extends": "react-app" -} -``` - -Now your editor should report the linting warnings. - -Note that even if you edit your `.eslintrc` file further, these changes will **only affect the editor integration**. They won’t affect the terminal and in-browser lint output. This is because Create React App intentionally provides a minimal set of rules that find common mistakes. - -If you want to enforce a coding style for your project, consider using [Prettier](https://github.com/jlongster/prettier) instead of ESLint style rules. - -## Debugging in the Editor - -**This feature is currently only supported by [Visual Studio Code](https://code.visualstudio.com) and [WebStorm](https://www.jetbrains.com/webstorm/).** - -Visual Studio Code and WebStorm support debugging out of the box with Create React App. This enables you as a developer to write and debug your React code without leaving the editor, and most importantly it enables you to have a continuous development workflow, where context switching is minimal, as you don’t have to switch between tools. - -### Visual Studio Code - -You would need to have the latest version of [VS Code](https://code.visualstudio.com) and VS Code [Chrome Debugger Extension](https://marketplace.visualstudio.com/items?itemName=msjsdiag.debugger-for-chrome) installed. - -Then add the block below to your `launch.json` file and put it inside the `.vscode` folder in your app’s root directory. - -```json -{ - "version": "0.2.0", - "configurations": [{ - "name": "Chrome", - "type": "chrome", - "request": "launch", - "url": "http://localhost:3000", - "webRoot": "${workspaceRoot}/src", - "userDataDir": "${workspaceRoot}/.vscode/chrome", - "sourceMapPathOverrides": { - "webpack:///src/*": "${webRoot}/*" - } - }] -} -``` ->Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). - -Start your app by running `npm start`, and start debugging in VS Code by pressing `F5` or by clicking the green debug icon. You can now write code, set breakpoints, make changes to the code, and debug your newly modified code—all from your editor. - -### WebStorm - -You would need to have [WebStorm](https://www.jetbrains.com/webstorm/) and [JetBrains IDE Support](https://chrome.google.com/webstore/detail/jetbrains-ide-support/hmhgeddbohgjknpmjagkdomcpobmllji) Chrome extension installed. - -In the WebStorm menu `Run` select `Edit Configurations...`. Then click `+` and select `JavaScript Debug`. Paste `http://localhost:3000` into the URL field and save the configuration. - ->Note: the URL may be different if you've made adjustments via the [HOST or PORT environment variables](#advanced-configuration). - -Start your app by running `npm start`, then press `^D` on macOS or `F9` on Windows and Linux or click the green debug icon to start debugging in WebStorm. - -The same way you can debug your application in IntelliJ IDEA Ultimate, PhpStorm, PyCharm Pro, and RubyMine. - -## Formatting Code Automatically - -Prettier is an opinionated code formatter with support for JavaScript, CSS and JSON. With Prettier you can format the code you write automatically to ensure a code style within your project. See the [Prettier's GitHub page](https://github.com/prettier/prettier) for more information, and look at this [page to see it in action](https://prettier.github.io/prettier/). - -To format our code whenever we make a commit in git, we need to install the following dependencies: - -```sh -npm install --save husky lint-staged prettier -``` - -Alternatively you may use `yarn`: - -```sh -yarn add husky lint-staged prettier -``` - -* `husky` makes it easy to use githooks as if they are npm scripts. -* `lint-staged` allows us to run scripts on staged files in git. See this [blog post about lint-staged to learn more about it](https://medium.com/@okonetchnikov/make-linting-great-again-f3890e1ad6b8). -* `prettier` is the JavaScript formatter we will run before commits. - -Now we can make sure every file is formatted correctly by adding a few lines to the `package.json` in the project root. - -Add the following line to `scripts` section: - -```diff - "scripts": { -+ "precommit": "lint-staged", - "start": "react-scripts start", - "build": "react-scripts build", -``` - -Next we add a 'lint-staged' field to the `package.json`, for example: - -```diff - "dependencies": { - // ... - }, -+ "lint-staged": { -+ "src/**/*.{js,jsx,json,css}": [ -+ "prettier --single-quote --write", -+ "git add" -+ ] -+ }, - "scripts": { -``` - -Now, whenever you make a commit, Prettier will format the changed files automatically. You can also run `./node_modules/.bin/prettier --single-quote --write "src/**/*.{js,jsx}"` to format your entire project for the first time. - -Next you might want to integrate Prettier in your favorite editor. Read the section on [Editor Integration](https://github.com/prettier/prettier#editor-integration) on the Prettier GitHub page. - -## Changing the Page `<title>` - -You can find the source HTML file in the `public` folder of the generated project. You may edit the `<title>` tag in it to change the title from “React App” to anything else. - -Note that normally you wouldn’t edit files in the `public` folder very often. For example, [adding a stylesheet](#adding-a-stylesheet) is done without touching the HTML. - -If you need to dynamically update the page title based on the content, you can use the browser [`document.title`](https://developer.mozilla.org/en-US/docs/Web/API/Document/title) API. For more complex scenarios when you want to change the title from React components, you can use [React Helmet](https://github.com/nfl/react-helmet), a third party library. - -If you use a custom server for your app in production and want to modify the title before it gets sent to the browser, you can follow advice in [this section](#generating-dynamic-meta-tags-on-the-server). Alternatively, you can pre-build each page as a static HTML file which then loads the JavaScript bundle, which is covered [here](#pre-rendering-into-static-html-files). - -## Installing a Dependency - -The generated project includes React and ReactDOM as dependencies. It also includes a set of scripts used by Create React App as a development dependency. You may install other dependencies (for example, React Router) with `npm`: - -```sh -npm install --save react-router -``` - -Alternatively you may use `yarn`: - -```sh -yarn add react-router -``` - -This works for any library, not just `react-router`. - -## Importing a Component - -This project setup supports ES6 modules thanks to Babel.<br> -While you can still use `require()` and `module.exports`, we encourage you to use [`import` and `export`](http://exploringjs.com/es6/ch_modules.html) instead. - -For example: - -### `Button.js` - -```js -import React, { Component } from 'react'; - -class Button extends Component { - render() { - // ... - } -} - -export default Button; // Don’t forget to use export default! -``` - -### `DangerButton.js` - - -```js -import React, { Component } from 'react'; -import Button from './Button'; // Import a component from another file - -class DangerButton extends Component { - render() { - return <Button color="red" />; - } -} - -export default DangerButton; -``` - -Be aware of the [difference between default and named exports](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281). It is a common source of mistakes. - -We suggest that you stick to using default imports and exports when a module only exports a single thing (for example, a component). That’s what you get when you use `export default Button` and `import Button from './Button'`. - -Named exports are useful for utility modules that export several functions. A module may have at most one default export and as many named exports as you like. - -Learn more about ES6 modules: - -* [When to use the curly braces?](http://stackoverflow.com/questions/36795819/react-native-es-6-when-should-i-use-curly-braces-for-import/36796281#36796281) -* [Exploring ES6: Modules](http://exploringjs.com/es6/ch_modules.html) -* [Understanding ES6: Modules](https://leanpub.com/understandinges6/read#leanpub-auto-encapsulating-code-with-modules) - -## Code Splitting - -Instead of downloading the entire app before users can use it, code splitting allows you to split your code into small chunks which you can then load on demand. - -This project setup supports code splitting via [dynamic `import()`](http://2ality.com/2017/01/import-operator.html#loading-code-on-demand). Its [proposal](https://github.com/tc39/proposal-dynamic-import) is in stage 3. The `import()` function-like form takes the module name as an argument and returns a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) which always resolves to the namespace object of the module. - -Here is an example: - -### `moduleA.js` - -```js -const moduleA = 'Hello'; - -export { moduleA }; -``` -### `App.js` - -```js -import React, { Component } from 'react'; - -class App extends Component { - handleClick = () => { - import('./moduleA') - .then(({ moduleA }) => { - // Use moduleA - }) - .catch(err => { - // Handle failure - }); - }; - - render() { - return ( - <div> - <button onClick={this.handleClick}>Load</button> - </div> - ); - } -} - -export default App; -``` - -This will make `moduleA.js` and all its unique dependencies as a separate chunk that only loads after the user clicks the 'Load' button. - -You can also use it with `async` / `await` syntax if you prefer it. - -### With React Router - -If you are using React Router check out [this tutorial](http://serverless-stack.com/chapters/code-splitting-in-create-react-app.html) on how to use code splitting with it. You can find the companion GitHub repository [here](https://github.com/AnomalyInnovations/serverless-stack-demo-client/tree/code-splitting-in-create-react-app). - -## Adding a Stylesheet - -This project setup uses [Webpack](https://webpack.js.org/) for handling all assets. Webpack offers a custom way of “extending” the concept of `import` beyond JavaScript. To express that a JavaScript file depends on a CSS file, you need to **import the CSS from the JavaScript file**: - -### `Button.css` - -```css -.Button { - padding: 20px; -} -``` - -### `Button.js` - -```js -import React, { Component } from 'react'; -import './Button.css'; // Tell Webpack that Button.js uses these styles - -class Button extends Component { - render() { - // You can use them as regular CSS styles - return <div className="Button" />; - } -} -``` - -**This is not required for React** but many people find this feature convenient. You can read about the benefits of this approach [here](https://medium.com/seek-ui-engineering/block-element-modifying-your-javascript-components-d7f99fcab52b). However you should be aware that this makes your code less portable to other build tools and environments than Webpack. - -In development, expressing dependencies this way allows your styles to be reloaded on the fly as you edit them. In production, all CSS files will be concatenated into a single minified `.css` file in the build output. - -If you are concerned about using Webpack-specific semantics, you can put all your CSS right into `src/index.css`. It would still be imported from `src/index.js`, but you could always remove that import if you later migrate to a different build tool. - -## Post-Processing CSS - -This project setup minifies your CSS and adds vendor prefixes to it automatically through [Autoprefixer](https://github.com/postcss/autoprefixer) so you don’t need to worry about it. - -For example, this: - -```css -.App { - display: flex; - flex-direction: row; - align-items: center; -} -``` - -becomes this: - -```css -.App { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} -``` - -If you need to disable autoprefixing for some reason, [follow this section](https://github.com/postcss/autoprefixer#disabling). - -## Adding a CSS Preprocessor (Sass, Less etc.) - -Generally, we recommend that you don’t reuse the same CSS classes across different components. For example, instead of using a `.Button` CSS class in `<AcceptButton>` and `<RejectButton>` components, we recommend creating a `<Button>` component with its own `.Button` styles, that both `<AcceptButton>` and `<RejectButton>` can render (but [not inherit](https://facebook.github.io/react/docs/composition-vs-inheritance.html)). - -Following this rule often makes CSS preprocessors less useful, as features like mixins and nesting are replaced by component composition. You can, however, integrate a CSS preprocessor if you find it valuable. In this walkthrough, we will be using Sass, but you can also use Less, or another alternative. - -First, let’s install the command-line interface for Sass: - -```sh -npm install --save node-sass-chokidar -``` - -Alternatively you may use `yarn`: - -```sh -yarn add node-sass-chokidar -``` - -Then in `package.json`, add the following lines to `scripts`: - -```diff - "scripts": { -+ "build-css": "node-sass-chokidar src/ -o src/", -+ "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive", - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test --env=jsdom", -``` - ->Note: To use a different preprocessor, replace `build-css` and `watch-css` commands according to your preprocessor’s documentation. - -Now you can rename `src/App.css` to `src/App.scss` and run `npm run watch-css`. The watcher will find every Sass file in `src` subdirectories, and create a corresponding CSS file next to it, in our case overwriting `src/App.css`. Since `src/App.js` still imports `src/App.css`, the styles become a part of your application. You can now edit `src/App.scss`, and `src/App.css` will be regenerated. - -To share variables between Sass files, you can use Sass imports. For example, `src/App.scss` and other component style files could include `@import "./shared.scss";` with variable definitions. - -To enable importing files without using relative paths, you can add the `--include-path` option to the command in `package.json`. - -``` -"build-css": "node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/", -"watch-css": "npm run build-css && node-sass-chokidar --include-path ./src --include-path ./node_modules src/ -o src/ --watch --recursive", -``` - -This will allow you to do imports like - -```scss -@import 'styles/_colors.scss'; // assuming a styles directory under src/ -@import 'nprogress/nprogress'; // importing a css file from the nprogress node module -``` - -At this point you might want to remove all CSS files from the source control, and add `src/**/*.css` to your `.gitignore` file. It is generally a good practice to keep the build products outside of the source control. - -As a final step, you may find it convenient to run `watch-css` automatically with `npm start`, and run `build-css` as a part of `npm run build`. You can use the `&&` operator to execute two scripts sequentially. However, there is no cross-platform way to run two scripts in parallel, so we will install a package for this: - -```sh -npm install --save npm-run-all -``` - -Alternatively you may use `yarn`: - -```sh -yarn add npm-run-all -``` - -Then we can change `start` and `build` scripts to include the CSS preprocessor commands: - -```diff - "scripts": { - "build-css": "node-sass-chokidar src/ -o src/", - "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive", -- "start": "react-scripts start", -- "build": "react-scripts build", -+ "start-js": "react-scripts start", -+ "start": "npm-run-all -p watch-css start-js", -+ "build": "npm run build-css && react-scripts build", - "test": "react-scripts test --env=jsdom", - "eject": "react-scripts eject" - } -``` - -Now running `npm start` and `npm run build` also builds Sass files. - -**Why `node-sass-chokidar`?** - -`node-sass` has been reported as having the following issues: - -- `node-sass --watch` has been reported to have *performance issues* in certain conditions when used in a virtual machine or with docker. - -- Infinite styles compiling [#1939](https://github.com/facebookincubator/create-react-app/issues/1939) - -- `node-sass` has been reported as having issues with detecting new files in a directory [#1891](https://github.com/sass/node-sass/issues/1891) - - `node-sass-chokidar` is used here as it addresses these issues. - -## Adding Images, Fonts, and Files - -With Webpack, using static assets like images and fonts works similarly to CSS. - -You can **`import` a file right in a JavaScript module**. This tells Webpack to include that file in the bundle. Unlike CSS imports, importing a file gives you a string value. This value is the final path you can reference in your code, e.g. as the `src` attribute of an image or the `href` of a link to a PDF. - -To reduce the number of requests to the server, importing images that are less than 10,000 bytes returns a [data URI](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) instead of a path. This applies to the following file extensions: bmp, gif, jpg, jpeg, and png. SVG files are excluded due to [#1153](https://github.com/facebookincubator/create-react-app/issues/1153). - -Here is an example: - -```js -import React from 'react'; -import logo from './logo.png'; // Tell Webpack this JS file uses this image - -console.log(logo); // /logo.84287d09.png - -function Header() { - // Import result is the URL of your image - return <img src={logo} alt="Logo" />; -} - -export default Header; -``` - -This ensures that when the project is built, Webpack will correctly move the images into the build folder, and provide us with correct paths. - -This works in CSS too: - -```css -.Logo { - background-image: url(./logo.png); -} -``` - -Webpack finds all relative module references in CSS (they start with `./`) and replaces them with the final paths from the compiled bundle. If you make a typo or accidentally delete an important file, you will see a compilation error, just like when you import a non-existent JavaScript module. The final filenames in the compiled bundle are generated by Webpack from content hashes. If the file content changes in the future, Webpack will give it a different name in production so you don’t need to worry about long-term caching of assets. - -Please be advised that this is also a custom feature of Webpack. - -**It is not required for React** but many people enjoy it (and React Native uses a similar mechanism for images).<br> -An alternative way of handling static assets is described in the next section. - -## Using the `public` Folder - ->Note: this feature is available with `react-scripts@0.5.0` and higher. - -### Changing the HTML - -The `public` folder contains the HTML file so you can tweak it, for example, to [set the page title](#changing-the-page-title). -The `<script>` tag with the compiled code will be added to it automatically during the build process. - -### Adding Assets Outside of the Module System - -You can also add other assets to the `public` folder. - -Note that we normally encourage you to `import` assets in JavaScript files instead. -For example, see the sections on [adding a stylesheet](#adding-a-stylesheet) and [adding images and fonts](#adding-images-fonts-and-files). -This mechanism provides a number of benefits: - -* Scripts and stylesheets get minified and bundled together to avoid extra network requests. -* Missing files cause compilation errors instead of 404 errors for your users. -* Result filenames include content hashes so you don’t need to worry about browsers caching their old versions. - -However there is an **escape hatch** that you can use to add an asset outside of the module system. - -If you put a file into the `public` folder, it will **not** be processed by Webpack. Instead it will be copied into the build folder untouched. To reference assets in the `public` folder, you need to use a special variable called `PUBLIC_URL`. - -Inside `index.html`, you can use it like this: - -```html -<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> -``` - -Only files inside the `public` folder will be accessible by `%PUBLIC_URL%` prefix. If you need to use a file from `src` or `node_modules`, you’ll have to copy it there to explicitly specify your intention to make this file a part of the build. - -When you run `npm run build`, Create React App will substitute `%PUBLIC_URL%` with a correct absolute path so your project works even if you use client-side routing or host it at a non-root URL. - -In JavaScript code, you can use `process.env.PUBLIC_URL` for similar purposes: - -```js -render() { - // Note: this is an escape hatch and should be used sparingly! - // Normally we recommend using `import` for getting asset URLs - // as described in “Adding Images and Fonts” above this section. - return <img src={process.env.PUBLIC_URL + '/img/logo.png'} />; -} -``` - -Keep in mind the downsides of this approach: - -* None of the files in `public` folder get post-processed or minified. -* Missing files will not be called at compilation time, and will cause 404 errors for your users. -* Result filenames won’t include content hashes so you’ll need to add query arguments or rename them every time they change. - -### When to Use the `public` Folder - -Normally we recommend importing [stylesheets](#adding-a-stylesheet), [images, and fonts](#adding-images-fonts-and-files) from JavaScript. -The `public` folder is useful as a workaround for a number of less common cases: - -* You need a file with a specific name in the build output, such as [`manifest.webmanifest`](https://developer.mozilla.org/en-US/docs/Web/Manifest). -* You have thousands of images and need to dynamically reference their paths. -* You want to include a small script like [`pace.js`](http://github.hubspot.com/pace/docs/welcome/) outside of the bundled code. -* Some library may be incompatible with Webpack and you have no other option but to include it as a `<script>` tag. - -Note that if you add a `<script>` that declares global variables, you also need to read the next section on using them. - -## Using Global Variables - -When you include a script in the HTML file that defines global variables and try to use one of these variables in the code, the linter will complain because it cannot see the definition of the variable. - -You can avoid this by reading the global variable explicitly from the `window` object, for example: - -```js -const $ = window.$; -``` - -This makes it obvious you are using a global variable intentionally rather than because of a typo. - -Alternatively, you can force the linter to ignore any line by adding `// eslint-disable-line` after it. - -## Adding Bootstrap - -You don’t have to use [React Bootstrap](https://react-bootstrap.github.io) together with React but it is a popular library for integrating Bootstrap with React apps. If you need it, you can integrate it with Create React App by following these steps: - -Install React Bootstrap and Bootstrap from npm. React Bootstrap does not include Bootstrap CSS so this needs to be installed as well: - -```sh -npm install --save react-bootstrap bootstrap@3 -``` - -Alternatively you may use `yarn`: - -```sh -yarn add react-bootstrap bootstrap@3 -``` - -Import Bootstrap CSS and optionally Bootstrap theme CSS in the beginning of your ```src/index.js``` file: - -```js -import 'bootstrap/dist/css/bootstrap.css'; -import 'bootstrap/dist/css/bootstrap-theme.css'; -// Put any other imports below so that CSS from your -// components takes precedence over default styles. -``` - -Import required React Bootstrap components within ```src/App.js``` file or your custom component files: - -```js -import { Navbar, Jumbotron, Button } from 'react-bootstrap'; -``` - -Now you are ready to use the imported React Bootstrap components within your component hierarchy defined in the render method. Here is an example [`App.js`](https://gist.githubusercontent.com/gaearon/85d8c067f6af1e56277c82d19fd4da7b/raw/6158dd991b67284e9fc8d70b9d973efe87659d72/App.js) redone using React Bootstrap. - -### Using a Custom Theme - -Sometimes you might need to tweak the visual styles of Bootstrap (or equivalent package).<br> -We suggest the following approach: - -* Create a new package that depends on the package you wish to customize, e.g. Bootstrap. -* Add the necessary build steps to tweak the theme, and publish your package on npm. -* Install your own theme npm package as a dependency of your app. - -Here is an example of adding a [customized Bootstrap](https://medium.com/@tacomanator/customizing-create-react-app-aa9ffb88165) that follows these steps. - -## Adding Flow - -Flow is a static type checker that helps you write code with fewer bugs. Check out this [introduction to using static types in JavaScript](https://medium.com/@preethikasireddy/why-use-static-types-in-javascript-part-1-8382da1e0adb) if you are new to this concept. - -Recent versions of [Flow](http://flowtype.org/) work with Create React App projects out of the box. - -To add Flow to a Create React App project, follow these steps: - -1. Run `npm install --save flow-bin` (or `yarn add flow-bin`). -2. Add `"flow": "flow"` to the `scripts` section of your `package.json`. -3. Run `npm run flow init` (or `yarn flow init`) to create a [`.flowconfig` file](https://flowtype.org/docs/advanced-configuration.html) in the root directory. -4. Add `// @flow` to any files you want to type check (for example, to `src/App.js`). - -Now you can run `npm run flow` (or `yarn flow`) to check the files for type errors. -You can optionally use an IDE like [Nuclide](https://nuclide.io/docs/languages/flow/) for a better integrated experience. -In the future we plan to integrate it into Create React App even more closely. - -To learn more about Flow, check out [its documentation](https://flowtype.org/). - -## Adding Custom Environment Variables - ->Note: this feature is available with `react-scripts@0.2.3` and higher. - -Your project can consume variables declared in your environment as if they were declared locally in your JS files. By -default you will have `NODE_ENV` defined for you, and any other environment variables starting with -`REACT_APP_`. - -**The environment variables are embedded during the build time**. Since Create React App produces a static HTML/CSS/JS bundle, it can’t possibly read them at runtime. To read them at runtime, you would need to load HTML into memory on the server and replace placeholders in runtime, just like [described here](#injecting-data-from-the-server-into-the-page). Alternatively you can rebuild the app on the server anytime you change them. - ->Note: You must create custom environment variables beginning with `REACT_APP_`. Any other variables except `NODE_ENV` will be ignored to avoid accidentally [exposing a private key on the machine that could have the same name](https://github.com/facebookincubator/create-react-app/issues/865#issuecomment-252199527). Changing any environment variables will require you to restart the development server if it is running. - -These environment variables will be defined for you on `process.env`. For example, having an environment -variable named `REACT_APP_SECRET_CODE` will be exposed in your JS as `process.env.REACT_APP_SECRET_CODE`. - -There is also a special built-in environment variable called `NODE_ENV`. You can read it from `process.env.NODE_ENV`. When you run `npm start`, it is always equal to `'development'`, when you run `npm test` it is always equal to `'test'`, and when you run `npm run build` to make a production bundle, it is always equal to `'production'`. **You cannot override `NODE_ENV` manually.** This prevents developers from accidentally deploying a slow development build to production. - -These environment variables can be useful for displaying information conditionally based on where the project is -deployed or consuming sensitive data that lives outside of version control. - -First, you need to have environment variables defined. For example, let’s say you wanted to consume a secret defined -in the environment inside a `<form>`: - -```jsx -render() { - return ( - <div> - <small>You are running this application in <b>{process.env.NODE_ENV}</b> mode.</small> - <form> - <input type="hidden" defaultValue={process.env.REACT_APP_SECRET_CODE} /> - </form> - </div> - ); -} -``` - -During the build, `process.env.REACT_APP_SECRET_CODE` will be replaced with the current value of the `REACT_APP_SECRET_CODE` environment variable. Remember that the `NODE_ENV` variable will be set for you automatically. - -When you load the app in the browser and inspect the `<input>`, you will see its value set to `abcdef`, and the bold text will show the environment provided when using `npm start`: - -```html -<div> - <small>You are running this application in <b>development</b> mode.</small> - <form> - <input type="hidden" value="abcdef" /> - </form> -</div> -``` - -The above form is looking for a variable called `REACT_APP_SECRET_CODE` from the environment. In order to consume this -value, we need to have it defined in the environment. This can be done using two ways: either in your shell or in -a `.env` file. Both of these ways are described in the next few sections. - -Having access to the `NODE_ENV` is also useful for performing actions conditionally: - -```js -if (process.env.NODE_ENV !== 'production') { - analytics.disable(); -} -``` - -When you compile the app with `npm run build`, the minification step will strip out this condition, and the resulting bundle will be smaller. - -### Referencing Environment Variables in the HTML - ->Note: this feature is available with `react-scripts@0.9.0` and higher. - -You can also access the environment variables starting with `REACT_APP_` in the `public/index.html`. For example: - -```html -<title>%REACT_APP_WEBSITE_NAME% -``` - -Note that the caveats from the above section apply: - -* Apart from a few built-in variables (`NODE_ENV` and `PUBLIC_URL`), variable names must start with `REACT_APP_` to work. -* The environment variables are injected at build time. If you need to inject them at runtime, [follow this approach instead](#generating-dynamic-meta-tags-on-the-server). - -### Adding Temporary Environment Variables In Your Shell - -Defining environment variables can vary between OSes. It’s also important to know that this manner is temporary for the -life of the shell session. - -#### Windows (cmd.exe) - -```cmd -set REACT_APP_SECRET_CODE=abcdef&&npm start -``` - -(Note: the lack of whitespace is intentional.) - -#### Linux, macOS (Bash) - -```bash -REACT_APP_SECRET_CODE=abcdef npm start -``` - -### Adding Development Environment Variables In `.env` - ->Note: this feature is available with `react-scripts@0.5.0` and higher. - -To define permanent environment variables, create a file called `.env` in the root of your project: - -``` -REACT_APP_SECRET_CODE=abcdef -``` - -`.env` files **should be** checked into source control (with the exclusion of `.env*.local`). - -#### What other `.env` files are can be used? - ->Note: this feature is **available with `react-scripts@1.0.0` and higher**. - -* `.env`: Default. -* `.env.local`: Local overrides. **This file is loaded for all environments except test.** -* `.env.development`, `.env.test`, `.env.production`: Environment-specific settings. -* `.env.development.local`, `.env.test.local`, `.env.production.local`: Local overrides of environment-specific settings. - -Files on the left have more priority than files on the right: - -* `npm start`: `.env.development.local`, `.env.development`, `.env.local`, `.env` -* `npm run build`: `.env.production.local`, `.env.production`, `.env.local`, `.env` -* `npm test`: `.env.test.local`, `.env.test`, `.env` (note `.env.local` is missing) - -These variables will act as the defaults if the machine does not explicitly set them.
-Please refer to the [dotenv documentation](https://github.com/motdotla/dotenv) for more details. - ->Note: If you are defining environment variables for development, your CI and/or hosting platform will most likely need -these defined as well. Consult their documentation how to do this. For example, see the documentation for [Travis CI](https://docs.travis-ci.com/user/environment-variables/) or [Heroku](https://devcenter.heroku.com/articles/config-vars). - -## Can I Use Decorators? - -Many popular libraries use [decorators](https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841) in their documentation.
-Create React App doesn’t support decorator syntax at the moment because: - -* It is an experimental proposal and is subject to change. -* The current specification version is not officially supported by Babel. -* If the specification changes, we won’t be able to write a codemod because we don’t use them internally at Facebook. - -However in many cases you can rewrite decorator-based code without decorators just as fine.
-Please refer to these two threads for reference: - -* [#214](https://github.com/facebookincubator/create-react-app/issues/214) -* [#411](https://github.com/facebookincubator/create-react-app/issues/411) - -Create React App will add decorator support when the specification advances to a stable stage. - -## Integrating with an API Backend - -These tutorials will help you to integrate your app with an API backend running on another port, -using `fetch()` to access it. - -### Node -Check out [this tutorial](https://www.fullstackreact.com/articles/using-create-react-app-with-a-server/). -You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo). - -### Ruby on Rails - -Check out [this tutorial](https://www.fullstackreact.com/articles/how-to-get-create-react-app-to-work-with-your-rails-api/). -You can find the companion GitHub repository [here](https://github.com/fullstackreact/food-lookup-demo-rails). - -## Proxying API Requests in Development - ->Note: this feature is available with `react-scripts@0.2.3` and higher. - -People often serve the front-end React app from the same host and port as their backend implementation.
-For example, a production setup might look like this after the app is deployed: - -``` -/ - static server returns index.html with React app -/todos - static server returns index.html with React app -/api/todos - server handles any /api/* requests using the backend implementation -``` - -Such setup is **not** required. However, if you **do** have a setup like this, it is convenient to write requests like `fetch('/api/todos')` without worrying about redirecting them to another host or port during development. - -To tell the development server to proxy any unknown requests to your API server in development, add a `proxy` field to your `package.json`, for example: - -```js - "proxy": "http://localhost:4000", -``` - -This way, when you `fetch('/api/todos')` in development, the development server will recognize that it’s not a static asset, and will proxy your request to `http://localhost:4000/api/todos` as a fallback. The development server will only attempt to send requests without a `text/html` accept header to the proxy. - -Conveniently, this avoids [CORS issues](http://stackoverflow.com/questions/21854516/understanding-ajax-cors-and-security-considerations) and error messages like this in development: - -``` -Fetch API cannot load http://localhost:4000/api/todos. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. -``` - -Keep in mind that `proxy` only has effect in development (with `npm start`), and it is up to you to ensure that URLs like `/api/todos` point to the right thing in production. You don’t have to use the `/api` prefix. Any unrecognized request without a `text/html` accept header will be redirected to the specified `proxy`. - -The `proxy` option supports HTTP, HTTPS and WebSocket connections.
-If the `proxy` option is **not** flexible enough for you, alternatively you can: - -* [Configure the proxy yourself](#configuring-the-proxy-manually) -* Enable CORS on your server ([here’s how to do it for Express](http://enable-cors.org/server_expressjs.html)). -* Use [environment variables](#adding-custom-environment-variables) to inject the right server host and port into your app. - -### "Invalid Host Header" Errors After Configuring Proxy - -When you enable the `proxy` option, you opt into a more strict set of host checks. This is necessary because leaving the backend open to remote hosts makes your computer vulnerable to DNS rebinding attacks. The issue is explained in [this article](https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a) and [this issue](https://github.com/webpack/webpack-dev-server/issues/887). - -This shouldn’t affect you when developing on `localhost`, but if you develop remotely like [described here](https://github.com/facebookincubator/create-react-app/issues/2271), you will see this error in the browser after enabling the `proxy` option: - ->Invalid Host header - -To work around it, you can specify your public development host in a file called `.env.development` in the root of your project: - -``` -HOST=mypublicdevhost.com -``` - -If you restart the development server now and load the app from the specified host, it should work. - -If you are still having issues or if you’re using a more exotic environment like a cloud editor, you can bypass the host check completely by adding a line to `.env.development.local`. **Note that this is dangerous and exposes your machine to remote code execution from malicious websites:** - -``` -# NOTE: THIS IS DANGEROUS! -# It exposes your machine to attacks from the websites you visit. -DANGEROUSLY_DISABLE_HOST_CHECK=true -``` - -We don’t recommend this approach. - -### Configuring the Proxy Manually - ->Note: this feature is available with `react-scripts@1.0.0` and higher. - -If the `proxy` option is **not** flexible enough for you, you can specify an object in the following form (in `package.json`).
-You may also specify any configuration value [`http-proxy-middleware`](https://github.com/chimurai/http-proxy-middleware#options) or [`http-proxy`](https://github.com/nodejitsu/node-http-proxy#options) supports. -```js -{ - // ... - "proxy": { - "/api": { - "target": "", - "ws": true - // ... - } - } - // ... -} -``` - -All requests matching this path will be proxies, no exceptions. This includes requests for `text/html`, which the standard `proxy` option does not proxy. - -If you need to specify multiple proxies, you may do so by specifying additional entries. -You may also narrow down matches using `*` and/or `**`, to match the path exactly or any subpath. -```js -{ - // ... - "proxy": { - // Matches any request starting with /api - "/api": { - "target": "", - "ws": true - // ... - }, - // Matches any request starting with /foo - "/foo": { - "target": "", - "ssl": true, - "pathRewrite": { - "^/foo": "/foo/beta" - } - // ... - }, - // Matches /bar/abc.html but not /bar/sub/def.html - "/bar/*.html": { - "target": "", - // ... - }, - // Matches /baz/abc.html and /baz/sub/def.html - "/baz/**/*.html": { - "target": "" - // ... - } - } - // ... -} -``` - -### Configuring a WebSocket Proxy - -When setting up a WebSocket proxy, there are a some extra considerations to be aware of. - -If you’re using a WebSocket engine like [Socket.io](https://socket.io/), you must have a Socket.io server running that you can use as the proxy target. Socket.io will not work with a standard WebSocket server. Specifically, don't expect Socket.io to work with [the websocket.org echo test](http://websocket.org/echo.html). - -There’s some good documentation available for [setting up a Socket.io server](https://socket.io/docs/). - -Standard WebSockets **will** work with a standard WebSocket server as well as the websocket.org echo test. You can use libraries like [ws](https://github.com/websockets/ws) for the server, with [native WebSockets in the browser](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket). - -Either way, you can proxy WebSocket requests manually in `package.json`: - -```js -{ - // ... - "proxy": { - "/socket": { - // Your compatible WebSocket server - "target": "ws://", - // Tell http-proxy-middleware that this is a WebSocket proxy. - // Also allows you to proxy WebSocket requests without an additional HTTP request - // https://github.com/chimurai/http-proxy-middleware#external-websocket-upgrade - "ws": true - // ... - } - } - // ... -} -``` - -## Using HTTPS in Development - ->Note: this feature is available with `react-scripts@0.4.0` and higher. - -You may require the dev server to serve pages over HTTPS. One particular case where this could be useful is when using [the "proxy" feature](#proxying-api-requests-in-development) to proxy requests to an API server when that API server is itself serving HTTPS. - -To do this, set the `HTTPS` environment variable to `true`, then start the dev server as usual with `npm start`: - -#### Windows (cmd.exe) - -```cmd -set HTTPS=true&&npm start -``` - -(Note: the lack of whitespace is intentional.) - -#### Linux, macOS (Bash) - -```bash -HTTPS=true npm start -``` - -Note that the server will use a self-signed certificate, so your web browser will almost definitely display a warning upon accessing the page. - -## Generating Dynamic `` Tags on the Server - -Since Create React App doesn’t support server rendering, you might be wondering how to make `` tags dynamic and reflect the current URL. To solve this, we recommend to add placeholders into the HTML, like this: - -```html - - - - - -``` - -Then, on the server, regardless of the backend you use, you can read `index.html` into memory and replace `__OG_TITLE__`, `__OG_DESCRIPTION__`, and any other placeholders with values depending on the current URL. Just make sure to sanitize and escape the interpolated values so that they are safe to embed into HTML! - -If you use a Node server, you can even share the route matching logic between the client and the server. However duplicating it also works fine in simple cases. - -## Pre-Rendering into Static HTML Files - -If you’re hosting your `build` with a static hosting provider you can use [react-snapshot](https://www.npmjs.com/package/react-snapshot) to generate HTML pages for each route, or relative link, in your application. These pages will then seamlessly become active, or “hydrated”, when the JavaScript bundle has loaded. - -There are also opportunities to use this outside of static hosting, to take the pressure off the server when generating and caching routes. - -The primary benefit of pre-rendering is that you get the core content of each page _with_ the HTML payload—regardless of whether or not your JavaScript bundle successfully downloads. It also increases the likelihood that each route of your application will be picked up by search engines. - -You can read more about [zero-configuration pre-rendering (also called snapshotting) here](https://medium.com/superhighfives/an-almost-static-stack-6df0a2791319). - -## Injecting Data from the Server into the Page - -Similarly to the previous section, you can leave some placeholders in the HTML that inject global variables, for example: - -```js - - - - -``` - -Then, on the server, you can replace `__SERVER_DATA__` with a JSON of real data right before sending the response. The client code can then read `window.SERVER_DATA` to use it. **Make sure to [sanitize the JSON before sending it to the client](https://medium.com/node-security/the-most-common-xss-vulnerability-in-react-js-applications-2bdffbcc1fa0) as it makes your app vulnerable to XSS attacks.** - -## Running Tests - ->Note: this feature is available with `react-scripts@0.3.0` and higher.
->[Read the migration guide to learn how to enable it in older projects!](https://github.com/facebookincubator/create-react-app/blob/master/CHANGELOG.md#migrating-from-023-to-030) - -Create React App uses [Jest](https://facebook.github.io/jest/) as its test runner. To prepare for this integration, we did a [major revamp](https://facebook.github.io/jest/blog/2016/09/01/jest-15.html) of Jest so if you heard bad things about it years ago, give it another try. - -Jest is a Node-based runner. This means that the tests always run in a Node environment and not in a real browser. This lets us enable fast iteration speed and prevent flakiness. - -While Jest provides browser globals such as `window` thanks to [jsdom](https://github.com/tmpvar/jsdom), they are only approximations of the real browser behavior. Jest is intended to be used for unit tests of your logic and your components rather than the DOM quirks. - -We recommend that you use a separate tool for browser end-to-end tests if you need them. They are beyond the scope of Create React App. - -### Filename Conventions - -Jest will look for test files with any of the following popular naming conventions: - -* Files with `.js` suffix in `__tests__` folders. -* Files with `.test.js` suffix. -* Files with `.spec.js` suffix. - -The `.test.js` / `.spec.js` files (or the `__tests__` folders) can be located at any depth under the `src` top level folder. - -We recommend to put the test files (or `__tests__` folders) next to the code they are testing so that relative imports appear shorter. For example, if `App.test.js` and `App.js` are in the same folder, the test just needs to `import App from './App'` instead of a long relative path. Colocation also helps find tests more quickly in larger projects. - -### Command Line Interface - -When you run `npm test`, Jest will launch in the watch mode. Every time you save a file, it will re-run the tests, just like `npm start` recompiles the code. - -The watcher includes an interactive command-line interface with the ability to run all tests, or focus on a search pattern. It is designed this way so that you can keep it open and enjoy fast re-runs. You can learn the commands from the “Watch Usage” note that the watcher prints after every run: - -![Jest watch mode](http://facebook.github.io/jest/img/blog/15-watch.gif) - -### Version Control Integration - -By default, when you run `npm test`, Jest will only run the tests related to files changed since the last commit. This is an optimization designed to make your tests run fast regardless of how many tests you have. However it assumes that you don’t often commit the code that doesn’t pass the tests. - -Jest will always explicitly mention that it only ran tests related to the files changed since the last commit. You can also press `a` in the watch mode to force Jest to run all tests. - -Jest will always run all tests on a [continuous integration](#continuous-integration) server or if the project is not inside a Git or Mercurial repository. - -### Writing Tests - -To create tests, add `it()` (or `test()`) blocks with the name of the test and its code. You may optionally wrap them in `describe()` blocks for logical grouping but this is neither required nor recommended. - -Jest provides a built-in `expect()` global function for making assertions. A basic test could look like this: - -```js -import sum from './sum'; - -it('sums numbers', () => { - expect(sum(1, 2)).toEqual(3); - expect(sum(2, 2)).toEqual(4); -}); -``` - -All `expect()` matchers supported by Jest are [extensively documented here](http://facebook.github.io/jest/docs/expect.html).
-You can also use [`jest.fn()` and `expect(fn).toBeCalled()`](http://facebook.github.io/jest/docs/expect.html#tohavebeencalled) to create “spies” or mock functions. - -### Testing Components - -There is a broad spectrum of component testing techniques. They range from a “smoke test” verifying that a component renders without throwing, to shallow rendering and testing some of the output, to full rendering and testing component lifecycle and state changes. - -Different projects choose different testing tradeoffs based on how often components change, and how much logic they contain. If you haven’t decided on a testing strategy yet, we recommend that you start with creating simple smoke tests for your components: - -```js -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); -``` - -This test mounts a component and makes sure that it didn’t throw during rendering. Tests like this provide a lot value with very little effort so they are great as a starting point, and this is the test you will find in `src/App.test.js`. - -When you encounter bugs caused by changing components, you will gain a deeper insight into which parts of them are worth testing in your application. This might be a good time to introduce more specific tests asserting specific expected output or behavior. - -If you’d like to test components in isolation from the child components they render, we recommend using [`shallow()` rendering API](http://airbnb.io/enzyme/docs/api/shallow.html) from [Enzyme](http://airbnb.io/enzyme/). To install it, run: - -```sh -npm install --save enzyme react-test-renderer -``` - -Alternatively you may use `yarn`: - -```sh -yarn add enzyme react-test-renderer -``` - -You can write a smoke test with it too: - -```js -import React from 'react'; -import { shallow } from 'enzyme'; -import App from './App'; - -it('renders without crashing', () => { - shallow(); -}); -``` - -Unlike the previous smoke test using `ReactDOM.render()`, this test only renders `` and doesn’t go deeper. For example, even if `` itself renders a `
+ - +
+ + Here you are! + + + + Basic usage + + +
+
+ + Date picker + + + +
+ +
+ + Time picker + + + +
@@ -75,4 +114,43 @@ class Demo extends Component { } } -export default Demo; +const styles = theme => ({ + flex: { + flex: 1, + }, + menuButton: { + marginLeft: -12, + marginRight: 20, + }, + noShadow: { + boxShadow: 'unset' + }, + appToolbar: { + backgroundColor: theme.palette.primary[500], + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + color: 'white', + padding: '40px 20px', + '@media (max-width: 600px)': { + paddingTop: '100px', + minHeight: 'calc(100vh - 55px)', + }, + }, + getStarted: { + marginTop: '10px', + }, + example: { + marginTop: '40px' + }, + content: { + paddingTop: '30px', + backgroundColor: theme.palette.background.paper, + minHeight: 'calc(100vh - 63px)', + '@media(max-width: 600px)': { + minHeight: 'calc(100vh - 55px)' + } + } +}) + +export default withStyles(styles)(Demo); diff --git a/package.json b/package.json index 3c37501270200f..e8d66031d5b240 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,31 @@ { "name": "material-ui-pickers", - "version": "0.0.1", - "description": "", + "version": "1.0.0-alpha.1", + "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", + "keywords": [ + "material-ui", + "pickers", + "material-ui-pickers", + "datepicker", + "timepicker", + "date-picker", + "time-picker", + "react", + "react-component", + "material design" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/dmtrKovalenko/material-ui-pickers/issues" + }, + "homepage": "https://material-ui-pic.firebaseapp.com/", + "repository": { + "type": "git", + "url": "https://github.com/dmtrKovalenko/material-ui-pickers" + }, + "author": "Dmitriy Kovalenko ", "peerDependencies": { "react": "^16.0.0", "react-dom": "^16.0.0", diff --git a/rollup.config.js b/rollup.config.js index d5e85b676d42fb..1ef65c4d53d5fe 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -13,7 +13,6 @@ export default { external: ['react', 'react-dom', 'prop-types', 'material-ui', 'classnames'], plugins: [ resolve({ - extensions: ['.js', '.jsx'], }), babel({ diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 52f232656ae09e..7518276da48641 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -59,6 +59,9 @@ const styles = theme => ({ textAlign: 'center', color: theme.palette.text.hint, }, + monthName: { + color: theme.palette.text.primary, + }, }); export default withStyles(styles)(CalendarHeader, { name: 'MuiPickersCalendarHeader' }); diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index 12e49c15e3e62d..2f4ca5f12e304d 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -85,6 +85,7 @@ const styles = theme => ({ justifyContent: 'center', cursor: 'pointer', outline: 'none', + color: theme.palette.text.primary }, selectedYear: { fontSize: 26, diff --git a/src/TimePicker/ClockNumber.jsx b/src/TimePicker/ClockNumber.jsx index ae6728ba52bab3..182e196e2b808e 100644 --- a/src/TimePicker/ClockNumber.jsx +++ b/src/TimePicker/ClockNumber.jsx @@ -66,6 +66,9 @@ const styles = theme => ({ justifyContent: 'center', alignItems: 'center', borderRadius: '50%', + color: theme.palette.type === 'light' + ? theme.palette.text.primary + : theme.palette.text.hint }, selected: { color: 'white', From 222d115d5a901bb26e0dc8b49fdcf821d74ccfb9 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 11:29:32 +0300 Subject: [PATCH 0018/1801] Move picker toolbar to separate component --- .npmignore | 3 ++ package.json | 2 +- src/DatePicker/DatePicker.jsx | 16 ++++++----- src/TimePicker/TimePicker.jsx | 53 +++++++++++++++++------------------ src/_shared/PickerToolbar.jsx | 39 ++++++++++++++++++++++++++ src/styles/pickerStyles.js | 15 ---------- 6 files changed, 78 insertions(+), 50 deletions(-) create mode 100644 .npmignore create mode 100644 src/_shared/PickerToolbar.jsx delete mode 100644 src/styles/pickerStyles.js diff --git a/.npmignore b/.npmignore new file mode 100644 index 00000000000000..91d98dc32fa159 --- /dev/null +++ b/.npmignore @@ -0,0 +1,3 @@ +docs/* +src/* +node_modules/* \ No newline at end of file diff --git a/package.json b/package.json index e8d66031d5b240..b6ee5568eac9cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.1", + "version": "1.0.0-alpha.2", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 0a1e96f39f9d9b..dc6de3c1bc4354 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -1,17 +1,16 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import classnames from 'classnames'; -import { Typography, Toolbar, withStyles } from 'material-ui'; -import pickerStyles from '../styles/pickerStyles'; +import { withStyles } from 'material-ui'; import Calendar from './Calendar'; import YearSelection from './YearSelection'; +import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; class DatePicker extends PureComponent { static propTypes = { - date: PropTypes.object, + date: PropTypes.object.isRequired, minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), classes: PropTypes.shape({}).isRequired, @@ -61,7 +60,7 @@ class DatePicker extends PureComponent { return (
- + - + { showYearSelection @@ -101,7 +100,10 @@ class DatePicker extends PureComponent { } const styles = theme => ({ - ...pickerStyles(theme), + container: { + width: 300, + height: 420, + }, }); export default withStyles(styles, { name: 'MuiPickersDatePicker' })(DatePicker); diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index 47c50af33a28f9..7a6fd2532ee795 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -1,6 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import { Toolbar, withStyles } from 'material-ui'; +import { withStyles } from 'material-ui'; +import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import pickerStyles from '../styles/pickerStyles'; import HourView from './HourView'; @@ -53,7 +54,7 @@ class TimePicker extends Component { return (
- +
- + { isHourViewShown @@ -112,29 +113,27 @@ class TimePicker extends Component { } } -const styles = (theme) => { - const globalStyles = pickerStyles(theme); - - return { - ...globalStyles, - toolbar: { - ...globalStyles.toolbar, - flexDirection: 'row', - alignItems: 'center', - paddingLeft: 50, - }, - separator: { - margin: '0 2px 0 4px', - cursor: 'default', - }, - ampmSelection: { - marginLeft: 20, - marginRight: -20, - }, - ampmLabel: { - fontSize: 18, - }, - }; -}; +const styles = theme => ({ + container: { + width: 300, + height: 420, + }, + toolbar: { + flexDirection: 'row', + alignItems: 'center', + paddingLeft: 50, + }, + separator: { + margin: '0 2px 0 4px', + cursor: 'default', + }, + ampmSelection: { + marginLeft: 20, + marginRight: -20, + }, + ampmLabel: { + fontSize: 18, + }, +}); export default withStyles(styles, { name: 'MuiPickersTimePicker' })(TimePicker); diff --git a/src/_shared/PickerToolbar.jsx b/src/_shared/PickerToolbar.jsx new file mode 100644 index 00000000000000..9bd9211aa01a7f --- /dev/null +++ b/src/_shared/PickerToolbar.jsx @@ -0,0 +1,39 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classnames from 'classnames'; +import { Toolbar, withStyles } from 'material-ui'; + +const PickerToolbar = (props) => { + const { + children, className, classes, ...other + } = props; + + return ( + + { children } + + ); +}; + +PickerToolbar.propTypes = { + children: PropTypes.arrayOf(PropTypes.node).isRequired, + className: PropTypes.string, + classes: PropTypes.object.isRequired, +}; + +PickerToolbar.defaultProps = { + className: '', +}; + +const styles = theme => ({ + toolbar: { + display: 'flex', + flexDirection: 'column', + alignItems: 'flex-start', + justifyContent: 'center', + backgroundColor: theme.palette.primary[500], + height: 100, + }, +}); + +export default withStyles(styles, { name: 'MuiPickersToolbar' })(PickerToolbar); diff --git a/src/styles/pickerStyles.js b/src/styles/pickerStyles.js deleted file mode 100644 index b7e31712352f6f..00000000000000 --- a/src/styles/pickerStyles.js +++ /dev/null @@ -1,15 +0,0 @@ -export default theme => ({ - container: { - width: 300, - height: 420, - }, - toolbar: { - display: 'flex', - flexDirection: 'column', - alignItems: 'flex-start', - justifyContent: 'center', - backgroundColor: theme.palette.primary[500], - height: 100, - }, -}); - From 560435a53063c35ce626ca19a86017bcaed84eba Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 11:56:58 +0300 Subject: [PATCH 0019/1801] Fix not workingk time picker move event for safari --- package-lock.json | 1099 ++++++++++++++++++++++++++++----- package.json | 27 +- src/TimePicker/Clock.jsx | 32 +- src/TimePicker/TimePicker.jsx | 1 - 4 files changed, 967 insertions(+), 192 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4ea272d71d3588..a86ef2239df730 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "0.0.1", + "version": "1.0.0-alpha.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -17,12 +17,14 @@ "acorn": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==" + "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", + "dev": true }, "acorn-dynamic-import": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, "requires": { "acorn": "4.0.13" }, @@ -30,7 +32,8 @@ "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true } } }, @@ -55,6 +58,7 @@ "version": "5.2.3", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", @@ -65,12 +69,14 @@ "ajv-keywords": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=" + "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", + "dev": true }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, "requires": { "kind-of": "3.2.2", "longest": "1.0.1", @@ -86,7 +92,8 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "ansi-styles": { "version": "2.2.1", @@ -98,6 +105,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, "requires": { "micromatch": "2.3.11", "normalize-path": "2.1.1" @@ -125,6 +133,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, "requires": { "arr-flatten": "1.1.0" } @@ -132,7 +141,8 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "array-flatten": { "version": "1.1.1", @@ -168,7 +178,8 @@ "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true }, "arrify": { "version": "1.0.1", @@ -179,13 +190,13 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1.js": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", + "dev": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.3", @@ -196,6 +207,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, "requires": { "util": "0.10.3" } @@ -210,6 +222,7 @@ "version": "2.5.0", "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", + "dev": true, "requires": { "lodash": "4.17.4" } @@ -217,7 +230,8 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true }, "axobject-query": { "version": "0.1.0", @@ -1126,7 +1140,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "requires": { "core-js": "2.5.1", "regenerator-runtime": "0.11.0" @@ -1135,8 +1148,7 @@ "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" } } }, @@ -1191,27 +1203,32 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true }, "binary-extensions": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=" + "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", + "dev": true }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true }, "body-parser": { "version": "1.18.2", @@ -1235,6 +1252,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -1244,21 +1262,29 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, "requires": { "expand-range": "1.8.2", "preserve": "0.2.0", "repeat-element": "1.1.2" } }, + "brcast": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz", + "integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==" + }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true }, "browser-resolve": { "version": "1.11.2", "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz", "integrity": "sha1-j/CbCixCFxihBRwmCzLkj0QpOM4=", + "dev": true, "requires": { "resolve": "1.1.7" }, @@ -1266,7 +1292,8 @@ "resolve": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true } } }, @@ -1274,6 +1301,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", + "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -1287,6 +1315,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, "requires": { "browserify-aes": "1.0.8", "browserify-des": "1.0.0", @@ -1297,6 +1326,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -1307,6 +1337,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.5" @@ -1316,6 +1347,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -1330,6 +1362,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, "requires": { "pako": "0.2.9" } @@ -1348,6 +1381,7 @@ "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, "requires": { "base64-js": "1.2.1", "ieee754": "1.1.8", @@ -1357,17 +1391,20 @@ "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true }, "bytes": { "version": "3.0.0", @@ -1393,7 +1430,8 @@ "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true }, "caniuse-lite": { "version": "1.0.30000744", @@ -1405,11 +1443,17 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" } }, + "chain-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", + "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1431,10 +1475,16 @@ } } }, + "change-emitter": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", + "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" + }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", @@ -1451,6 +1501,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -1486,6 +1537,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, "requires": { "center-align": "0.1.3", "right-align": "0.1.3", @@ -1495,12 +1547,14 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "color-convert": { "version": "1.9.0", @@ -1532,7 +1586,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.0", @@ -1549,6 +1604,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, "requires": { "date-now": "0.1.4" } @@ -1556,7 +1612,8 @@ "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true }, "contains-path": { "version": "0.1.0", @@ -1597,18 +1654,19 @@ "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "create-ecdh": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" @@ -1618,6 +1676,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.3", @@ -1629,6 +1688,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, "requires": { "cipher-base": "1.0.4", "create-hash": "1.1.3", @@ -1638,10 +1698,21 @@ "sha.js": "2.4.9" } }, + "create-react-class": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", + "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, "requires": { "lru-cache": "4.1.1", "shebang-command": "1.2.0", @@ -1652,6 +1723,7 @@ "version": "3.11.1", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", + "dev": true, "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -1665,6 +1737,14 @@ "randombytes": "2.0.5" } }, + "css-vendor": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", + "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", + "requires": { + "is-in-browser": "1.1.3" + } + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", @@ -1682,7 +1762,8 @@ "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true }, "debug": { "version": "2.6.9", @@ -1696,7 +1777,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "deep-is": { "version": "0.1.3", @@ -1704,6 +1786,11 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, + "deepmerge": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.0.tgz", + "integrity": "sha512-YiTeIE16rJ/BCCbWYueeQoKkhoolGHqynDZmB03gPqMt6y3duJG6+po7zdMm7UK5o3njDm4Yyuqr4082G4M4Zw==" + }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", @@ -1739,6 +1826,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -1763,6 +1851,7 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -1779,10 +1868,21 @@ "isarray": "1.0.0" } }, + "dom-helpers": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", + "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true }, "duplexer": { "version": "0.1.1", @@ -1812,6 +1912,7 @@ "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", @@ -1831,7 +1932,8 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true }, "encodeurl": { "version": "1.0.1", @@ -1843,7 +1945,6 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, "requires": { "iconv-lite": "0.4.19" } @@ -1852,6 +1953,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "memory-fs": "0.4.1", @@ -1863,6 +1965,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", + "dev": true, "requires": { "prr": "0.0.0" } @@ -1871,6 +1974,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, "requires": { "is-arrayish": "0.2.1" } @@ -1922,6 +2026,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -1935,6 +2040,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -1956,6 +2062,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30", @@ -1979,6 +2086,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", @@ -2258,6 +2366,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, "requires": { "estraverse": "4.2.0", "object-assign": "4.1.1" @@ -2266,12 +2375,14 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true }, "estree-walker": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz", - "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=" + "integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=", + "dev": true }, "esutils": { "version": "2.0.2", @@ -2289,6 +2400,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.30" @@ -2297,12 +2409,14 @@ "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, "requires": { "md5.js": "1.3.4", "safe-buffer": "5.1.1" @@ -2312,6 +2426,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, "requires": { "cross-spawn": "5.1.0", "get-stream": "3.0.0", @@ -2326,6 +2441,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, "requires": { "is-posix-bracket": "0.1.1" } @@ -2334,6 +2450,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, "requires": { "fill-range": "2.2.3" } @@ -2391,6 +2508,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, "requires": { "is-extglob": "1.0.0" } @@ -2398,7 +2516,8 @@ "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true }, "fast-levenshtein": { "version": "2.0.6", @@ -2410,7 +2529,6 @@ "version": "0.8.16", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "dev": true, "requires": { "core-js": "1.2.7", "isomorphic-fetch": "2.2.1", @@ -2443,7 +2561,8 @@ "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true }, "filesize": { "version": "3.5.11", @@ -2455,6 +2574,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, "requires": { "is-number": "2.1.0", "isobject": "2.1.0", @@ -2493,6 +2613,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { "locate-path": "2.0.0" } @@ -2512,12 +2633,14 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, "requires": { "for-in": "1.0.2" } @@ -2556,6 +2679,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "dev": true, "optional": true, "requires": { "nan": "2.7.0", @@ -2565,11 +2689,13 @@ "abbrev": { "version": "1.1.0", "bundled": true, + "dev": true, "optional": true }, "ajv": { "version": "4.11.8", "bundled": true, + "dev": true, "optional": true, "requires": { "co": "4.6.0", @@ -2578,16 +2704,19 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "dev": true }, "aproba": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", "bundled": true, + "dev": true, "optional": true, "requires": { "delegates": "1.0.0", @@ -2597,35 +2726,42 @@ "asn1": { "version": "0.2.3", "bundled": true, + "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", "bundled": true, + "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", "bundled": true, + "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", "bundled": true, + "dev": true, "optional": true }, "aws4": { "version": "1.6.0", "bundled": true, + "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "bundled": true + "bundled": true, + "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -2634,6 +2770,7 @@ "block-stream": { "version": "0.0.9", "bundled": true, + "dev": true, "requires": { "inherits": "2.0.3" } @@ -2641,6 +2778,7 @@ "boom": { "version": "2.10.1", "bundled": true, + "dev": true, "requires": { "hoek": "2.16.3" } @@ -2648,6 +2786,7 @@ "brace-expansion": { "version": "1.1.7", "bundled": true, + "dev": true, "requires": { "balanced-match": "0.4.2", "concat-map": "0.0.1" @@ -2655,44 +2794,53 @@ }, "buffer-shims": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "caseless": { "version": "0.12.0", "bundled": true, + "dev": true, "optional": true }, "co": { "version": "4.6.0", "bundled": true, + "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "dev": true }, "combined-stream": { "version": "1.0.5", "bundled": true, + "dev": true, "requires": { "delayed-stream": "1.0.0" } }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "cryptiles": { "version": "2.0.5", "bundled": true, + "dev": true, "optional": true, "requires": { "boom": "2.10.1" @@ -2701,6 +2849,7 @@ "dashdash": { "version": "1.14.1", "bundled": true, + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -2709,6 +2858,7 @@ "assert-plus": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true } } @@ -2716,6 +2866,7 @@ "debug": { "version": "2.6.8", "bundled": true, + "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -2724,20 +2875,24 @@ "deep-extend": { "version": "0.4.2", "bundled": true, + "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "delegates": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", "bundled": true, + "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -2746,20 +2901,24 @@ "extend": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "forever-agent": { "version": "0.6.1", "bundled": true, + "dev": true, "optional": true }, "form-data": { "version": "2.1.4", "bundled": true, + "dev": true, "optional": true, "requires": { "asynckit": "0.4.0", @@ -2769,11 +2928,13 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "fstream": { "version": "1.0.11", "bundled": true, + "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -2784,6 +2945,7 @@ "fstream-ignore": { "version": "1.0.5", "bundled": true, + "dev": true, "optional": true, "requires": { "fstream": "1.0.11", @@ -2794,6 +2956,7 @@ "gauge": { "version": "2.7.4", "bundled": true, + "dev": true, "optional": true, "requires": { "aproba": "1.1.1", @@ -2809,6 +2972,7 @@ "getpass": { "version": "0.1.7", "bundled": true, + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -2817,6 +2981,7 @@ "assert-plus": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true } } @@ -2824,6 +2989,7 @@ "glob": { "version": "7.1.2", "bundled": true, + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -2835,16 +3001,19 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true + "bundled": true, + "dev": true }, "har-schema": { "version": "1.0.5", "bundled": true, + "dev": true, "optional": true }, "har-validator": { "version": "4.2.1", "bundled": true, + "dev": true, "optional": true, "requires": { "ajv": "4.11.8", @@ -2854,11 +3023,13 @@ "has-unicode": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "hawk": { "version": "3.1.3", "bundled": true, + "dev": true, "optional": true, "requires": { "boom": "2.10.1", @@ -2869,11 +3040,13 @@ }, "hoek": { "version": "2.16.3", - "bundled": true + "bundled": true, + "dev": true }, "http-signature": { "version": "1.1.1", "bundled": true, + "dev": true, "optional": true, "requires": { "assert-plus": "0.2.0", @@ -2884,6 +3057,7 @@ "inflight": { "version": "1.0.6", "bundled": true, + "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -2891,16 +3065,19 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "dev": true }, "ini": { "version": "1.3.4", "bundled": true, + "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -2908,20 +3085,24 @@ "is-typedarray": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "bundled": true + "bundled": true, + "dev": true }, "isstream": { "version": "0.1.2", "bundled": true, + "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -2930,16 +3111,19 @@ "jsbn": { "version": "0.1.1", "bundled": true, + "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", "bundled": true, + "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "jsonify": "0.0.0" @@ -2948,16 +3132,19 @@ "json-stringify-safe": { "version": "5.0.1", "bundled": true, + "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", "bundled": true, + "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", "bundled": true, + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0", @@ -2969,17 +3156,20 @@ "assert-plus": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true } } }, "mime-db": { "version": "1.27.0", - "bundled": true + "bundled": true, + "dev": true }, "mime-types": { "version": "2.1.15", "bundled": true, + "dev": true, "requires": { "mime-db": "1.27.0" } @@ -2987,17 +3177,20 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "dev": true, "requires": { "brace-expansion": "1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "dev": true }, "mkdirp": { "version": "0.5.1", "bundled": true, + "dev": true, "requires": { "minimist": "0.0.8" } @@ -3005,11 +3198,13 @@ "ms": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "node-pre-gyp": { "version": "0.6.36", "bundled": true, + "dev": true, "optional": true, "requires": { "mkdirp": "0.5.1", @@ -3026,6 +3221,7 @@ "nopt": { "version": "4.0.1", "bundled": true, + "dev": true, "optional": true, "requires": { "abbrev": "1.1.0", @@ -3035,6 +3231,7 @@ "npmlog": { "version": "4.1.0", "bundled": true, + "dev": true, "optional": true, "requires": { "are-we-there-yet": "1.1.4", @@ -3045,21 +3242,25 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "dev": true }, "oauth-sign": { "version": "0.8.2", "bundled": true, + "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", "bundled": true, + "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, + "dev": true, "requires": { "wrappy": "1.0.2" } @@ -3067,16 +3268,19 @@ "os-homedir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, + "dev": true, "optional": true }, "osenv": { "version": "0.1.4", "bundled": true, + "dev": true, "optional": true, "requires": { "os-homedir": "1.0.2", @@ -3085,30 +3289,36 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "bundled": true, + "dev": true }, "performance-now": { "version": "0.2.0", "bundled": true, + "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", - "bundled": true + "bundled": true, + "dev": true }, "punycode": { "version": "1.4.1", "bundled": true, + "dev": true, "optional": true }, "qs": { "version": "6.4.0", "bundled": true, + "dev": true, "optional": true }, "rc": { "version": "1.2.1", "bundled": true, + "dev": true, "optional": true, "requires": { "deep-extend": "0.4.2", @@ -3120,6 +3330,7 @@ "minimist": { "version": "1.2.0", "bundled": true, + "dev": true, "optional": true } } @@ -3127,6 +3338,7 @@ "readable-stream": { "version": "2.2.9", "bundled": true, + "dev": true, "requires": { "buffer-shims": "1.0.0", "core-util-is": "1.0.2", @@ -3140,6 +3352,7 @@ "request": { "version": "2.81.0", "bundled": true, + "dev": true, "optional": true, "requires": { "aws-sign2": "0.6.0", @@ -3169,32 +3382,38 @@ "rimraf": { "version": "2.6.1", "bundled": true, + "dev": true, "requires": { "glob": "7.1.2" } }, "safe-buffer": { "version": "5.0.1", - "bundled": true + "bundled": true, + "dev": true }, "semver": { "version": "5.3.0", "bundled": true, + "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, + "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, + "dev": true, "optional": true }, "sntp": { "version": "1.0.9", "bundled": true, + "dev": true, "optional": true, "requires": { "hoek": "2.16.3" @@ -3203,6 +3422,7 @@ "sshpk": { "version": "1.13.0", "bundled": true, + "dev": true, "optional": true, "requires": { "asn1": "0.2.3", @@ -3219,6 +3439,7 @@ "assert-plus": { "version": "1.0.0", "bundled": true, + "dev": true, "optional": true } } @@ -3226,6 +3447,7 @@ "string_decoder": { "version": "1.0.1", "bundled": true, + "dev": true, "requires": { "safe-buffer": "5.0.1" } @@ -3233,6 +3455,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -3242,11 +3465,13 @@ "stringstream": { "version": "0.0.5", "bundled": true, + "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", "bundled": true, + "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -3254,11 +3479,13 @@ "strip-json-comments": { "version": "2.0.1", "bundled": true, + "dev": true, "optional": true }, "tar": { "version": "2.2.1", "bundled": true, + "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -3268,6 +3495,7 @@ "tar-pack": { "version": "3.4.0", "bundled": true, + "dev": true, "optional": true, "requires": { "debug": "2.6.8", @@ -3283,6 +3511,7 @@ "tough-cookie": { "version": "2.3.2", "bundled": true, + "dev": true, "optional": true, "requires": { "punycode": "1.4.1" @@ -3291,6 +3520,7 @@ "tunnel-agent": { "version": "0.6.0", "bundled": true, + "dev": true, "optional": true, "requires": { "safe-buffer": "5.0.1" @@ -3299,25 +3529,30 @@ "tweetnacl": { "version": "0.14.5", "bundled": true, + "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", "bundled": true, + "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true }, "uuid": { "version": "3.0.1", "bundled": true, + "dev": true, "optional": true }, "verror": { "version": "1.3.6", "bundled": true, + "dev": true, "optional": true, "requires": { "extsprintf": "1.0.2" @@ -3326,6 +3561,7 @@ "wide-align": { "version": "1.1.2", "bundled": true, + "dev": true, "optional": true, "requires": { "string-width": "1.0.2" @@ -3333,7 +3569,8 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "dev": true } } }, @@ -3352,12 +3589,14 @@ "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "glob": { "version": "7.1.2", @@ -3377,6 +3616,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, "requires": { "glob-parent": "2.0.0", "is-glob": "2.0.1" @@ -3386,10 +3626,27 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, "requires": { "is-glob": "2.0.1" } }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "2.19.0", + "process": "0.5.2" + }, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + } + } + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -3413,7 +3670,8 @@ "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true }, "gzip-size": { "version": "3.0.0", @@ -3445,12 +3703,14 @@ "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, "requires": { "inherits": "2.0.3" } @@ -3459,6 +3719,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -3468,12 +3729,18 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, "requires": { "hash.js": "1.1.3", "minimalistic-assert": "1.0.0", "minimalistic-crypto-utils": "1.0.1" } }, + "hoist-non-react-statics": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz", + "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA=" + }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -3487,7 +3754,8 @@ "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true }, "http-errors": { "version": "1.6.2", @@ -3512,18 +3780,19 @@ "https-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=" + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true }, "ignore": { "version": "3.3.5", @@ -3540,7 +3809,8 @@ "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true }, "inflight": { "version": "1.0.6", @@ -3555,7 +3825,8 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "inquirer": { "version": "3.3.0", @@ -3619,7 +3890,8 @@ "interpret": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=" + "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", + "dev": true }, "invariant": { "version": "2.2.2", @@ -3633,7 +3905,8 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "ipaddr.js": { "version": "1.5.2", @@ -3644,12 +3917,14 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, "requires": { "binary-extensions": "1.10.0" } @@ -3657,12 +3932,14 @@ "is-buffer": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=" + "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", + "dev": true }, "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, "requires": { "builtin-modules": "1.1.1" } @@ -3682,12 +3959,14 @@ "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, "requires": { "is-primitive": "2.0.0" } @@ -3695,12 +3974,14 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true }, "is-finite": { "version": "1.0.2", @@ -3715,27 +3996,41 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, "requires": { "is-extglob": "1.0.0" } }, + "is-in-browser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", + "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" + }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, "requires": { "kind-of": "3.2.2" } @@ -3764,15 +4059,32 @@ "path-is-inside": "1.0.2" } }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "3.0.1" + }, + "dependencies": { + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + } + } + }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true }, "is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true }, "is-promise": { "version": "2.1.0", @@ -3812,17 +4124,20 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } @@ -3831,7 +4146,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, "requires": { "node-fetch": "1.7.3", "whatwg-fetch": "2.0.3" @@ -3840,8 +4154,7 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { "version": "3.10.0", @@ -3868,17 +4181,20 @@ "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "json-stable-stringify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, "requires": { "jsonify": "0.0.0" } @@ -3886,12 +4202,104 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true }, "jsonify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jss": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-8.1.0.tgz", + "integrity": "sha512-NZ4CNAoPaPlM2rqHxPG5uGQbQEFZ9n1PITn0+wGIdAk2ZtA/F6el0SphLHf8So1Sx6N34hnVFFIuc32/hdsEzw==", + "requires": { + "is-in-browser": "1.1.3", + "warning": "3.0.0" + } + }, + "jss-camel-case": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-5.0.0.tgz", + "integrity": "sha512-vz11ip5EIlGuevtlUo9xIgiuD+it4Ebbb0+Y4o0A4oA8eOWY4aY7ihi/L7WvkQ54xnGOjUvLZ6nm2VYch2ufYg==" + }, + "jss-compose": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-4.0.0.tgz", + "integrity": "sha512-VnsEziD2Lwrfwp10wx39FNybRLW5+RX/E2qQAXPAMbS+nHc0Jf2dC6ZiCfn5FaBGrpzLfIZ9MalTJDx4CQoMAQ==", + "requires": { + "warning": "3.0.0" + } + }, + "jss-default-unit": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-7.0.0.tgz", + "integrity": "sha512-U1Oi1h45vFRuISr+g1DQ3Oua7CkNKNs47fTdiT/lHkuBMc6BBDUbPv9IbPPhk9gsEaX45Iy9TX8CAuaHLPCfEA==" + }, + "jss-expand": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-4.0.1.tgz", + "integrity": "sha512-LRIMXXChAOgnhwSqYLJg8MS6dI98bf/sg52pAg04pbjOAtjfzyS0JTnQAiyk3PxqR3nKFR/Yv44ahpIpkdcxVA==" + }, + "jss-extend": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-5.0.0.tgz", + "integrity": "sha512-fUp+9KipbdmzSfTxNHoT3mrFnE7fYn7EyHg3LTUexfpWrwj5Afkwb3iCfYV7GYCpg9OKDsqc18atwjHvSPWWKg==", + "requires": { + "warning": "3.0.0" + } + }, + "jss-global": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-2.0.0.tgz", + "integrity": "sha512-/FSOMp4lF/vg47T/w8kKvL9tu7ka9am8N4izS63W81Qlay9hAq6xe9RxrPxygLpnn4KEb8LNbkKRoUv4SJfQsQ==" + }, + "jss-nested": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-5.0.0.tgz", + "integrity": "sha512-9Molau+XVpSc6QEco3EC5yXmzeGMc5ZVII8+qy6jD6bvu6Y9mpfGoJ00LalR/n7xr/LC7Cxgs44UQQlLzumMBg==", + "requires": { + "warning": "3.0.0" + } + }, + "jss-preset-default": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-3.0.0.tgz", + "integrity": "sha512-5wRsHsV89XjnQlUVN5jQfo6gcfcirDJmsMJL52HmWoQlV9SA+jhUtt1w3LjcJHe4e3tX4u/To/x3Btmhi+LZtQ==", + "requires": { + "jss-camel-case": "5.0.0", + "jss-compose": "4.0.0", + "jss-default-unit": "7.0.0", + "jss-expand": "4.0.1", + "jss-extend": "5.0.0", + "jss-global": "2.0.0", + "jss-nested": "5.0.0", + "jss-props-sort": "5.0.0", + "jss-vendor-prefixer": "6.0.0" + } + }, + "jss-props-sort": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-5.0.0.tgz", + "integrity": "sha512-xtoVE7BlcPaMN/dzypHPYJn+QiphLPB1skypAOp9zLkOozPbR/x0JVAFdZnd7zqmmjvg+Ma/txjSg0HN/eZsGA==" + }, + "jss-rtl": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.1.tgz", + "integrity": "sha512-fvCsICgCz4N0hGhAAK9mikOoMSeeAnmhdXHkS9/JO9Z3zzRfHSURU6eRiXingxoFyv1O97sILlR2nFNudAZlYg==", + "requires": { + "rtl-css-js": "1.7.0" + } + }, + "jss-vendor-prefixer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-6.0.0.tgz", + "integrity": "sha512-leqW7B2QLXYsUNR3jsUZP3CkuOYcWXyfF8TSJc4XNxhVCNH7ztK5dcnF8nLoMnxT0w/ajloeJKcch2ty/viCAA==", + "requires": { + "css-vendor": "0.3.8" + } }, "jsx-ast-utils": { "version": "1.4.1", @@ -3899,10 +4307,16 @@ "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", "dev": true }, + "keycode": { + "version": "2.1.9", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", + "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" + }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "1.1.5" } @@ -3910,12 +4324,14 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "1.0.0" } @@ -3934,6 +4350,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -3944,12 +4361,14 @@ "loader-runner": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -3960,6 +4379,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { "p-locate": "2.0.0", "path-exists": "3.0.0" @@ -3979,13 +4399,13 @@ "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -3994,6 +4414,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -4003,6 +4424,7 @@ "version": "0.22.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", + "dev": true, "requires": { "vlq": "0.2.3" } @@ -4016,10 +4438,40 @@ "pify": "2.3.0" } }, + "material-ui": { + "version": "1.0.0-beta.18", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.18.tgz", + "integrity": "sha512-/t6KX0KpUCQuN9eiUp7+2hbiLPgYIockEykogfmAVJOWtjIWDN3Bvsh2JeXgVOGjTuaVRIB9zyxHKl/qkz9b2A==", + "requires": { + "babel-runtime": "6.26.0", + "brcast": "3.0.1", + "classnames": "2.2.5", + "deepmerge": "2.0.0", + "dom-helpers": "3.2.1", + "hoist-non-react-statics": "2.3.1", + "jss": "8.1.0", + "jss-preset-default": "3.0.0", + "jss-rtl": "0.2.1", + "keycode": "2.1.9", + "lodash": "4.17.4", + "normalize-scroll-left": "0.1.2", + "prop-types": "15.6.0", + "react-event-listener": "0.5.1", + "react-flow-types": "0.2.0-beta.3", + "react-jss": "7.2.0", + "react-popper": "0.7.4", + "react-scrollbar-size": "2.0.2", + "react-transition-group": "2.2.1", + "recompose": "0.26.0", + "scroll": "2.0.1", + "warning": "3.0.0" + } + }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.3" @@ -4029,6 +4481,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -4046,6 +4499,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, "requires": { "mimic-fn": "1.1.0" } @@ -4054,6 +4508,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, "requires": { "errno": "0.1.4", "readable-stream": "2.3.3" @@ -4075,6 +4530,7 @@ "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, "requires": { "arr-diff": "2.0.0", "array-unique": "0.2.1", @@ -4095,6 +4551,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" @@ -4124,22 +4581,34 @@ "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "0.1.1" + } }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -4147,12 +4616,14 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -4186,6 +4657,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=", + "dev": true, "optional": true }, "natural-compare": { @@ -4204,7 +4676,6 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -4214,6 +4685,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", + "dev": true, "requires": { "assert": "1.4.1", "browserify-zlib": "0.1.4", @@ -4243,7 +4715,8 @@ "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true } } }, @@ -4251,6 +4724,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -4262,14 +4736,21 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, "requires": { "remove-trailing-separator": "1.1.0" } }, + "normalize-scroll-left": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz", + "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg==" + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, "requires": { "path-key": "2.0.1" } @@ -4277,7 +4758,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "object-assign": { "version": "4.1.1", @@ -4294,6 +4776,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, "requires": { "for-own": "0.1.5", "is-extendable": "0.1.1" @@ -4357,7 +4840,8 @@ "os-browserify": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=" + "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", + "dev": true }, "os-homedir": { "version": "1.0.2", @@ -4369,6 +4853,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -4395,17 +4880,20 @@ "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true }, "p-limit": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=" + "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", + "dev": true }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { "p-limit": "1.1.0" } @@ -4413,12 +4901,14 @@ "pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=" + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true }, "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, "requires": { "asn1.js": "4.9.1", "browserify-aes": "1.0.8", @@ -4431,6 +4921,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, "requires": { "glob-base": "0.3.0", "is-dotfile": "1.0.3", @@ -4442,6 +4933,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, "requires": { "error-ex": "1.3.1" } @@ -4455,17 +4947,20 @@ "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -4476,12 +4971,14 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true }, "path-to-regexp": { "version": "0.1.7", @@ -4493,6 +4990,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, "requires": { "pify": "2.3.0" } @@ -4501,6 +4999,7 @@ "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, "requires": { "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -4512,12 +5011,14 @@ "peer-deps-externals-webpack-plugin": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/peer-deps-externals-webpack-plugin/-/peer-deps-externals-webpack-plugin-1.0.2.tgz", - "integrity": "sha512-4tf122hxHWm+XcHhvkK8HRBp/IVu1uCP+pBcRwjI2B2gnUE57/VBh5MZ17dTxsIIDOMzLFgdlaCSGR/6CCLrvg==" + "integrity": "sha512-4tf122hxHWm+XcHhvkK8HRBp/IVu1uCP+pBcRwjI2B2gnUE57/VBh5MZ17dTxsIIDOMzLFgdlaCSGR/6CCLrvg==", + "dev": true }, "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "pinkie": { "version": "2.0.4", @@ -4549,6 +5050,11 @@ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, + "popper.js": { + "version": "1.12.6", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.6.tgz", + "integrity": "sha512-wZlMkIJM1hFcM9F7nSrRCbKKfkH0kk/GrCoj3EUoKU8kx9xPtvnOZNHKsQOM12+xqbYv2HeBWI8Y8pxb6vmnRQ==" + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -4558,7 +5064,8 @@ "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true }, "private": { "version": "0.1.7", @@ -4569,12 +5076,14 @@ "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true }, "progress": { "version": "2.0.0", @@ -4586,7 +5095,6 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, "requires": { "asap": "2.0.6" } @@ -4595,7 +5103,6 @@ "version": "15.6.0", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dev": true, "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -4615,17 +5122,20 @@ "prr": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=" + "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", + "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -4637,7 +5147,8 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "qs": { "version": "6.5.1", @@ -4648,17 +5159,28 @@ "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "rafl": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", + "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", + "requires": { + "global": "4.3.2" + } }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, "requires": { "is-number": "3.0.0", "kind-of": "4.0.0" @@ -4668,6 +5190,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "3.2.2" }, @@ -4676,6 +5199,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "1.1.5" } @@ -4686,6 +5210,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "1.1.5" } @@ -4696,6 +5221,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -4718,10 +5244,100 @@ "unpipe": "1.0.0" } }, + "react": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.0.0.tgz", + "integrity": "sha1-zn348ZQbA28Cssyp29DLHw6FXi0=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, + "react-dom": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.0.0.tgz", + "integrity": "sha1-nMMHnD3NcNTG4BuEqrKn40wwP1g=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, + "react-event-listener": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.1.tgz", + "integrity": "sha1-ujYHbke8N8Wmf/XM1Kn/DxViEEA=", + "requires": { + "babel-runtime": "6.26.0", + "fbjs": "0.8.16", + "prop-types": "15.6.0", + "warning": "3.0.0" + } + }, + "react-flow-types": { + "version": "0.2.0-beta.3", + "resolved": "https://registry.npmjs.org/react-flow-types/-/react-flow-types-0.2.0-beta.3.tgz", + "integrity": "sha512-wrzQ4TJaRAqNA3hFxj23QnnuFfvb3t3J1aXouWX95DwyUfo2CFpmaB+dP7jpwXF0fsv6awHqsxdSnjRVLTfTiA==" + }, + "react-jss": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-7.2.0.tgz", + "integrity": "sha512-vgnNFImsjfchBloCt0BCe7MeiNEiGtTm/MGA0RVFjU/ccTt+YAlfFhSlGJ+KOC3qQ9Sl5mkl07JatGfjW2CTQQ==", + "requires": { + "hoist-non-react-statics": "1.2.0", + "jss": "8.1.0", + "jss-preset-default": "3.0.0", + "prop-types": "15.6.0", + "theming": "1.1.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + } + } + }, + "react-popper": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.7.4.tgz", + "integrity": "sha512-dx1fcKYYkidq7f71I1g+YX7g3QBLZ9taqiSRdJ7wbP7v/o7F6JsrUaNWGbVNul+TqdDDIZ5/k0xPUol9baqQJQ==", + "requires": { + "popper.js": "1.12.6", + "prop-types": "15.6.0" + } + }, + "react-scrollbar-size": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.0.2.tgz", + "integrity": "sha512-scpDs2PZFf9CJteBeDu7jkk7s+YX06Si4rQGVHsH6vjR/p7417q1Jv5SpOblLLesOgNrfWekwoHQG1g0/p3tvw==", + "requires": { + "babel-runtime": "6.26.0", + "prop-types": "15.6.0", + "react-event-listener": "0.5.1" + } + }, + "react-transition-group": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", + "integrity": "sha512-q54UBM22bs/CekG8r3+vi9TugSqh0t7qcEVycaRc9M0p0aCEu+h6rp/RFiW7fHfgd1IKpd9oILFTl5QK+FpiPA==", + "requires": { + "chain-function": "1.0.0", + "classnames": "2.2.5", + "dom-helpers": "3.2.1", + "loose-envify": "1.3.1", + "prop-types": "15.6.0", + "warning": "3.0.0" + } + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, "requires": { "load-json-file": "2.0.0", "normalize-package-data": "2.4.0", @@ -4732,6 +5348,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, "requires": { "find-up": "2.1.0", "read-pkg": "2.0.0" @@ -4741,6 +5358,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -4755,6 +5373,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", @@ -4762,6 +5381,17 @@ "set-immediate-shim": "1.0.1" } }, + "recompose": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", + "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", + "requires": { + "change-emitter": "0.1.6", + "fbjs": "0.8.16", + "hoist-non-react-statics": "2.3.1", + "symbol-observable": "1.0.4" + } + }, "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", @@ -4771,8 +5401,7 @@ "regenerator-runtime": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", - "dev": true + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" }, "regenerator-transform": { "version": "0.10.1", @@ -4789,6 +5418,7 @@ "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, "requires": { "is-equal-shallow": "0.1.3" } @@ -4830,17 +5460,20 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true }, "repeating": { "version": "2.0.1", @@ -4854,12 +5487,14 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "require-uncached": { "version": "1.0.3", @@ -4875,6 +5510,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "dev": true, "requires": { "path-parse": "1.0.5" } @@ -4899,6 +5535,7 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, "requires": { "align-text": "0.1.4" } @@ -4916,6 +5553,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, "requires": { "hash-base": "2.0.2", "inherits": "2.0.3" @@ -4924,12 +5562,14 @@ "rollup": { "version": "0.50.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", - "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==" + "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", + "dev": true }, "rollup-plugin-babel": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.2.tgz", "integrity": "sha512-ALGPBFtwJZcYHsNPM6RGJlEncTzAARPvZOGjNPZgDe5hS5t6sJGjiOWibEFVEz5LQN7S7spvCBILaS4N1Cql2w==", + "dev": true, "requires": { "rollup-pluginutils": "1.5.2" } @@ -4938,6 +5578,7 @@ "version": "8.2.4", "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.4.tgz", "integrity": "sha512-M1sSKg465w41VJvF0jzuc00svaG1BKSgUzrp0OQSPo/8h2l+m2vP5gqSFPr5nRbFFGhWZxnIWL7ZxQlL7AWIgQ==", + "dev": true, "requires": { "acorn": "5.1.2", "estree-walker": "0.5.0", @@ -4949,12 +5590,14 @@ "estree-walker": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.0.tgz", - "integrity": "sha512-/bEAy+yKAZQrEWUhGmS3H9XpGqSDBtRzX0I2PgMw9kA2n1jN22uV5B5p7MFdZdvWdXCRJztXAfx6ZeRfgkEETg==" + "integrity": "sha512-/bEAy+yKAZQrEWUhGmS3H9XpGqSDBtRzX0I2PgMw9kA2n1jN22uV5B5p7MFdZdvWdXCRJztXAfx6ZeRfgkEETg==", + "dev": true }, "rollup-pluginutils": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.0.1.tgz", "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", + "dev": true, "requires": { "estree-walker": "0.3.1", "micromatch": "2.3.11" @@ -4963,7 +5606,8 @@ "estree-walker": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.3.1.tgz", - "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=" + "integrity": "sha1-5rGlHPcpJSTnI3wxLl/mZgwc4ao=", + "dev": true } } } @@ -4973,6 +5617,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=", + "dev": true, "requires": { "browser-resolve": "1.11.2", "builtin-modules": "1.1.1", @@ -4984,11 +5629,17 @@ "version": "1.5.2", "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz", "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", + "dev": true, "requires": { "estree-walker": "0.2.1", "minimatch": "3.0.4" } }, + "rtl-css-js": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.7.0.tgz", + "integrity": "sha512-wQTxRhwAwpV6lnACU3S2rdheRy2wsXrcPfqhq/KQ4tFXPzCYBHT8Vqmz6fiA1xJ5DOOg4LzCi/e4yAlGdmKwdg==" + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -5016,12 +5667,22 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true + }, + "scroll": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.1.tgz", + "integrity": "sha1-tMfSfovPOuiligQvJyaK4/VfnM0=", + "requires": { + "rafl": "1.2.2" + } }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true }, "send": { "version": "0.16.1", @@ -5059,12 +5720,14 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true }, "setimmediate": { "version": "1.0.5", @@ -5081,6 +5744,7 @@ "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -5090,6 +5754,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "1.0.0" } @@ -5097,12 +5762,14 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "slash": { "version": "1.0.0", @@ -5130,12 +5797,14 @@ "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true }, "source-map-support": { "version": "0.4.18", @@ -5150,6 +5819,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -5157,12 +5827,14 @@ "spdx-expression-parse": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true }, "spdx-license-ids": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true }, "sprintf-js": { "version": "1.0.3", @@ -5180,6 +5852,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -5189,6 +5862,7 @@ "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", @@ -5201,6 +5875,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -5209,6 +5884,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" @@ -5217,17 +5893,20 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "3.0.0" } @@ -5238,6 +5917,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -5245,12 +5925,14 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, "strip-json-comments": { "version": "2.0.1", @@ -5262,10 +5944,16 @@ "version": "4.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, "requires": { "has-flag": "2.0.0" } }, + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + }, "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", @@ -5305,7 +5993,8 @@ "tapable": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true }, "text-table": { "version": "0.2.0", @@ -5313,6 +6002,37 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "theming": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/theming/-/theming-1.1.0.tgz", + "integrity": "sha512-YRhQV+eqeuef70eqfMGKGR+3DBXoWJ4lsrSSuj8dzrv0/EsnVuDmZAjIifESvJARtuP1KbMpdl8qbXdLAz4t/w==", + "requires": { + "brcast": "2.0.2", + "is-function": "1.0.1", + "is-plain-object": "2.0.4", + "prop-types": "15.6.0", + "react": "15.6.2" + }, + "dependencies": { + "brcast": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brcast/-/brcast-2.0.2.tgz", + "integrity": "sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg==" + }, + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "15.6.2", + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + } + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -5323,6 +6043,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "dev": true, "requires": { "setimmediate": "1.0.5" } @@ -5339,7 +6060,8 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true }, "to-fast-properties": { "version": "1.0.3", @@ -5362,7 +6084,8 @@ "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true }, "type-check": { "version": "0.3.2", @@ -5392,13 +6115,13 @@ "ua-parser-js": { "version": "0.7.14", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", - "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=", - "dev": true + "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" }, "uglify-js": { "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, "requires": { "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", @@ -5409,6 +6132,7 @@ "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, "requires": { "camelcase": "1.2.1", "cliui": "2.1.0", @@ -5422,12 +6146,14 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, "optional": true }, "uglifyjs-webpack-plugin": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, "requires": { "source-map": "0.5.7", "uglify-js": "2.8.29", @@ -5450,6 +6176,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -5458,7 +6185,8 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true } } }, @@ -5472,6 +6200,7 @@ "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, "requires": { "inherits": "2.0.1" }, @@ -5479,14 +6208,16 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true } } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "utils-merge": { "version": "1.0.1", @@ -5507,6 +6238,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -5521,20 +6253,31 @@ "vlq": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==" + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "dev": true }, "vm-browserify": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, "requires": { "indexof": "0.0.1" } }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.3.1" + } + }, "watchpack": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, "requires": { "async": "2.5.0", "chokidar": "1.7.0", @@ -5545,6 +6288,7 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", + "dev": true, "requires": { "acorn": "5.1.2", "acorn-dynamic-import": "2.0.2", @@ -5593,6 +6337,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", + "dev": true, "requires": { "source-list-map": "2.0.0", "source-map": "0.5.7" @@ -5601,13 +6346,13 @@ "whatwg-fetch": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", - "dev": true + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, "requires": { "isexe": "2.0.0" } @@ -5615,22 +6360,26 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" @@ -5640,6 +6389,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -5684,22 +6434,26 @@ "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, "requires": { "camelcase": "4.1.0", "cliui": "3.2.0", @@ -5719,12 +6473,14 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1", @@ -5735,6 +6491,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -5749,6 +6506,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, "requires": { "camelcase": "4.1.0" }, @@ -5756,7 +6514,8 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true } } } diff --git a/package.json b/package.json index b6ee5568eac9cc..564cc1db42fa5d 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,10 @@ "type": "git", "url": "https://github.com/dmtrKovalenko/material-ui-pickers" }, - "author": "Dmitriy Kovalenko ", + "author": { + "name": "Your name", + "email": "your email" + }, "peerDependencies": { "react": "^16.0.0", "react-dom": "^16.0.0", @@ -37,12 +40,10 @@ "classnames": "^2.2.5", "moment": "^2.19.1", "moment-range": "^3.0.3", - "peer-deps-externals-webpack-plugin": "^1.0.2", - "rollup": "^0.50.0", - "rollup-plugin-babel": "^3.0.2", - "rollup-plugin-commonjs": "^8.2.4", - "rollup-plugin-node-resolve": "^3.0.0", - "webpack": "^3.5.1" + "react": "^16.0.0", + "react-dom": "^16.0.0", + "prop-types": "^15.6.0", + "material-ui": "^1.0.0-beta.17" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", @@ -50,10 +51,6 @@ "build": "rollup --config", "webpack": "webpack" }, - "author": { - "name": "Your name", - "email": "your email" - }, "devDependencies": { "babel-cli": "^6.24.1", "babel-core": "^6.24.1", @@ -71,6 +68,12 @@ "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.4.0", - "webpack-bundle-analyzer": "^2.9.0" + "webpack-bundle-analyzer": "^2.9.0", + "peer-deps-externals-webpack-plugin": "^1.0.2", + "rollup": "^0.50.0", + "rollup-plugin-babel": "^3.0.2", + "rollup-plugin-commonjs": "^8.2.4", + "rollup-plugin-node-resolve": "^3.0.0", + "webpack": "^3.5.1" } } diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index ce294cf300c1e0..39da496c680303 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -15,16 +15,29 @@ class Clock extends Component { children: PropTypes.arrayOf(PropTypes.node).isRequired, } - setTime(e, finish) { - if (typeof e.offsetX === 'undefined') { - console.warn('Touch events not supporting'); + setTime(e) { + let { offsetX, offsetY } = e; + + if (typeof offsetX === 'undefined') { + const rect = e.target.getBoundingClientRect(); + + offsetX = e.changedTouches[0].clientX - rect.left; + offsetY = e.changedTouches[0].clientY - rect.top; } const value = this.props.type === clockType.MINUTES - ? getMinutes(e.offsetX, e.offsetY) - : getHours(e.offsetX, e.offsetY); + ? getMinutes(offsetX, offsetY) + : getHours(offsetX, offsetY); + + this.props.onChange(value); + } - this.props.onChange(value, finish); + handleTouchMove = (e) => { + this.setTime(e); + } + + handleTouchEnd = (e) => { + this.handleTouchMove(e); } handleUp = (event) => { @@ -34,9 +47,10 @@ class Clock extends Component { handleMove = (e) => { e.preventDefault(); - if (e.buttons !== 1) { return; } - - this.setTime(e.nativeEvent, false); + // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari + if (e.buttons === 1 || e.nativeEvent.which === 1) { + this.setTime(e.nativeEvent, false); + } }; hasSelected = () => { diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index 7a6fd2532ee795..18b05e272e5ebb 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -3,7 +3,6 @@ import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; -import pickerStyles from '../styles/pickerStyles'; import HourView from './HourView'; import MinutesView from './MinutesView'; From 99175d1de615517545d16e9c5349703f75e0c5cb Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 12:01:57 +0300 Subject: [PATCH 0020/1801] Update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 564cc1db42fa5d..cad8290c0d9fb2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.3g", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", From ca013be7fc5e154420215078433e0c57a96e6685 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 12:03:12 +0300 Subject: [PATCH 0021/1801] Fix alpha.3 version tag --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cad8290c0d9fb2..f3f4cd2ea3ec52 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.3g", + "version": "1.0.0-alpha.3", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", From 825c03c7b8110d4eec14b9e10c7f05536ab9d113 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 12:26:51 +0300 Subject: [PATCH 0022/1801] Fix reference error, remove invalid packages from package.json --- package-lock.json | 1173 +++++++++++++++++++++------------------------ package.json | 9 +- 2 files changed, 541 insertions(+), 641 deletions(-) diff --git a/package-lock.json b/package-lock.json index a86ef2239df730..be3344f930a008 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.4", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -55,9 +55,9 @@ } }, "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.4.tgz", + "integrity": "sha1-Pa+ai2ciEpn9ro2C0RftjmyAJEs=", "dev": true, "requires": { "co": "4.6.0", @@ -190,7 +190,8 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "asn1.js": { "version": "4.9.1", @@ -298,7 +299,7 @@ "lodash": "4.17.4", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.7", + "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.7" } @@ -330,50 +331,17 @@ "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", "dev": true, "requires": { - "chalk": "2.1.0", + "chalk": "2.3.0", "esutils": "2.0.2", "js-tokens": "3.0.2" } }, - "babel-helper-function-name": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-beta.0.tgz", - "integrity": "sha512-DaQccFBBWBEzMdqbKmNXamY0m1yLHJGOdbbEsNoGdJrrU7wAF3wwowtDDPzF0ZT3SqJXPgZW/P2kgBX9moMuAA==", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "7.0.0-beta.0", - "babel-template": "7.0.0-beta.0", - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0" - } - }, - "babel-helper-get-function-arity": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-beta.0.tgz", - "integrity": "sha512-csqAic15/2Vm1951nJxkkL9K8E6ojyNF/eAOjk7pqJlO8kvgrccGNFCV9eDwcGHDPe5AjvJGwVSAcQ5fit9wuA==", - "dev": true, - "requires": { - "babel-types": "7.0.0-beta.0" - } - }, "babel-messages": { "version": "7.0.0-beta.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-beta.0.tgz", "integrity": "sha512-eXdShsm9ZTh9AQhlIaAn6HR3xWpxCnK9ZwIDA9QyjnwTgMctGxHHflw4b4RJ3/ZjTL0Vrmvm0tQXPkp49mTAUw==", "dev": true }, - "babel-template": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-beta.0.tgz", - "integrity": "sha512-tmdH+MmmU0F6Ur8humpevSmFzYKbrN3Oru0g5Qyg4R6+sxjnzZmnvzUbsP0aKMr7tB0Ua6xhEb9arKTOsEMkyA==", - "dev": true, - "requires": { - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22", - "lodash": "4.17.4" - } - }, "babel-traverse": { "version": "7.0.0-beta.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz", @@ -409,14 +377,14 @@ "dev": true }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "debug": { @@ -434,6 +402,15 @@ "integrity": "sha1-RCWhiBvg0za0qCOoKnvnJdXdmHw=", "dev": true }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -502,6 +479,31 @@ "babel-runtime": "6.26.0", "babel-types": "6.26.0", "lodash": "4.17.4" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + } } }, "babel-helper-explode-assignable-expression": { @@ -516,26 +518,158 @@ } }, "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-beta.0.tgz", + "integrity": "sha512-DaQccFBBWBEzMdqbKmNXamY0m1yLHJGOdbbEsNoGdJrrU7wAF3wwowtDDPzF0ZT3SqJXPgZW/P2kgBX9moMuAA==", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "7.0.0-beta.0", + "babel-template": "7.0.0-beta.0", + "babel-traverse": "7.0.0-beta.0", + "babel-types": "7.0.0-beta.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, + "babel-code-frame": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz", + "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-messages": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-beta.0.tgz", + "integrity": "sha512-eXdShsm9ZTh9AQhlIaAn6HR3xWpxCnK9ZwIDA9QyjnwTgMctGxHHflw4b4RJ3/ZjTL0Vrmvm0tQXPkp49mTAUw==", + "dev": true + }, + "babel-template": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-beta.0.tgz", + "integrity": "sha512-tmdH+MmmU0F6Ur8humpevSmFzYKbrN3Oru0g5Qyg4R6+sxjnzZmnvzUbsP0aKMr7tB0Ua6xhEb9arKTOsEMkyA==", + "dev": true, + "requires": { + "babel-traverse": "7.0.0-beta.0", + "babel-types": "7.0.0-beta.0", + "babylon": "7.0.0-beta.22", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz", + "integrity": "sha512-IKzuTqUcQtMRZ0Vv5RjIrGGj33eBKmNTNeRexWSyjPPuAciyNkva1rt7WXPfHfkb+dX7coRAIUhzeTUEzhnwdA==", + "dev": true, + "requires": { + "babel-code-frame": "7.0.0-beta.0", + "babel-helper-function-name": "7.0.0-beta.0", + "babel-messages": "7.0.0-beta.0", + "babel-types": "7.0.0-beta.0", + "babylon": "7.0.0-beta.22", + "debug": "3.1.0", + "globals": "10.1.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", + "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "2.0.0" + } + }, + "babylon": { + "version": "7.0.0-beta.22", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.22.tgz", + "integrity": "sha512-Yl7iT8QGrS8OfR7p6R12AJexQm+brKwrryai4VWZ7NHUbPoZ5al3+klhvl/14shXZiLa7uK//OIFuZ1/RKHgoA==", + "dev": true + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-10.1.0.tgz", + "integrity": "sha1-RCWhiBvg0za0qCOoKnvnJdXdmHw=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } } }, "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-beta.0.tgz", + "integrity": "sha512-csqAic15/2Vm1951nJxkkL9K8E6ojyNF/eAOjk7pqJlO8kvgrccGNFCV9eDwcGHDPe5AjvJGwVSAcQ5fit9wuA==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-types": "7.0.0-beta.0" + }, + "dependencies": { + "babel-types": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", + "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "2.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } } }, "babel-helper-hoist-variables": { @@ -580,6 +714,31 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + } } }, "babel-helper-replace-supers": { @@ -701,6 +860,31 @@ "babel-plugin-syntax-class-properties": "6.13.0", "babel-runtime": "6.26.0", "babel-template": "6.26.0" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + } } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -749,6 +933,31 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + } } }, "babel-plugin-transform-es2015-computed-properties": { @@ -798,6 +1007,31 @@ "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", "babel-types": "6.26.0" + }, + "dependencies": { + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + } } }, "babel-plugin-transform-es2015-literals": { @@ -876,6 +1110,18 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0" + }, + "dependencies": { + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + } } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -999,12 +1245,6 @@ "regenerator-runtime": "0.10.5" }, "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true - }, "regenerator-runtime": { "version": "0.10.5", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", @@ -1014,9 +1254,9 @@ } }, "babel-preset-env": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.0.tgz", - "integrity": "sha512-OVgtQRuOZKckrILgMA5rvctvFZPv72Gua9Rt006AiPoB0DJKGN07UmaQA+qRrYgK71MVct8fFhT0EyNWYorVew==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", @@ -1046,7 +1286,7 @@ "babel-plugin-transform-es2015-unicode-regex": "6.24.1", "babel-plugin-transform-exponentiation-operator": "6.24.1", "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.5.0", + "browserslist": "2.5.1", "invariant": "2.2.2", "semver": "5.4.1" } @@ -1126,30 +1366,16 @@ "lodash": "4.17.4", "mkdirp": "0.5.1", "source-map-support": "0.4.18" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true - } } }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { "core-js": "2.5.1", "regenerator-runtime": "0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - } } }, "babel-template": { @@ -1269,11 +1495,6 @@ "repeat-element": "1.1.2" } }, - "brcast": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz", - "integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==" - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -1298,9 +1519,9 @@ } }, "browserify-aes": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", - "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "dev": true, "requires": { "buffer-xor": "1.0.3", @@ -1317,7 +1538,7 @@ "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "dev": true, "requires": { - "browserify-aes": "1.0.8", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -1368,13 +1589,13 @@ } }, "browserslist": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.0.tgz", - "integrity": "sha512-6Vw1LIigGw8zCK0gxczksUMZlO+oPUwBazAztMmFL/F8D5wB0qCuxRJGYgYM3JzaO0v2ZMRIg+nnnOgNsPGHeA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.1.tgz", + "integrity": "sha512-jAvM2ku7YDJ+leAq3bFH1DE0Ylw+F+EQDq4GkqZfgPEqpWYw9ofQH85uKSB9r3Tv7XDbfqVtE+sdvKJW7IlPJA==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000744", - "electron-to-chromium": "1.3.24" + "caniuse-lite": "1.0.30000749", + "electron-to-chromium": "1.3.27" } }, "buffer": { @@ -1434,9 +1655,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000744", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000744.tgz", - "integrity": "sha1-hg+lyDujT+YZOX1gfzC7R0ghZxs=", + "version": "1.0.30000749", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000749.tgz", + "integrity": "sha1-L/OChlrq2MyjXaz7qwT1jv+kwBw=", "dev": true }, "center-align": { @@ -1449,11 +1670,6 @@ "lazy-cache": "1.0.4" } }, - "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1465,21 +1681,8 @@ "has-ansi": "2.0.0", "strip-ansi": "3.0.1", "supports-color": "2.0.0" - }, - "dependencies": { - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - } } }, - "change-emitter": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", - "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" - }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -1513,11 +1716,6 @@ "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, - "classnames": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" - }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", @@ -1542,6 +1740,14 @@ "center-align": "0.1.3", "right-align": "0.1.3", "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } } }, "co": { @@ -1652,9 +1858,10 @@ "dev": true }, "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -1698,16 +1905,6 @@ "sha.js": "2.4.9" } }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -1737,20 +1934,12 @@ "randombytes": "2.0.5" } }, - "css-vendor": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", - "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", - "requires": { - "is-in-browser": "1.1.3" - } - }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "es5-ext": "0.10.30" + "es5-ext": "0.10.35" } }, "damerau-levenshtein": { @@ -1786,11 +1975,6 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, - "deepmerge": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.0.tgz", - "integrity": "sha512-YiTeIE16rJ/BCCbWYueeQoKkhoolGHqynDZmB03gPqMt6y3duJG6+po7zdMm7UK5o3njDm4Yyuqr4082G4M4Zw==" - }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", @@ -1814,6 +1998,14 @@ "pify": "2.3.0", "pinkie-promise": "2.0.1", "rimraf": "2.6.2" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "depd": { @@ -1868,16 +2060,6 @@ "isarray": "1.0.0" } }, - "dom-helpers": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", - "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", @@ -1903,9 +2085,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.24", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz", - "integrity": "sha1-m3uIuwXOufoBahd4M8wt3jiPIbY=", + "version": "1.3.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", + "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=", "dev": true }, "elliptic": { @@ -1945,6 +2127,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, "requires": { "iconv-lite": "0.4.19" } @@ -2004,21 +2187,21 @@ } }, "es5-ext": { - "version": "0.10.30", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", - "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", "requires": { - "es6-iterator": "2.0.1", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", + "es5-ext": "0.10.35", "es6-symbol": "3.1.1" } }, @@ -2029,8 +2212,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -2043,8 +2226,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" } @@ -2055,7 +2238,7 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30" + "es5-ext": "0.10.35" } }, "es6-weak-map": { @@ -2065,8 +2248,8 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, @@ -2095,14 +2278,14 @@ } }, "eslint": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.8.0.tgz", - "integrity": "sha1-Ip7w41Tg5h2DfHqA/fuoJeGZgV4=", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.9.0.tgz", + "integrity": "sha1-doedJ0BoJhsZH+Dy9Wx0wvQgjos=", "dev": true, "requires": { - "ajv": "5.2.3", + "ajv": "5.2.4", "babel-code-frame": "6.26.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "concat-stream": "1.6.0", "cross-spawn": "5.1.0", "debug": "3.1.0", @@ -2116,7 +2299,7 @@ "functional-red-black-tree": "1.0.1", "glob": "7.1.2", "globals": "9.18.0", - "ignore": "3.3.5", + "ignore": "3.3.6", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.0.0", @@ -2155,14 +2338,14 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "debug": { @@ -2182,22 +2365,31 @@ "requires": { "ansi-regex": "3.0.0" } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } } } }, "eslint-config-airbnb": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.0.0.tgz", - "integrity": "sha512-QWl/uGjvG71Bap0RTKZ1DPnZzhY5UFGQh4PUYS7q5dksfhgwyQ9WLL6f7OV4o1P8HdR0VuLs0FQI5dHkLIUOjQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", + "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "12.0.2" + "eslint-config-airbnb-base": "12.1.0" } }, "eslint-config-airbnb-base": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.0.2.tgz", - "integrity": "sha512-rQqOvAzrMC3BBCH6Dd/1RenDi+RW4vdgnh8xcPf6sgd324ad6aX7hSZ52L1SfDGe2VsZR2yB5uPvDfXYvxHZmA==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", + "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { "eslint-restricted-globals": "0.1.1" @@ -2254,9 +2446,9 @@ } }, "eslint-plugin-import": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz", - "integrity": "sha512-HGYmpU9f/zJaQiKNQOVfHUh2oLWW3STBrCgH0sHTX1xtsxYlH1zjLh8FlQGEIdZSdTbUMaV36WaZ6ImXkenGxQ==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz", + "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==", "dev": true, "requires": { "builtin-modules": "1.1.1", @@ -2403,7 +2595,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.30" + "es5-ext": "0.10.35" } }, "events": { @@ -2529,6 +2721,7 @@ "version": "0.8.16", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, "requires": { "core-js": "1.2.7", "isomorphic-fetch": "2.2.1", @@ -2536,7 +2729,15 @@ "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", - "ua-parser-js": "0.7.14" + "ua-parser-js": "0.7.17" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true + } } }, "figures": { @@ -2605,7 +2806,7 @@ "dev": true, "requires": { "commondir": "1.0.1", - "make-dir": "1.0.0", + "make-dir": "1.1.0", "pkg-dir": "2.0.0" } }, @@ -3631,22 +3832,6 @@ "is-glob": "2.0.1" } }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "2.19.0", - "process": "0.5.2" - }, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - } - } - }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -3665,6 +3850,14 @@ "object-assign": "4.1.1", "pify": "2.3.0", "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "graceful-fs": { @@ -3736,11 +3929,6 @@ "minimalistic-crypto-utils": "1.0.1" } }, - "hoist-non-react-statics": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz", - "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA=" - }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -3786,7 +3974,8 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true }, "ieee754": { "version": "1.1.8", @@ -3795,9 +3984,9 @@ "dev": true }, "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.6.tgz", + "integrity": "sha512-HrxmNxKTGZ9a3uAl/FNG66Sdt0G9L4TtMbbUQjP1WhGmSj0FOyHvSgx7623aGJvXfPOur8MwmarlHT+37jmzlw==", "dev": true }, "imurmurhash": { @@ -3835,7 +4024,7 @@ "dev": true, "requires": { "ansi-escapes": "3.0.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.0.5", @@ -3866,14 +4055,14 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "strip-ansi": { @@ -3884,6 +4073,15 @@ "requires": { "ansi-regex": "3.0.0" } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } } } }, @@ -3993,18 +4191,10 @@ } }, "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "is-glob": { "version": "2.0.1", @@ -4015,11 +4205,6 @@ "is-extglob": "1.0.0" } }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, "is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -4059,21 +4244,6 @@ "path-is-inside": "1.0.2" } }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - } - } - }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", @@ -4113,7 +4283,8 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "is-symbol": { "version": "1.0.1", @@ -4146,6 +4317,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, "requires": { "node-fetch": "1.7.3", "whatwg-fetch": "2.0.3" @@ -4154,7 +4326,8 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "js-yaml": { "version": "3.10.0", @@ -4211,107 +4384,12 @@ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", "dev": true }, - "jss": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-8.1.0.tgz", - "integrity": "sha512-NZ4CNAoPaPlM2rqHxPG5uGQbQEFZ9n1PITn0+wGIdAk2ZtA/F6el0SphLHf8So1Sx6N34hnVFFIuc32/hdsEzw==", - "requires": { - "is-in-browser": "1.1.3", - "warning": "3.0.0" - } - }, - "jss-camel-case": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-5.0.0.tgz", - "integrity": "sha512-vz11ip5EIlGuevtlUo9xIgiuD+it4Ebbb0+Y4o0A4oA8eOWY4aY7ihi/L7WvkQ54xnGOjUvLZ6nm2VYch2ufYg==" - }, - "jss-compose": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-4.0.0.tgz", - "integrity": "sha512-VnsEziD2Lwrfwp10wx39FNybRLW5+RX/E2qQAXPAMbS+nHc0Jf2dC6ZiCfn5FaBGrpzLfIZ9MalTJDx4CQoMAQ==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-default-unit": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-7.0.0.tgz", - "integrity": "sha512-U1Oi1h45vFRuISr+g1DQ3Oua7CkNKNs47fTdiT/lHkuBMc6BBDUbPv9IbPPhk9gsEaX45Iy9TX8CAuaHLPCfEA==" - }, - "jss-expand": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-4.0.1.tgz", - "integrity": "sha512-LRIMXXChAOgnhwSqYLJg8MS6dI98bf/sg52pAg04pbjOAtjfzyS0JTnQAiyk3PxqR3nKFR/Yv44ahpIpkdcxVA==" - }, - "jss-extend": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-5.0.0.tgz", - "integrity": "sha512-fUp+9KipbdmzSfTxNHoT3mrFnE7fYn7EyHg3LTUexfpWrwj5Afkwb3iCfYV7GYCpg9OKDsqc18atwjHvSPWWKg==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-global": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-2.0.0.tgz", - "integrity": "sha512-/FSOMp4lF/vg47T/w8kKvL9tu7ka9am8N4izS63W81Qlay9hAq6xe9RxrPxygLpnn4KEb8LNbkKRoUv4SJfQsQ==" - }, - "jss-nested": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-5.0.0.tgz", - "integrity": "sha512-9Molau+XVpSc6QEco3EC5yXmzeGMc5ZVII8+qy6jD6bvu6Y9mpfGoJ00LalR/n7xr/LC7Cxgs44UQQlLzumMBg==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-preset-default": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-3.0.0.tgz", - "integrity": "sha512-5wRsHsV89XjnQlUVN5jQfo6gcfcirDJmsMJL52HmWoQlV9SA+jhUtt1w3LjcJHe4e3tX4u/To/x3Btmhi+LZtQ==", - "requires": { - "jss-camel-case": "5.0.0", - "jss-compose": "4.0.0", - "jss-default-unit": "7.0.0", - "jss-expand": "4.0.1", - "jss-extend": "5.0.0", - "jss-global": "2.0.0", - "jss-nested": "5.0.0", - "jss-props-sort": "5.0.0", - "jss-vendor-prefixer": "6.0.0" - } - }, - "jss-props-sort": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-5.0.0.tgz", - "integrity": "sha512-xtoVE7BlcPaMN/dzypHPYJn+QiphLPB1skypAOp9zLkOozPbR/x0JVAFdZnd7zqmmjvg+Ma/txjSg0HN/eZsGA==" - }, - "jss-rtl": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.1.tgz", - "integrity": "sha512-fvCsICgCz4N0hGhAAK9mikOoMSeeAnmhdXHkS9/JO9Z3zzRfHSURU6eRiXingxoFyv1O97sILlR2nFNudAZlYg==", - "requires": { - "rtl-css-js": "1.7.0" - } - }, - "jss-vendor-prefixer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-6.0.0.tgz", - "integrity": "sha512-leqW7B2QLXYsUNR3jsUZP3CkuOYcWXyfF8TSJc4XNxhVCNH7ztK5dcnF8nLoMnxT0w/ajloeJKcch2ty/viCAA==", - "requires": { - "css-vendor": "0.3.8" - } - }, "jsx-ast-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", "dev": true }, - "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -4356,6 +4434,14 @@ "parse-json": "2.2.0", "pify": "2.3.0", "strip-bom": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "loader-runner": { @@ -4388,7 +4474,8 @@ "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true }, "lodash.cond": { "version": "4.5.2", @@ -4406,6 +4493,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -4430,41 +4518,12 @@ } }, "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "dev": true, "requires": { - "pify": "2.3.0" - } - }, - "material-ui": { - "version": "1.0.0-beta.18", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.18.tgz", - "integrity": "sha512-/t6KX0KpUCQuN9eiUp7+2hbiLPgYIockEykogfmAVJOWtjIWDN3Bvsh2JeXgVOGjTuaVRIB9zyxHKl/qkz9b2A==", - "requires": { - "babel-runtime": "6.26.0", - "brcast": "3.0.1", - "classnames": "2.2.5", - "deepmerge": "2.0.0", - "dom-helpers": "3.2.1", - "hoist-non-react-statics": "2.3.1", - "jss": "8.1.0", - "jss-preset-default": "3.0.0", - "jss-rtl": "0.2.1", - "keycode": "2.1.9", - "lodash": "4.17.4", - "normalize-scroll-left": "0.1.2", - "prop-types": "15.6.0", - "react-event-listener": "0.5.1", - "react-flow-types": "0.2.0-beta.3", - "react-jss": "7.2.0", - "react-popper": "0.7.4", - "react-scrollbar-size": "2.0.2", - "react-transition-group": "2.2.1", - "recompose": "0.26.0", - "scroll": "2.0.1", - "warning": "3.0.0" + "pify": "3.0.0" } }, "md5.js": { @@ -4584,14 +4643,6 @@ "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "0.1.1" - } - }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", @@ -4676,6 +4727,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -4741,11 +4793,6 @@ "remove-trailing-separator": "1.1.0" } }, - "normalize-scroll-left": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz", - "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg==" - }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -4764,7 +4811,8 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-keys": { "version": "1.0.11", @@ -4827,14 +4875,6 @@ "prelude-ls": "1.1.2", "type-check": "0.3.2", "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - } } }, "os-browserify": { @@ -4911,7 +4951,7 @@ "dev": true, "requires": { "asn1.js": "4.9.1", - "browserify-aes": "1.0.8", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -4993,6 +5033,14 @@ "dev": true, "requires": { "pify": "2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } } }, "pbkdf2": { @@ -5015,9 +5063,9 @@ "dev": true }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pinkie": { @@ -5050,11 +5098,6 @@ "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, - "popper.js": { - "version": "1.12.6", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.6.tgz", - "integrity": "sha512-wZlMkIJM1hFcM9F7nSrRCbKKfkH0kk/GrCoj3EUoKU8kx9xPtvnOZNHKsQOM12+xqbYv2HeBWI8Y8pxb6vmnRQ==" - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -5068,9 +5111,9 @@ "dev": true }, "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", "dev": true }, "process": { @@ -5095,6 +5138,7 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, "requires": { "asap": "2.0.6" } @@ -5103,6 +5147,7 @@ "version": "15.6.0", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -5168,14 +5213,6 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "rafl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", - "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", - "requires": { - "global": "4.3.2" - } - }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", @@ -5244,95 +5281,6 @@ "unpipe": "1.0.0" } }, - "react": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.0.0.tgz", - "integrity": "sha1-zn348ZQbA28Cssyp29DLHw6FXi0=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - }, - "react-dom": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.0.0.tgz", - "integrity": "sha1-nMMHnD3NcNTG4BuEqrKn40wwP1g=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - }, - "react-event-listener": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.1.tgz", - "integrity": "sha1-ujYHbke8N8Wmf/XM1Kn/DxViEEA=", - "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.6.0", - "warning": "3.0.0" - } - }, - "react-flow-types": { - "version": "0.2.0-beta.3", - "resolved": "https://registry.npmjs.org/react-flow-types/-/react-flow-types-0.2.0-beta.3.tgz", - "integrity": "sha512-wrzQ4TJaRAqNA3hFxj23QnnuFfvb3t3J1aXouWX95DwyUfo2CFpmaB+dP7jpwXF0fsv6awHqsxdSnjRVLTfTiA==" - }, - "react-jss": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-7.2.0.tgz", - "integrity": "sha512-vgnNFImsjfchBloCt0BCe7MeiNEiGtTm/MGA0RVFjU/ccTt+YAlfFhSlGJ+KOC3qQ9Sl5mkl07JatGfjW2CTQQ==", - "requires": { - "hoist-non-react-statics": "1.2.0", - "jss": "8.1.0", - "jss-preset-default": "3.0.0", - "prop-types": "15.6.0", - "theming": "1.1.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" - } - } - }, - "react-popper": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.7.4.tgz", - "integrity": "sha512-dx1fcKYYkidq7f71I1g+YX7g3QBLZ9taqiSRdJ7wbP7v/o7F6JsrUaNWGbVNul+TqdDDIZ5/k0xPUol9baqQJQ==", - "requires": { - "popper.js": "1.12.6", - "prop-types": "15.6.0" - } - }, - "react-scrollbar-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.0.2.tgz", - "integrity": "sha512-scpDs2PZFf9CJteBeDu7jkk7s+YX06Si4rQGVHsH6vjR/p7417q1Jv5SpOblLLesOgNrfWekwoHQG1g0/p3tvw==", - "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.6.0", - "react-event-listener": "0.5.1" - } - }, - "react-transition-group": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", - "integrity": "sha512-q54UBM22bs/CekG8r3+vi9TugSqh0t7qcEVycaRc9M0p0aCEu+h6rp/RFiW7fHfgd1IKpd9oILFTl5QK+FpiPA==", - "requires": { - "chain-function": "1.0.0", - "classnames": "2.2.5", - "dom-helpers": "3.2.1", - "loose-envify": "1.3.1", - "prop-types": "15.6.0", - "warning": "3.0.0" - } - }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -5381,17 +5329,6 @@ "set-immediate-shim": "1.0.1" } }, - "recompose": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", - "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", - "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.3.1", - "symbol-observable": "1.0.4" - } - }, "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", @@ -5401,7 +5338,8 @@ "regenerator-runtime": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "dev": true }, "regenerator-transform": { "version": "0.10.1", @@ -5411,7 +5349,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "private": "0.1.7" + "private": "0.1.8" } }, "regex-cache": { @@ -5635,11 +5573,6 @@ "minimatch": "3.0.4" } }, - "rtl-css-js": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.7.0.tgz", - "integrity": "sha512-wQTxRhwAwpV6lnACU3S2rdheRy2wsXrcPfqhq/KQ4tFXPzCYBHT8Vqmz6fiA1xJ5DOOg4LzCi/e4yAlGdmKwdg==" - }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -5670,14 +5603,6 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, - "scroll": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.1.tgz", - "integrity": "sha1-tMfSfovPOuiligQvJyaK4/VfnM0=", - "requires": { - "rafl": "1.2.2" - } - }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", @@ -5732,7 +5657,8 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "setprototypeof": { "version": "1.1.0", @@ -5784,14 +5710,6 @@ "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - } } }, "source-list-map": { @@ -5896,12 +5814,6 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -5941,18 +5853,10 @@ "dev": true }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true }, "table": { "version": "4.0.2", @@ -5960,9 +5864,9 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.2.3", + "ajv": "5.2.4", "ajv-keywords": "2.1.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "lodash": "4.17.4", "slice-ansi": "1.0.0", "string-width": "2.1.1" @@ -5978,14 +5882,23 @@ } }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" } } } @@ -6002,37 +5915,6 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "theming": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/theming/-/theming-1.1.0.tgz", - "integrity": "sha512-YRhQV+eqeuef70eqfMGKGR+3DBXoWJ4lsrSSuj8dzrv0/EsnVuDmZAjIifESvJARtuP1KbMpdl8qbXdLAz4t/w==", - "requires": { - "brcast": "2.0.2", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "prop-types": "15.6.0", - "react": "15.6.2" - }, - "dependencies": { - "brcast": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brcast/-/brcast-2.0.2.tgz", - "integrity": "sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg==" - }, - "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - } - } - }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -6113,9 +5995,10 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.14", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", - "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", + "dev": true }, "uglify-js": { "version": "2.8.29", @@ -6265,14 +6148,6 @@ "indexof": "0.0.1" } }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "1.3.1" - } - }, "watchpack": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", @@ -6285,14 +6160,14 @@ } }, "webpack": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.6.0.tgz", - "integrity": "sha512-OsHT3D0W0KmPPh60tC7asNnOmST6bKTiR90UyEdT9QYoaJ4OYN4Gg7WK1k3VxHK07ZoiYWPsKvlS/gAjwL/vRA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", + "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "dev": true, "requires": { "acorn": "5.1.2", "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.3", + "ajv": "5.2.4", "ajv-keywords": "2.1.0", "async": "2.5.0", "enhanced-resolve": "3.4.1", @@ -6306,12 +6181,23 @@ "mkdirp": "0.5.1", "node-libs-browser": "2.0.0", "source-map": "0.5.7", - "supports-color": "4.4.0", + "supports-color": "4.5.0", "tapable": "0.2.8", "uglifyjs-webpack-plugin": "0.4.6", "watchpack": "1.4.0", "webpack-sources": "1.0.1", "yargs": "8.0.2" + }, + "dependencies": { + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } } }, "webpack-bundle-analyzer": { @@ -6346,7 +6232,8 @@ "whatwg-fetch": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true }, "which": { "version": "1.3.0", @@ -6370,9 +6257,9 @@ "dev": true }, "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrap-ansi": { @@ -6385,6 +6272,15 @@ "strip-ansi": "3.0.1" }, "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -6499,6 +6395,15 @@ } } } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } } } }, diff --git a/package.json b/package.json index f3f4cd2ea3ec52..99f58182e7d57d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.3", + "version": "1.0.0-alpha.5", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", @@ -37,13 +37,8 @@ "classnames": "^2.2.5" }, "dependencies": { - "classnames": "^2.2.5", "moment": "^2.19.1", - "moment-range": "^3.0.3", - "react": "^16.0.0", - "react-dom": "^16.0.0", - "prop-types": "^15.6.0", - "material-ui": "^1.0.0-beta.17" + "moment-range": "^3.0.3" }, "scripts": { "test": "echo \"Error: no test specified\" && exit 1", From 40b39e6bc799e2da13cc236eeeead0fdf20c2a80 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 12:33:33 +0300 Subject: [PATCH 0023/1801] Update README.md --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1bf3e9e7cb1c6a..51d4071e6f41c2 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,9 @@ ## [Click here for demo](https://material-ui-pic.firebaseapp.com/) +### Recently updated? +Changelog available [here](https://github.com/dmtrKovalenko/material-ui-pickers/releases) + ### Installation Available as npm package ```sh @@ -68,8 +71,8 @@ format | string | 'MMMM Do' | Moment format string for input autoOk | boolean | false | Auto accept time on selection ### Known Issues -1. Supporting of touch devices -2. DateTime picker +1. 24 hour displaying for timepicker (currently supportinh only am/pm) +2. DateTime picker (wrapper above date and time) That would be added in one of the nearest release :) From 9ed1787ff7c53195a004b35e3b435b076b00d7a9 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 24 Oct 2017 12:34:34 +0300 Subject: [PATCH 0024/1801] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 51d4071e6f41c2..1db825d8b93a55 100644 --- a/README.md +++ b/README.md @@ -71,10 +71,10 @@ format | string | 'MMMM Do' | Moment format string for input autoOk | boolean | false | Auto accept time on selection ### Known Issues -1. 24 hour displaying for timepicker (currently supportinh only am/pm) +1. 24 hour displaying for timepicker (now supporting only am/pm) 2. DateTime picker (wrapper above date and time) -That would be added in one of the nearest release :) +They would be added/fixed in one of the nearest release :) ### Contributing For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTE.md) file. From d44b7d9f75e64e6a19e885d0665ec1d2886bb7d2 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 25 Oct 2017 10:16:25 +0300 Subject: [PATCH 0025/1801] Create CONTRIBUTING.md --- CONTRIBUTING.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000000..22e767504f3381 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,41 @@ +# Contributing +:raised_hands::tada: First off all, thanks for taking the time to contribute! :tada::raised_hands: + +The following is a set of guidelines for contributing to material-ui-pickers. The purpose of these +guidelines is to maintain a high quality of code *and* traceability. Please respect these +guidelines. + +## General +This repository use tests and a linter as automatic tools to maintain the quality of the code. +These two tasks are run locally on your machine before every commit (as a pre-commit git hook), +if any test fail or the linter gives an error the commit will not be created. They are also run on +a Travis CI machine when you create a pull request, and the PR will not be merged unless Travis +says all tests and the linting pass. + +## Git Commit Messages +* Use the imperative mood ("Move pointer to..." not "Moves pointer to...") + * Think of it as you are *commanding* what your commit is doing + * Git itself uses the imperative whenever it creates a commit on your behalf, so it makes sense + for you to use it too +* Use the body to explain *what* and *why* + * If the commit is non-trivial, please provide more detailed information in the commit body + message + * *How* you made the change is visible in the code and is therefore rarely necessary to include + in the commit body message, but *why* you made the change is often harder to guess and is + therefore useful to include in the commit body message + +[Here's a nice blog post on how to write great git messages.](http://chris.beams.io/posts/git-commit/) + +## Pull Requests +* Follow the current code style +* Write tests for your changes +* Document your changes in the README if it's needed +* End files with a newline +* There's no need to create a new build for each pull request, we (the maintainers) do this when we + release a new version + +## Issues +* Please be descriptive when you fill in the issue template, this will greatly help us maintainers + in helping you which will lead to your issue being resolved faster +* Feature requests are very welcomed, but not every feature that is requested can be guaranteed + to be implemented From e109c3e2b706977cfece791b2d06941674d13443 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 25 Oct 2017 10:16:55 +0300 Subject: [PATCH 0026/1801] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1db825d8b93a55..3d61ea0e0c6812 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ autoOk | boolean | false | Auto accept time on selection They would be added/fixed in one of the nearest release :) ### Contributing -For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTE.md) file. +For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTING.md) file. ### LICENSE The project is licensed under the terms of [MIT license](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/LICENSE) From 8216c3a26b0787e43f92535e34961b8fd4b975aa Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 25 Oct 2017 17:57:28 +0300 Subject: [PATCH 0027/1801] Update docs readme --- docs/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/README.md b/docs/README.md index e339b82d517bdd..393415d6a86fe6 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,2 +1,13 @@ Demo project for material-ui-picker +First of all want to thanks for taking your time to contribute 🎉 +There is a little instruction of how to run the demo locally using `npm link` + +Just run this command to create and you will be able to run demo. + +```sh +npm link && cd docs && npm link material-ui-pickers +``` + +Thats it, your local build is linked to demo project! +Please note that you need to start the project in both `root` and `/docs folders`, fist will build cjs module for you, and demo would be automaticly reloaded by watcher. From 0e80d3278db55ee4e254c7343aba5512fa349a13 Mon Sep 17 00:00:00 2001 From: Ema Ing Date: Wed, 25 Oct 2017 17:32:29 +0200 Subject: [PATCH 0028/1801] Handled minDate and maxDate props for DatePicker component --- README.md | 20 +++++++++++--------- docs/package.json | 5 ++++- src/DatePicker/Calendar.jsx | 11 +++++++++-- src/DatePicker/DatePicker.jsx | 2 ++ src/DatePicker/DatePickerModal.jsx | 8 +++++++- 5 files changed, 33 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 3d61ea0e0c6812..f893c4caf722ad 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,12 @@ Changelog available [here](https://github.com/dmtrKovalenko/material-ui-pickers/releases) ### Installation -Available as npm package +Available as npm package ```sh npm install material-ui-pickers -S ``` -### Usage +### Usage Here is a quick example of how to use this package ```jsx @@ -35,15 +35,15 @@ class App extends Component { return (
- + /> - + />
) } @@ -51,24 +51,26 @@ class App extends Component { ``` ### Props documentation -Here is a list of available props +Here is a list of available props #### Datepicker Prop | Type | Default | Definition ------------ | ------------- | ------------- | ------------- value | string, number, Date object, Moment object | null | Datepicker value format | string | 'MMMM Do' | Moment format string for input -autoOk | boolean | false | Auto accept date on selection +autoOk | boolean | false | Auto accept date on selection disableFuture | boolean | false | Disable future dates animateYearScrolling | boolean | false | Will animate year selection (note that will work for browser supports scrollIntoView api) openToYearSelection | boolean | false | Open datepicker from year selection +minDate | string, number, Date object, Moment object | '1900-01-01' | Minimum selectable date +maxDate | string, number, Date object, Moment object | '2100-01-01' | Maximum selectable date #### Timepicker Prop | Type | Default | Definition ------------ | ------------- | ------------- | ------------- value | string, number, Date object, Moment object | null | Timepicker value format | string | 'MMMM Do' | Moment format string for input -autoOk | boolean | false | Auto accept time on selection +autoOk | boolean | false | Auto accept time on selection ### Known Issues 1. 24 hour displaying for timepicker (now supporting only am/pm) diff --git a/docs/package.json b/docs/package.json index 1e2c18c020bea7..f490f2401bfeb0 100644 --- a/docs/package.json +++ b/docs/package.json @@ -9,9 +9,12 @@ "react-scripts": "1.0.14" }, "scripts": { - "start": "PORT=3002 react-scripts start", + "start": "cross-env PORT=3002 react-scripts start", "build": "react-scripts build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" + }, + "devDependencies": { + "cross-env": "^5.1.0" } } diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index d43fa7d30a9967..e1e8cf073f4ca8 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -12,11 +12,18 @@ const moment = extendMoment(Moment); class Calendar extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, + minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool.isRequired, } + static defaultProps = { + minDate: '1900-01-01', + maxDate: '2100-01-01', + } + state = { currentMonth: this.props.date.clone().startOf('month'), } @@ -43,7 +50,7 @@ class Calendar extends PureComponent { } renderDays = (week) => { - const { disableFuture, classes, date } = this.props; + const { disableFuture, classes, date, minDate, maxDate } = this.props; const end = week.clone().endOf('week'); const currentMonthNumber = this.state.currentMonth.get('month'); @@ -52,7 +59,7 @@ class Calendar extends PureComponent { const dayClass = classnames(classes.day, { [classes.hidden]: day.get('month') !== currentMonthNumber, [classes.selected]: day.toString() === date.toString(), - [classes.disabled]: disableFuture && day.isAfter(moment()), + [classes.disabled]: disableFuture && day.isAfter(moment()) || minDate && day.isBefore(minDate) || maxDate && day.isAfter(maxDate), }); return ( diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index dc6de3c1bc4354..99bf604fce2960 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -92,6 +92,8 @@ class DatePicker extends PureComponent { date={this.date} onChange={onChange} disableFuture={disableFuture} + minDate={this.minDate} + maxDate={this.maxDate} /> }
diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index 793c22515b2268..bd8b480f5a4dff 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -8,6 +8,8 @@ import DatePicker from './DatePicker'; export default class DatePickerModal extends PureComponent { static propTypes = { + minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), format: PropTypes.string, onChange: PropTypes.func.isRequired, @@ -18,6 +20,8 @@ export default class DatePickerModal extends PureComponent { } static defaultProps = { + minDate: '1900-01-01', + maxDate: '2100-01-01', value: null, format: 'MMMM Do', autoOk: false, @@ -59,7 +63,7 @@ export default class DatePickerModal extends PureComponent { render() { const { date } = this.state; const { - value, format, autoOk, onChange, disableFuture, animateYearScrolling, openToYearSelection, + value, format, autoOk, onChange, disableFuture, animateYearScrolling, openToYearSelection, minDate, maxDate, ...other } = this.props; @@ -83,6 +87,8 @@ export default class DatePickerModal extends PureComponent { disableFuture={disableFuture} animateYearScrolling={animateYearScrolling} openToYearSelection={openToYearSelection} + minDate={minDate} + maxDate={maxDate} /> From 20e62db5bb9310413476f32204111ad240cb95b7 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 25 Oct 2017 23:14:14 +0300 Subject: [PATCH 0029/1801] Restore dependencies from docs folder, add skeleton for jest tests --- .babelrc | 7 +- __tests__/DatePicker/DatePicker.test.js | 16 + docs/package-lock.json | 860 ++----- docs/package.json | 3 - docs/src/App.js | 2 +- docs/src/App.test.js | 8 - docs/src/Demo/Demo.jsx | 2 +- package-lock.json | 2961 ++++++++++++++++++++++- package.json | 17 +- rollup.config.js | 23 +- 10 files changed, 3205 insertions(+), 694 deletions(-) create mode 100644 __tests__/DatePicker/DatePicker.test.js delete mode 100644 docs/src/App.test.js diff --git a/.babelrc b/.babelrc index dd9910a1e89204..27ea838a74d129 100644 --- a/.babelrc +++ b/.babelrc @@ -12,5 +12,10 @@ "transform-react-jsx", "transform-class-properties", "external-helpers" - ] + ], + "env": { + "test": { + "presets": ["es2015"] + } + } } \ No newline at end of file diff --git a/__tests__/DatePicker/DatePicker.test.js b/__tests__/DatePicker/DatePicker.test.js new file mode 100644 index 00000000000000..ad49ba7c6820ff --- /dev/null +++ b/__tests__/DatePicker/DatePicker.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DatePicker from '../../src/DatePicker/DatePicker'; + +describe('DatePicker', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/docs/package-lock.json b/docs/package-lock.json index 2c14bb7b1b4684..64cfc9ed6f9f35 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -74,14 +74,14 @@ "integrity": "sha1-SACB6CtYe6MZRZ/vUS9Rb+A9WK8=" }, "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -334,8 +334,8 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.2.tgz", "integrity": "sha1-++rwfUj9h44Ggr98vurecorbKxg=", "requires": { - "browserslist": "2.5.0", - "caniuse-lite": "1.0.30000744", + "browserslist": "2.5.1", + "caniuse-lite": "1.0.30000750", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "6.0.13", @@ -391,7 +391,7 @@ "lodash": "4.17.4", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.7", + "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.7" }, @@ -623,7 +623,7 @@ "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", "requires": { "find-up": "2.1.0", - "istanbul-lib-instrument": "1.8.0", + "istanbul-lib-instrument": "1.9.1", "test-exclude": "4.1.1" } }, @@ -1034,7 +1034,7 @@ "babel-plugin-transform-es2015-unicode-regex": "6.24.1", "babel-plugin-transform-exponentiation-operator": "6.24.1", "babel-plugin-transform-regenerator": "6.24.1", - "browserslist": "2.5.0", + "browserslist": "2.5.1", "invariant": "2.2.2", "semver": "5.4.1" } @@ -1122,16 +1122,11 @@ "lodash": "4.17.4", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", - "private": "0.1.7", + "private": "0.1.8", "slash": "1.0.0", "source-map": "0.5.7" } }, - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -1146,13 +1141,6 @@ "requires": { "core-js": "2.5.1", "regenerator-runtime": "0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - } } }, "babel-template": { @@ -1346,11 +1334,6 @@ "repeat-element": "1.1.2" } }, - "brcast": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/brcast/-/brcast-3.0.1.tgz", - "integrity": "sha512-eI3yqf9YEqyGl9PCNTR46MGvDylGtaHjalcz6Q3fAPnP/PhpKkkve52vFdfGpwp4VUvK6LUr4TQN+2stCrEwTg==" - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -1372,9 +1355,9 @@ } }, "browserify-aes": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", - "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", + "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -1389,7 +1372,7 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.0.8", + "browserify-aes": "1.1.1", "browserify-des": "1.0.0", "evp_bytestokey": "1.0.3" } @@ -1436,12 +1419,12 @@ } }, "browserslist": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.0.tgz", - "integrity": "sha512-6Vw1LIigGw8zCK0gxczksUMZlO+oPUwBazAztMmFL/F8D5wB0qCuxRJGYgYM3JzaO0v2ZMRIg+nnnOgNsPGHeA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.1.tgz", + "integrity": "sha512-jAvM2ku7YDJ+leAq3bFH1DE0Ylw+F+EQDq4GkqZfgPEqpWYw9ofQH85uKSB9r3Tv7XDbfqVtE+sdvKJW7IlPJA==", "requires": { - "caniuse-lite": "1.0.30000744", - "electron-to-chromium": "1.3.24" + "caniuse-lite": "1.0.30000750", + "electron-to-chromium": "1.3.27" } }, "bser": { @@ -1536,7 +1519,7 @@ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000744", + "caniuse-db": "1.0.30000750", "lodash.memoize": "4.1.2", "lodash.uniq": "4.5.0" }, @@ -1546,21 +1529,21 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000744", - "electron-to-chromium": "1.3.24" + "caniuse-db": "1.0.30000750", + "electron-to-chromium": "1.3.27" } } } }, "caniuse-db": { - "version": "1.0.30000744", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000744.tgz", - "integrity": "sha1-AHWP991fcTjTShVgjcz3Glllb/4=" + "version": "1.0.30000750", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000750.tgz", + "integrity": "sha1-Px+FySyRNO3ac1aV42nX4XZ1K3U=" }, "caniuse-lite": { - "version": "1.0.30000744", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000744.tgz", - "integrity": "sha1-hg+lyDujT+YZOX1gfzC7R0ghZxs=" + "version": "1.0.30000750", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000750.tgz", + "integrity": "sha1-OK0ZqkxtiNo46JANNma047u2XCI=" }, "capture-stack-trace": { "version": "1.0.0", @@ -1586,11 +1569,6 @@ "lazy-cache": "1.0.4" } }, - "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1615,11 +1593,6 @@ } } }, - "change-emitter": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", - "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" - }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", @@ -1663,11 +1636,6 @@ "chalk": "1.1.3" } }, - "classnames": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" - }, "clean-css": { "version": "4.1.9", "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", @@ -1733,7 +1701,7 @@ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "requires": { - "q": "1.5.0" + "q": "1.5.1" } }, "code-point-at": { @@ -1806,9 +1774,9 @@ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, "compressible": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", + "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "requires": { "mime-db": "1.30.0" } @@ -1820,7 +1788,7 @@ "requires": { "accepts": "1.3.4", "bytes": "3.0.0", - "compressible": "2.0.11", + "compressible": "2.0.12", "debug": "2.6.9", "on-headers": "1.0.1", "safe-buffer": "5.1.1", @@ -1866,9 +1834,9 @@ } }, "connect-history-api-fallback": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", - "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.4.0.tgz", + "integrity": "sha1-PbJPlz9LkjsOgvYZzg3wJBHKYj0=" }, "console-browserify": { "version": "1.1.0", @@ -1899,9 +1867,9 @@ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "content-type-parser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", - "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz", + "integrity": "sha512-lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==" }, "convert-source-map": { "version": "1.5.0", @@ -1919,9 +1887,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" }, "core-util-is": { "version": "1.0.2", @@ -1990,14 +1958,14 @@ "sha.js": "2.4.9" } }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", + "cross-env": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.0.tgz", + "integrity": "sha512-R+0paw9UZQc7odHjIxElqyYotgyMlhcUMTfRxiv4I22grgvS5WOSSfCpyfAZUDhP/c9ShSRv+Hzfxs6fY4JA7g==", + "dev": true, "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "cross-spawn": "5.1.0", + "is-windows": "1.0.1" } }, "cross-spawn": { @@ -2135,14 +2103,6 @@ } } }, - "css-vendor": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", - "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", - "requires": { - "is-in-browser": "1.1.3" - } - }, "css-what": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", @@ -2198,7 +2158,7 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { "browserslist": "1.7.7", - "caniuse-db": "1.0.30000744", + "caniuse-db": "1.0.30000750", "normalize-range": "0.1.2", "num2fraction": "1.2.2", "postcss": "5.2.18", @@ -2210,8 +2170,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000744", - "electron-to-chromium": "1.3.24" + "caniuse-db": "1.0.30000750", + "electron-to-chromium": "1.3.27" } }, "has-flag": { @@ -2287,7 +2247,7 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "es5-ext": "0.10.30" + "es5-ext": "0.10.35" } }, "damerau-levenshtein": { @@ -2336,11 +2296,6 @@ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, - "deepmerge": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.0.tgz", - "integrity": "sha512-YiTeIE16rJ/BCCbWYueeQoKkhoolGHqynDZmB03gPqMt6y3duJG6+po7zdMm7UK5o3njDm4Yyuqr4082G4M4Zw==" - }, "default-gateway": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.6.1.tgz", @@ -2509,11 +2464,6 @@ } } }, - "dom-helpers": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", - "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" - }, "dom-serializer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", @@ -2538,11 +2488,6 @@ "urijs": "1.19.0" } }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" - }, "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", @@ -2611,9 +2556,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.24", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz", - "integrity": "sha1-m3uIuwXOufoBahd4M8wt3jiPIbY=" + "version": "1.3.27", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", + "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=" }, "elliptic": { "version": "6.4.0", @@ -2707,21 +2652,21 @@ } }, "es5-ext": { - "version": "0.10.30", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", - "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", + "version": "0.10.35", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", + "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", "requires": { - "es6-iterator": "2.0.1", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", + "es5-ext": "0.10.35", "es6-symbol": "3.1.1" } }, @@ -2731,8 +2676,8 @@ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -2749,8 +2694,8 @@ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" } @@ -2761,7 +2706,7 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30" + "es5-ext": "0.10.35" } }, "es6-weak-map": { @@ -2770,8 +2715,8 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", + "es5-ext": "0.10.35", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } }, @@ -2826,7 +2771,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.4.1.tgz", "integrity": "sha1-mc1+r8/8ov+Zpcj18qR01jZLS9M=", "requires": { - "ajv": "5.2.3", + "ajv": "5.3.0", "babel-code-frame": "6.26.0", "chalk": "1.1.3", "concat-stream": "1.6.0", @@ -2842,7 +2787,7 @@ "functional-red-black-tree": "1.0.1", "glob": "7.1.2", "globals": "9.18.0", - "ignore": "3.3.5", + "ignore": "3.3.6", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.0.0", @@ -2891,7 +2836,7 @@ "integrity": "sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==", "requires": { "debug": "2.6.9", - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "eslint-loader": { @@ -2902,7 +2847,7 @@ "loader-fs-cache": "1.0.1", "loader-utils": "1.1.0", "object-assign": "4.1.1", - "object-hash": "1.1.8", + "object-hash": "1.2.0", "rimraf": "2.6.2" } }, @@ -3106,7 +3051,7 @@ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "requires": { "d": "1.0.0", - "es5-ext": "0.10.30" + "es5-ext": "0.10.35" } }, "eventemitter3": { @@ -3183,9 +3128,9 @@ } }, "express": { - "version": "4.16.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.1.tgz", - "integrity": "sha512-STB7LZ4N0L+81FJHGla2oboUHTk4PaN1RsOkoRh9OSeEKylvF5hwKYVX1xCLFaCT7MD0BNG/gX2WFMLqY6EMBw==", + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { "accepts": "1.3.4", "array-flatten": "1.1.1", @@ -3275,6 +3220,11 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -3312,7 +3262,22 @@ "object-assign": "4.1.1", "promise": "7.3.1", "setimmediate": "1.0.5", - "ua-parser-js": "0.7.14" + "ua-parser-js": "0.7.17" + }, + "dependencies": { + "core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "2.0.6" + } + } } }, "figures": { @@ -3396,7 +3361,7 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { "commondir": "1.0.1", - "make-dir": "1.0.0", + "make-dir": "1.1.0", "pkg-dir": "2.0.0" } }, @@ -3467,6 +3432,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", + "dev": true + }, "fs-extra": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", @@ -4330,22 +4301,6 @@ "is-glob": "2.0.1" } }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "requires": { - "min-document": "2.19.0", - "process": "0.5.2" - }, - "dependencies": { - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" - } - } - }, "global-modules": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", @@ -4432,9 +4387,9 @@ "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=" }, "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", + "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "requires": { "async": "1.5.2", "optimist": "0.6.1", @@ -4498,7 +4453,7 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.2.3", + "ajv": "5.3.0", "har-schema": "2.0.0" } }, @@ -4571,11 +4526,6 @@ "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" }, - "hoist-non-react-statics": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" - }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -4615,11 +4565,11 @@ "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=" }, "html-encoding-sniffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", - "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "requires": { - "whatwg-encoding": "1.0.1" + "whatwg-encoding": "1.0.2" } }, "html-entities": { @@ -4628,9 +4578,9 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" }, "html-minifier": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", - "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.6.tgz", + "integrity": "sha512-88FjtKrlak2XjczhxrBomgzV4jmGzM3UnHRBScRkJcmcRum0kb+IwhVAETJ8AVp7j0p3xugjSaw9L+RmI5/QOA==", "requires": { "camel-case": "3.0.0", "clean-css": "4.1.9", @@ -4639,7 +4589,7 @@ "ncname": "1.0.0", "param-case": "2.1.1", "relateurl": "0.2.7", - "uglify-js": "3.1.3" + "uglify-js": "3.1.5" } }, "html-webpack-plugin": { @@ -4648,7 +4598,7 @@ "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=", "requires": { "bluebird": "3.5.1", - "html-minifier": "3.5.5", + "html-minifier": "3.5.6", "loader-utils": "0.2.17", "lodash": "4.17.4", "pretty-error": "2.1.1", @@ -4812,9 +4762,9 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==" + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.6.tgz", + "integrity": "sha512-HrxmNxKTGZ9a3uAl/FNG66Sdt0G9L4TtMbbUQjP1WhGmSj0FOyHvSgx7623aGJvXfPOur8MwmarlHT+37jmzlw==" }, "imurmurhash": { "version": "0.1.4", @@ -4864,7 +4814,7 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { "ansi-escapes": "3.0.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.0.5", @@ -4885,13 +4835,13 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "strip-ansi": { @@ -5036,11 +4986,6 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-function": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", - "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" - }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", @@ -5049,11 +4994,6 @@ "is-extglob": "1.0.0" } }, - "is-in-browser": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-in-browser/-/is-in-browser-1.1.3.tgz", - "integrity": "sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=" - }, "is-npm": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", @@ -5098,21 +5038,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - } - } - }, "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", @@ -5230,18 +5155,18 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-api": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", - "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", + "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "requires": { "async": "2.5.0", "fileset": "2.0.3", "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.2", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", "js-yaml": "3.7.0", "mkdirp": "0.5.1", "once": "1.4.0" @@ -5253,17 +5178,17 @@ "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==" }, "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", + "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "requires": { "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", + "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "requires": { "babel-generator": "6.26.0", "babel-template": "6.26.0", @@ -5275,9 +5200,9 @@ } }, "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", + "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "requires": { "istanbul-lib-coverage": "1.1.1", "mkdirp": "0.5.1", @@ -5301,17 +5226,25 @@ } }, "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", + "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "requires": { - "debug": "2.6.9", + "debug": "3.1.0", "istanbul-lib-coverage": "1.1.1", "mkdirp": "0.5.1", "rimraf": "2.6.2", "source-map": "0.5.7" }, "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -5320,11 +5253,11 @@ } }, "istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", + "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "requires": { - "handlebars": "4.0.10" + "handlebars": "4.0.11" } }, "jest": { @@ -5355,10 +5288,10 @@ "chalk": "1.1.3", "graceful-fs": "4.1.11", "is-ci": "1.0.10", - "istanbul-api": "1.1.14", + "istanbul-api": "1.2.1", "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-source-maps": "1.2.1", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-source-maps": "1.2.2", "jest-changed-files": "20.0.3", "jest-config": "20.0.4", "jest-docblock": "20.0.3", @@ -5517,7 +5450,7 @@ "requires": { "browser-resolve": "1.11.2", "is-builtin-module": "1.0.0", - "resolve": "1.4.0" + "resolve": "1.5.0" } }, "jest-resolve-dependencies": { @@ -5634,19 +5567,19 @@ "acorn": "4.0.13", "acorn-globals": "3.1.0", "array-equal": "1.0.0", - "content-type-parser": "1.0.1", + "content-type-parser": "1.0.2", "cssom": "0.3.2", "cssstyle": "0.2.37", "escodegen": "1.9.0", - "html-encoding-sniffer": "1.0.1", - "nwmatcher": "1.4.2", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.3", "parse5": "1.5.1", "request": "2.83.0", "sax": "1.2.4", "symbol-tree": "3.2.2", "tough-cookie": "2.3.3", "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.1", + "whatwg-encoding": "1.0.2", "whatwg-url": "4.8.0", "xml-name-validator": "2.0.1" }, @@ -5725,106 +5658,11 @@ "verror": "1.10.0" } }, - "jss": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-8.1.0.tgz", - "integrity": "sha512-NZ4CNAoPaPlM2rqHxPG5uGQbQEFZ9n1PITn0+wGIdAk2ZtA/F6el0SphLHf8So1Sx6N34hnVFFIuc32/hdsEzw==", - "requires": { - "is-in-browser": "1.1.3", - "warning": "3.0.0" - } - }, - "jss-camel-case": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-5.0.0.tgz", - "integrity": "sha512-vz11ip5EIlGuevtlUo9xIgiuD+it4Ebbb0+Y4o0A4oA8eOWY4aY7ihi/L7WvkQ54xnGOjUvLZ6nm2VYch2ufYg==" - }, - "jss-compose": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-4.0.0.tgz", - "integrity": "sha512-VnsEziD2Lwrfwp10wx39FNybRLW5+RX/E2qQAXPAMbS+nHc0Jf2dC6ZiCfn5FaBGrpzLfIZ9MalTJDx4CQoMAQ==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-default-unit": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/jss-default-unit/-/jss-default-unit-7.0.0.tgz", - "integrity": "sha512-U1Oi1h45vFRuISr+g1DQ3Oua7CkNKNs47fTdiT/lHkuBMc6BBDUbPv9IbPPhk9gsEaX45Iy9TX8CAuaHLPCfEA==" - }, - "jss-expand": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-4.0.1.tgz", - "integrity": "sha512-LRIMXXChAOgnhwSqYLJg8MS6dI98bf/sg52pAg04pbjOAtjfzyS0JTnQAiyk3PxqR3nKFR/Yv44ahpIpkdcxVA==" - }, - "jss-extend": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-5.0.0.tgz", - "integrity": "sha512-fUp+9KipbdmzSfTxNHoT3mrFnE7fYn7EyHg3LTUexfpWrwj5Afkwb3iCfYV7GYCpg9OKDsqc18atwjHvSPWWKg==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-global": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/jss-global/-/jss-global-2.0.0.tgz", - "integrity": "sha512-/FSOMp4lF/vg47T/w8kKvL9tu7ka9am8N4izS63W81Qlay9hAq6xe9RxrPxygLpnn4KEb8LNbkKRoUv4SJfQsQ==" - }, - "jss-nested": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-5.0.0.tgz", - "integrity": "sha512-9Molau+XVpSc6QEco3EC5yXmzeGMc5ZVII8+qy6jD6bvu6Y9mpfGoJ00LalR/n7xr/LC7Cxgs44UQQlLzumMBg==", - "requires": { - "warning": "3.0.0" - } - }, - "jss-preset-default": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-3.0.0.tgz", - "integrity": "sha512-5wRsHsV89XjnQlUVN5jQfo6gcfcirDJmsMJL52HmWoQlV9SA+jhUtt1w3LjcJHe4e3tX4u/To/x3Btmhi+LZtQ==", - "requires": { - "jss-camel-case": "5.0.0", - "jss-compose": "4.0.0", - "jss-default-unit": "7.0.0", - "jss-expand": "4.0.1", - "jss-extend": "5.0.0", - "jss-global": "2.0.0", - "jss-nested": "5.0.0", - "jss-props-sort": "5.0.0", - "jss-vendor-prefixer": "6.0.0" - } - }, - "jss-props-sort": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/jss-props-sort/-/jss-props-sort-5.0.0.tgz", - "integrity": "sha512-xtoVE7BlcPaMN/dzypHPYJn+QiphLPB1skypAOp9zLkOozPbR/x0JVAFdZnd7zqmmjvg+Ma/txjSg0HN/eZsGA==" - }, - "jss-rtl": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.1.tgz", - "integrity": "sha512-fvCsICgCz4N0hGhAAK9mikOoMSeeAnmhdXHkS9/JO9Z3zzRfHSURU6eRiXingxoFyv1O97sILlR2nFNudAZlYg==", - "requires": { - "rtl-css-js": "1.7.0" - } - }, - "jss-vendor-prefixer": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-6.0.0.tgz", - "integrity": "sha512-leqW7B2QLXYsUNR3jsUZP3CkuOYcWXyfF8TSJc4XNxhVCNH7ztK5dcnF8nLoMnxT0w/ajloeJKcch2ty/viCAA==", - "requires": { - "css-vendor": "0.3.8" - } - }, "jsx-ast-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=" }, - "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" - }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", @@ -6016,9 +5854,9 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "loglevel": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.5.0.tgz", - "integrity": "sha512-OQ2jhWI5G2qsvO0UFNyCQWgKl/tFiwuPIXxELzACeUO2FqstN/R7mmL09+nhv6xOWVPPojQO1A90sCEoJSgBcQ==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.5.1.tgz", + "integrity": "sha1-GJB4yUq5BT7iFaCs2/JCROoPZQI=" }, "longest": { "version": "1.0.1", @@ -6067,11 +5905,18 @@ "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=" }, "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "requires": { - "pify": "2.3.0" + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } } }, "makeerror": { @@ -6087,35 +5932,6 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, - "material-ui": { - "version": "1.0.0-beta.17", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.17.tgz", - "integrity": "sha1-rgmqx5Av3zs47HluA7MkYafOAfw=", - "requires": { - "babel-runtime": "6.26.0", - "brcast": "3.0.1", - "classnames": "2.2.5", - "deepmerge": "2.0.0", - "dom-helpers": "3.2.1", - "hoist-non-react-statics": "1.2.0", - "jss": "8.1.0", - "jss-preset-default": "3.0.0", - "jss-rtl": "0.2.1", - "keycode": "2.1.9", - "lodash": "4.17.4", - "normalize-scroll-left": "0.1.2", - "prop-types": "15.6.0", - "react-event-listener": "0.5.1", - "react-flow-types": "0.2.0-beta.3", - "react-jss": "7.2.0", - "react-popper": "0.7.3", - "react-scrollbar-size": "2.0.2", - "react-transition-group": "2.2.1", - "recompose": "0.26.0", - "scroll": "2.0.1", - "warning": "3.0.0" - } - }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", @@ -6254,14 +6070,6 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "requires": { - "dom-walk": "0.1.1" - } - }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", @@ -6445,11 +6253,6 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, - "normalize-scroll-left": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-scroll-left/-/normalize-scroll-left-0.1.2.tgz", - "integrity": "sha512-F9YMRls0zCF6BFIE2YnXDRpHPpfd91nOIaNdDgrx5YMoPLo8Wqj+6jNXHQsYBavJeXP4ww8HCt0xQAKc5qk2Fg==" - }, "normalize-url": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", @@ -6488,9 +6291,9 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "nwmatcher": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.2.tgz", - "integrity": "sha512-QMkCGQFYp5p+zwU3INntLmz1HMfSx9dMVJMYKmE1yuSf/22Wjo6VPFa405mCLUuQn9lbQvH2DZN9lt10ZNvtAg==" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==" }, "oauth-sign": { "version": "0.8.2", @@ -6503,9 +6306,9 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-hash": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.1.8.tgz", - "integrity": "sha1-KKZZz5h9lqTavnhgKJ87UybEoDw=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.2.0.tgz", + "integrity": "sha512-smRWXzkvxw72VquyZ0wggySl7PFUtoDhvhpdwgESXxUrH7vVhhp9asfup1+rVLrhsl7L45Ee1Q/l5R2Ul4MwUg==" }, "object-keys": { "version": "1.0.11", @@ -6696,7 +6499,7 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { "asn1.js": "4.9.1", - "browserify-aes": "1.0.8", + "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" @@ -6839,11 +6642,6 @@ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=" }, - "popper.js": { - "version": "1.12.5", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.5.tgz", - "integrity": "sha512-6R2eXIy1xYukMNutoD+y/Gj0IpjEQhivyZonm5Vz0Fp8jdc7kvheKCvpM/t+PxqKb7VbLVnvPVEdTyslEb7f6w==" - }, "portfinder": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", @@ -6866,19 +6664,19 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", "requires": { - "chalk": "2.1.0", + "chalk": "2.3.0", "source-map": "0.6.1", - "supports-color": "4.4.0" + "supports-color": "4.5.0" }, "dependencies": { "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } } } @@ -7386,8 +7184,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000744", - "electron-to-chromium": "1.3.24" + "caniuse-db": "1.0.30000750", + "electron-to-chromium": "1.3.27" } }, "has-flag": { @@ -8045,9 +7843,9 @@ } }, "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.11.10", @@ -8065,9 +7863,9 @@ "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" }, "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", + "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", "requires": { "asap": "2.0.6" } @@ -8119,9 +7917,9 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "qs": { "version": "6.5.1", @@ -8152,14 +7950,6 @@ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=" }, - "rafl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", - "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", - "requires": { - "global": "4.3.2" - } - }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", @@ -8222,9 +8012,9 @@ } }, "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", + "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "requires": { "deep-extend": "0.4.2", "ini": "1.3.4", @@ -8301,7 +8091,7 @@ "integrity": "sha512-QgW3eiPN8gpj/K5vVpHADJJgrrF0ho/dZGylikGX7iqAdRgC9FVKYKWFLx6hZDBFcOLEoSqINYrVPeFAeG/PdA==", "requires": { "ansi-escapes": "2.0.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "cli-cursor": "2.1.0", "cli-width": "2.2.0", "external-editor": "2.0.5", @@ -8317,13 +8107,13 @@ }, "dependencies": { "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } }, "strip-ansi": { @@ -8381,43 +8171,6 @@ } } }, - "react-event-listener": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.1.tgz", - "integrity": "sha1-ujYHbke8N8Wmf/XM1Kn/DxViEEA=", - "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.6.0", - "warning": "3.0.0" - } - }, - "react-flow-types": { - "version": "0.2.0-beta.3", - "resolved": "https://registry.npmjs.org/react-flow-types/-/react-flow-types-0.2.0-beta.3.tgz", - "integrity": "sha512-wrzQ4TJaRAqNA3hFxj23QnnuFfvb3t3J1aXouWX95DwyUfo2CFpmaB+dP7jpwXF0fsv6awHqsxdSnjRVLTfTiA==" - }, - "react-jss": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-7.2.0.tgz", - "integrity": "sha512-vgnNFImsjfchBloCt0BCe7MeiNEiGtTm/MGA0RVFjU/ccTt+YAlfFhSlGJ+KOC3qQ9Sl5mkl07JatGfjW2CTQQ==", - "requires": { - "hoist-non-react-statics": "1.2.0", - "jss": "8.1.0", - "jss-preset-default": "3.0.0", - "prop-types": "15.6.0", - "theming": "1.1.0" - } - }, - "react-popper": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.7.3.tgz", - "integrity": "sha512-uYVfJdEoZqwNXB1suaEITnpo+AQRVU9xZ3E41ufz3/PV/qmDfsa6VV6ppQZxUHVrEnHEOwoefXn/+D1/fGOUKg==", - "requires": { - "popper.js": "1.12.5", - "prop-types": "15.6.0" - } - }, "react-scripts": { "version": "1.0.14", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-1.0.14.tgz", @@ -8459,39 +8212,6 @@ "webpack-dev-server": "2.8.2", "webpack-manifest-plugin": "1.2.1", "whatwg-fetch": "2.0.3" - }, - "dependencies": { - "promise": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", - "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", - "requires": { - "asap": "2.0.6" - } - } - } - }, - "react-scrollbar-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.0.2.tgz", - "integrity": "sha512-scpDs2PZFf9CJteBeDu7jkk7s+YX06Si4rQGVHsH6vjR/p7417q1Jv5SpOblLLesOgNrfWekwoHQG1g0/p3tvw==", - "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.6.0", - "react-event-listener": "0.5.1" - } - }, - "react-transition-group": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", - "integrity": "sha512-q54UBM22bs/CekG8r3+vi9TugSqh0t7qcEVycaRc9M0p0aCEu+h6rp/RFiW7fHfgd1IKpd9oILFTl5QK+FpiPA==", - "requires": { - "chain-function": "1.0.0", - "classnames": "2.2.5", - "dom-helpers": "3.2.1", - "loose-envify": "1.3.1", - "prop-types": "15.6.0", - "warning": "3.0.0" } }, "read-all-stream": { @@ -8566,24 +8286,6 @@ "set-immediate-shim": "1.0.1" } }, - "recompose": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", - "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", - "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.3.1", - "symbol-observable": "1.0.4" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz", - "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA=" - } - } - }, "recursive-readdir": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.1.tgz", @@ -8660,7 +8362,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "private": "0.1.7" + "private": "0.1.8" } }, "regex-cache": { @@ -8686,7 +8388,7 @@ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", "requires": { - "rc": "1.2.1", + "rc": "1.2.2", "safe-buffer": "5.1.1" } }, @@ -8695,7 +8397,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "1.2.1" + "rc": "1.2.2" } }, "regjsgen": { @@ -8824,9 +8526,9 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "requires": { "path-parse": "1.0.5" } @@ -8879,11 +8581,6 @@ "inherits": "2.0.3" } }, - "rtl-css-js": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.7.0.tgz", - "integrity": "sha512-wQTxRhwAwpV6lnACU3S2rdheRy2wsXrcPfqhq/KQ4tFXPzCYBHT8Vqmz6fiA1xJ5DOOg4LzCi/e4yAlGdmKwdg==" - }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -8957,15 +8654,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "requires": { - "ajv": "5.2.3" - } - }, - "scroll": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.1.tgz", - "integrity": "sha1-tMfSfovPOuiligQvJyaK4/VfnM0=", - "requires": { - "rafl": "1.2.2" + "ajv": "5.3.0" } }, "select-hose": { @@ -9400,9 +9089,9 @@ } }, "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { "has-flag": "2.0.0" } @@ -9445,7 +9134,7 @@ "requires": { "del": "2.2.2", "sw-precache": "5.2.0", - "uglify-js": "3.1.3" + "uglify-js": "3.1.5" } }, "sw-toolbox": { @@ -9457,11 +9146,6 @@ "serviceworker-cache-polyfill": "4.0.0" } }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" - }, "symbol-tree": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", @@ -9472,22 +9156,22 @@ "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "requires": { - "ajv": "5.2.3", + "ajv": "5.3.0", "ajv-keywords": "2.1.0", - "chalk": "2.1.0", + "chalk": "2.3.0", "lodash": "4.17.4", "slice-ansi": "1.0.0", "string-width": "2.1.1" }, "dependencies": { "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" + "supports-color": "4.5.0" } } } @@ -9514,37 +9198,6 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, - "theming": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/theming/-/theming-1.1.0.tgz", - "integrity": "sha512-YRhQV+eqeuef70eqfMGKGR+3DBXoWJ4lsrSSuj8dzrv0/EsnVuDmZAjIifESvJARtuP1KbMpdl8qbXdLAz4t/w==", - "requires": { - "brcast": "2.0.2", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "prop-types": "15.6.0", - "react": "15.6.2" - }, - "dependencies": { - "brcast": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brcast/-/brcast-2.0.2.tgz", - "integrity": "sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg==" - }, - "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - } - } - }, "throat": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/throat/-/throat-3.2.0.tgz", @@ -9676,24 +9329,17 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "ua-parser-js": { - "version": "0.7.14", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", - "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" + "version": "0.7.17", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, "uglify-js": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", - "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.5.tgz", + "integrity": "sha512-tSqlO7/GZHAVSw6mbtJt2kz0ZcUrKUH7Xg92o52aE+gL0r6cXiASZY4dpHqQ7RVGXmoQuPA2qAkG4TkP59f8XA==", "requires": { "commander": "2.11.0", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } + "source-map": "0.6.1" } }, "uglify-to-browserify": { @@ -9927,14 +9573,6 @@ "makeerror": "1.0.11" } }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "1.3.1" - } - }, "watch": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", @@ -9970,7 +9608,7 @@ "requires": { "acorn": "5.1.2", "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.3", + "ajv": "5.3.0", "ajv-keywords": "2.1.0", "async": "2.5.0", "enhanced-resolve": "3.4.1", @@ -9984,7 +9622,7 @@ "mkdirp": "0.5.1", "node-libs-browser": "2.0.0", "source-map": "0.5.7", - "supports-color": "4.4.0", + "supports-color": "4.5.0", "tapable": "0.2.8", "uglifyjs-webpack-plugin": "0.4.6", "watchpack": "1.4.0", @@ -10142,14 +9780,14 @@ "bonjour": "3.5.0", "chokidar": "1.7.0", "compression": "1.7.1", - "connect-history-api-fallback": "1.3.0", + "connect-history-api-fallback": "1.4.0", "del": "3.0.0", - "express": "4.16.1", + "express": "4.16.2", "html-entities": "1.2.1", "http-proxy-middleware": "0.17.4", "internal-ip": "2.0.3", "ip": "1.1.5", - "loglevel": "1.5.0", + "loglevel": "1.5.1", "opn": "5.1.0", "portfinder": "1.0.13", "selfsigned": "1.10.1", @@ -10158,7 +9796,7 @@ "sockjs-client": "1.1.4", "spdy": "3.4.7", "strip-ansi": "3.0.1", - "supports-color": "4.4.0", + "supports-color": "4.5.0", "webpack-dev-middleware": "1.12.0", "yargs": "6.6.0" }, @@ -10330,9 +9968,9 @@ "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=" }, "whatwg-encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", - "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.2.tgz", + "integrity": "sha512-9WQ+6BvuD7A1vaGMqMjyR5zhHnR/VXKrs2WHobV/YCfeKXKEk0SJbgwg4kjdpRRrenEQbYwZ/P9vQAVUEVAzUg==", "requires": { "iconv-lite": "0.4.13" }, diff --git a/docs/package.json b/docs/package.json index f490f2401bfeb0..7de56bedc55272 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,9 +3,6 @@ "version": "0.1.0", "private": true, "dependencies": { - "material-ui": "^1.0.0-beta.17", - "react": "^16.0.0", - "react-dom": "^16.0.0", "react-scripts": "1.0.14" }, "scripts": { diff --git a/docs/src/App.js b/docs/src/App.js index 58a8f06d0efb4a..68c6fc0fcc9be9 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -25,7 +25,7 @@ export default class App extends Component { return (
- + {}
) diff --git a/docs/src/App.test.js b/docs/src/App.test.js deleted file mode 100644 index b84af98d72031d..00000000000000 --- a/docs/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import App from './App'; - -it('renders without crashing', () => { - const div = document.createElement('div'); - ReactDOM.render(, div); -}); diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 2f66320d71d353..b475a8ee624a78 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -4,6 +4,7 @@ import { AppBar, Toolbar, IconButton, Typography, withStyles, Button, Tooltip } import { TimePicker, DatePicker } from 'material-ui-pickers' import Github from './GithubIcon' import './Demo.css'; +import moment from 'moment'; class Demo extends Component { static propTypes = { @@ -90,7 +91,6 @@ class Demo extends Component { { + const externalDependencies = [ + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}), + ]; + + return moduleId => externalDependencies + .filter(dependency => moduleId.startsWith(dependency)) + .length > 0; +}; + export default { input: 'src/index.js', sourcemap: true, @@ -10,18 +22,27 @@ export default { { file: pkg.main, format: 'cjs' }, { file: pkg.module, format: 'es' }, ], - external: ['react', 'react-dom', 'prop-types', 'material-ui', 'classnames'], + external: external(), plugins: [ + filesize(), resolve({ extensions: ['.js', '.jsx'], }), babel({ exclude: 'node_modules/**', + plugins: ['external-helpers'], }), commonjs({ include: [ 'node_modules/**', ], + exclude: [ + 'node_modules/react', + 'node_modules/react-dom', + 'node_modules/prop-types', + 'node_modules/classnames', + 'node_modules/material-ui', + ], namedExports: { 'node_modules/moment-range/dist/moment-range.js': ['extendMoment'], }, From 208a9aaaed6332083f4e7dfeb5eda7f3d0f1fc05 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 26 Oct 2017 09:36:29 +0300 Subject: [PATCH 0030/1801] Add unit tests for rendering --- .babelrc | 34 +- __tests__/DatePicker/Calendar.test.js | 16 + __tests__/DatePicker/CalendarHeader.test.js | 16 + __tests__/DatePicker/DatePickerModal.test.js | 16 + __tests__/DatePicker/YearSelection.test.js | 16 + __tests__/TimePicker/Clock.test.js | 16 + __tests__/TimePicker/ClockNumber.test.js | 16 + __tests__/TimePicker/ClockPointer.test.js | 16 + __tests__/TimePicker/HourView.test.js | 19 + __tests__/TimePicker/MinutesView.test.js | 20 + __tests__/TimePicker/TimePicker.test.js | 16 + __tests__/TimePicker/TimePickerModal.test.js | 16 + __tests__/_shared/DateTextField.test.js | 16 + __tests__/_shared/ModalDialog.test.js | 16 + __tests__/_shared/PickerToolbar.test.js | 16 + __tests__/_shared/ToolbarButton.test.js | 16 + __tests__/setup.js | 5 + coverage/clover.xml | 265 +++++++++ coverage/coverage-final.json | 20 + coverage/lcov-report/__tests__/index.html | 93 +++ coverage/lcov-report/__tests__/setup.js.html | 80 +++ coverage/lcov-report/base.css | 212 +++++++ coverage/lcov-report/index.html | 158 +++++ coverage/lcov-report/prettify.css | 1 + coverage/lcov-report/prettify.js | 1 + coverage/lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes coverage/lcov-report/sorter.js | 158 +++++ .../src/DatePicker/Calendar.jsx.html | 440 ++++++++++++++ .../src/DatePicker/CalendarHeader.jsx.html | 269 +++++++++ .../src/DatePicker/DatePicker.jsx.html | 401 +++++++++++++ .../src/DatePicker/DatePickerModal.jsx.html | 356 +++++++++++ .../src/DatePicker/YearSelection.jsx.html | 368 ++++++++++++ .../lcov-report/src/DatePicker/index.html | 145 +++++ .../lcov-report/src/TimePicker/Clock.jsx.html | 428 ++++++++++++++ .../src/TimePicker/ClockNumber.jsx.html | 302 ++++++++++ .../src/TimePicker/ClockPointer.jsx.html | 257 ++++++++ .../src/TimePicker/HourView.jsx.html | 200 +++++++ .../src/TimePicker/MinutesView.jsx.html | 191 ++++++ .../src/TimePicker/TimePicker.jsx.html | 479 +++++++++++++++ .../src/TimePicker/TimePickerModal.jsx.html | 311 ++++++++++ .../lcov-report/src/TimePicker/index.html | 171 ++++++ .../src/TimePicker/utils/index.html | 93 +++ .../src/TimePicker/utils/time-utils.js.html | 191 ++++++ .../src/_shared/DateTextField.jsx.html | 197 ++++++ .../src/_shared/ModalDialog.jsx.html | 182 ++++++ .../src/_shared/PickerToolbar.jsx.html | 182 ++++++ .../src/_shared/ToolbarButton.jsx.html | 185 ++++++ coverage/lcov-report/src/_shared/index.html | 132 +++++ .../src/constants/clock-types.js.html | 77 +++ coverage/lcov-report/src/constants/index.html | 93 +++ coverage/lcov.info | 559 ++++++++++++++++++ package-lock.json | 142 +++-- package.json | 21 +- src/TimePicker/utils/time-utils.js | 2 - 54 files changed, 7572 insertions(+), 76 deletions(-) create mode 100644 __tests__/DatePicker/Calendar.test.js create mode 100644 __tests__/DatePicker/CalendarHeader.test.js create mode 100644 __tests__/DatePicker/DatePickerModal.test.js create mode 100644 __tests__/DatePicker/YearSelection.test.js create mode 100644 __tests__/TimePicker/Clock.test.js create mode 100644 __tests__/TimePicker/ClockNumber.test.js create mode 100644 __tests__/TimePicker/ClockPointer.test.js create mode 100644 __tests__/TimePicker/HourView.test.js create mode 100644 __tests__/TimePicker/MinutesView.test.js create mode 100644 __tests__/TimePicker/TimePicker.test.js create mode 100644 __tests__/TimePicker/TimePickerModal.test.js create mode 100644 __tests__/_shared/DateTextField.test.js create mode 100644 __tests__/_shared/ModalDialog.test.js create mode 100644 __tests__/_shared/PickerToolbar.test.js create mode 100644 __tests__/_shared/ToolbarButton.test.js create mode 100644 __tests__/setup.js create mode 100644 coverage/clover.xml create mode 100644 coverage/coverage-final.json create mode 100644 coverage/lcov-report/__tests__/index.html create mode 100644 coverage/lcov-report/__tests__/setup.js.html create mode 100644 coverage/lcov-report/base.css create mode 100644 coverage/lcov-report/index.html create mode 100644 coverage/lcov-report/prettify.css create mode 100644 coverage/lcov-report/prettify.js create mode 100644 coverage/lcov-report/sort-arrow-sprite.png create mode 100644 coverage/lcov-report/sorter.js create mode 100644 coverage/lcov-report/src/DatePicker/Calendar.jsx.html create mode 100644 coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html create mode 100644 coverage/lcov-report/src/DatePicker/DatePicker.jsx.html create mode 100644 coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html create mode 100644 coverage/lcov-report/src/DatePicker/YearSelection.jsx.html create mode 100644 coverage/lcov-report/src/DatePicker/index.html create mode 100644 coverage/lcov-report/src/TimePicker/Clock.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/HourView.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/MinutesView.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/TimePicker.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html create mode 100644 coverage/lcov-report/src/TimePicker/index.html create mode 100644 coverage/lcov-report/src/TimePicker/utils/index.html create mode 100644 coverage/lcov-report/src/TimePicker/utils/time-utils.js.html create mode 100644 coverage/lcov-report/src/_shared/DateTextField.jsx.html create mode 100644 coverage/lcov-report/src/_shared/ModalDialog.jsx.html create mode 100644 coverage/lcov-report/src/_shared/PickerToolbar.jsx.html create mode 100644 coverage/lcov-report/src/_shared/ToolbarButton.jsx.html create mode 100644 coverage/lcov-report/src/_shared/index.html create mode 100644 coverage/lcov-report/src/constants/clock-types.js.html create mode 100644 coverage/lcov-report/src/constants/index.html create mode 100644 coverage/lcov.info diff --git a/.babelrc b/.babelrc index 27ea838a74d129..15047aa31d281e 100644 --- a/.babelrc +++ b/.babelrc @@ -1,21 +1,25 @@ { - "presets": [ - [ - "es2015", - { - "modules": false - } - ] - ], - "plugins": [ - "transform-object-rest-spread", - "transform-react-jsx", - "transform-class-properties", - "external-helpers" - ], "env": { "test": { - "presets": ["es2015"] + "presets": ["es2015"], + "plugins": [ + "transform-object-rest-spread", + "transform-react-jsx", + "transform-class-properties" + ] + }, + "development": { + "presets": [ + [ + "es2015", { "modules": false } + ] + ], + "plugins": [ + "transform-object-rest-spread", + "transform-react-jsx", + "transform-class-properties", + "external-helpers" + ] } } } \ No newline at end of file diff --git a/__tests__/DatePicker/Calendar.test.js b/__tests__/DatePicker/Calendar.test.js new file mode 100644 index 00000000000000..11472285fe5168 --- /dev/null +++ b/__tests__/DatePicker/Calendar.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import Calendar from '../../src/DatePicker/Calendar'; + +describe('Calendar', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DatePicker/CalendarHeader.test.js b/__tests__/DatePicker/CalendarHeader.test.js new file mode 100644 index 00000000000000..8b0e9a8b53857a --- /dev/null +++ b/__tests__/DatePicker/CalendarHeader.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import CalendarHeader from '../../src/DatePicker/CalendarHeader'; + +describe('CalendarHeader', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DatePicker/DatePickerModal.test.js b/__tests__/DatePicker/DatePickerModal.test.js new file mode 100644 index 00000000000000..398011554add55 --- /dev/null +++ b/__tests__/DatePicker/DatePickerModal.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DatePickerModal from '../../src/DatePicker/DatePickerModal'; + +describe('DatePickerModal', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DatePicker/YearSelection.test.js b/__tests__/DatePicker/YearSelection.test.js new file mode 100644 index 00000000000000..34472508823823 --- /dev/null +++ b/__tests__/DatePicker/YearSelection.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import YearSelection from '../../src/DatePicker/YearSelection'; + +describe('YearSelection', () => { + let component; + + beforeEach(() => { + component = shallow( ); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/Clock.test.js b/__tests__/TimePicker/Clock.test.js new file mode 100644 index 00000000000000..b22d26b358a1d0 --- /dev/null +++ b/__tests__/TimePicker/Clock.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import Clock from '../../src/TimePicker/Clock'; + +describe('Clock', () => { + let component; + + beforeEach(() => { + component = shallow( ); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/ClockNumber.test.js b/__tests__/TimePicker/ClockNumber.test.js new file mode 100644 index 00000000000000..f12a30ec4fd548 --- /dev/null +++ b/__tests__/TimePicker/ClockNumber.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import ClockNumber from '../../src/TimePicker/ClockNumber'; + +describe('ClockNumber', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/ClockPointer.test.js b/__tests__/TimePicker/ClockPointer.test.js new file mode 100644 index 00000000000000..2ba310a1a5463e --- /dev/null +++ b/__tests__/TimePicker/ClockPointer.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import ClockPointer from '../../src/TimePicker/ClockPointer'; + +describe('ClockPointer', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/HourView.test.js b/__tests__/TimePicker/HourView.test.js new file mode 100644 index 00000000000000..8bce4fcad1b1e7 --- /dev/null +++ b/__tests__/TimePicker/HourView.test.js @@ -0,0 +1,19 @@ +import React from 'react'; +import moment from 'moment'; +import { shallow } from 'enzyme'; + +import HourView from '../../src/TimePicker/HourView'; + +const date = moment(); +describe('HourView', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/MinutesView.test.js b/__tests__/TimePicker/MinutesView.test.js new file mode 100644 index 00000000000000..8b168ae122ef82 --- /dev/null +++ b/__tests__/TimePicker/MinutesView.test.js @@ -0,0 +1,20 @@ +import React from 'react'; +import moment from 'moment'; +import { shallow } from 'enzyme'; + +import MinutesView from '../../src/TimePicker/MinutesView'; + +const date = moment(); + +describe('MinutesView', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/TimePicker.test.js b/__tests__/TimePicker/TimePicker.test.js new file mode 100644 index 00000000000000..24041094b3805b --- /dev/null +++ b/__tests__/TimePicker/TimePicker.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import TimePicker from '../../src/TimePicker/TimePicker'; + +describe('TimePicker', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/TimePicker/TimePickerModal.test.js b/__tests__/TimePicker/TimePickerModal.test.js new file mode 100644 index 00000000000000..d134a17af58454 --- /dev/null +++ b/__tests__/TimePicker/TimePickerModal.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import TimePickerModal from '../../src/TimePicker/TimePickerModal'; + +describe('TimePickerModal', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/_shared/DateTextField.test.js b/__tests__/_shared/DateTextField.test.js new file mode 100644 index 00000000000000..8da4494397e322 --- /dev/null +++ b/__tests__/_shared/DateTextField.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DateTextField from '../../src/_shared/DateTextField'; + +describe('DateTextField', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/_shared/ModalDialog.test.js b/__tests__/_shared/ModalDialog.test.js new file mode 100644 index 00000000000000..a5e3e74478978c --- /dev/null +++ b/__tests__/_shared/ModalDialog.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import ModalDialog from '../../src/_shared/ModalDialog'; + +describe('ModalDialog', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/_shared/PickerToolbar.test.js b/__tests__/_shared/PickerToolbar.test.js new file mode 100644 index 00000000000000..d88505b98a4327 --- /dev/null +++ b/__tests__/_shared/PickerToolbar.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import PickerToolbar from '../../src/_shared/PickerToolbar'; + +describe('PickerToolbar', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/_shared/ToolbarButton.test.js b/__tests__/_shared/ToolbarButton.test.js new file mode 100644 index 00000000000000..e50fa0cd844e37 --- /dev/null +++ b/__tests__/_shared/ToolbarButton.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import ToolbarButton from '../../src/_shared/ToolbarButton'; + +describe('ToolbarButton', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/setup.js b/__tests__/setup.js new file mode 100644 index 00000000000000..de28e1d3c1c674 --- /dev/null +++ b/__tests__/setup.js @@ -0,0 +1,5 @@ +const Enzyme = require('enzyme'); +const EnzymeAdapter = require('enzyme-adapter-react-16'); + +// Setup enzyme's react adapter +Enzyme.configure({ adapter: new EnzymeAdapter() }); diff --git a/coverage/clover.xml b/coverage/clover.xml new file mode 100644 index 00000000000000..312debbdd152a3 --- /dev/null +++ b/coverage/clover.xml @@ -0,0 +1,265 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json new file mode 100644 index 00000000000000..846d0c7fc77f6d --- /dev/null +++ b/coverage/coverage-final.json @@ -0,0 +1,20 @@ +{"/Users/dmitrij/pat/material-ui-pickers/__tests__/setup.js": {"path":"/Users/dmitrij/pat/material-ui-pickers/__tests__/setup.js","statementMap":{"0":{"start":{"line":1,"column":15},"end":{"line":1,"column":32}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":56}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":51}}},"fnMap":{},"branchMap":{},"s":{"0":16,"1":16,"2":16},"f":{},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"4488c509628707460c0cc35672c57201b7be4fd2"} +,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/Calendar.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/Calendar.jsx","statementMap":{"0":{"start":{"line":10,"column":15},"end":{"line":10,"column":35}},"1":{"start":{"line":32,"column":4},"end":{"line":32,"column":29}},"2":{"start":{"line":36,"column":4},"end":{"line":36,"column":46}},"3":{"start":{"line":40,"column":29},"end":{"line":40,"column":39}},"4":{"start":{"line":41,"column":18},"end":{"line":41,"column":54}},"5":{"start":{"line":42,"column":16},"end":{"line":42,"column":65}},"6":{"start":{"line":44,"column":4},"end":{"line":49,"column":9}},"7":{"start":{"line":46,"column":8},"end":{"line":48,"column":14}},"8":{"start":{"line":53,"column":63},"end":{"line":53,"column":73}},"9":{"start":{"line":54,"column":16},"end":{"line":54,"column":42}},"10":{"start":{"line":55,"column":31},"end":{"line":55,"column":67}},"11":{"start":{"line":57,"column":4},"end":{"line":74,"column":9}},"12":{"start":{"line":59,"column":25},"end":{"line":63,"column":10}},"13":{"start":{"line":65,"column":8},"end":{"line":73,"column":10}},"14":{"start":{"line":69,"column":27},"end":{"line":69,"column":49}},"15":{"start":{"line":78,"column":29},"end":{"line":78,"column":39}},"16":{"start":{"line":79,"column":24},"end":{"line":79,"column":34}},"17":{"start":{"line":81,"column":4},"end":{"line":92,"column":6}},"18":{"start":{"line":96,"column":15},"end":{"line":123,"column":2}},"19":{"start":{"line":96,"column":25},"end":{"line":123,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":17},"end":{"line":31,"column":18}},"loc":{"start":{"line":31,"column":26},"end":{"line":33,"column":3}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":22},"end":{"line":35,"column":23}},"loc":{"start":{"line":35,"column":36},"end":{"line":37,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":17}},"loc":{"start":{"line":39,"column":22},"end":{"line":50,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":11},"end":{"line":45,"column":12}},"loc":{"start":{"line":46,"column":8},"end":{"line":48,"column":14}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":15},"end":{"line":52,"column":16}},"loc":{"start":{"line":52,"column":25},"end":{"line":75,"column":3}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":11},"end":{"line":58,"column":12}},"loc":{"start":{"line":58,"column":20},"end":{"line":74,"column":7}},"line":58},"6":{"name":"(anonymous_6)","decl":{"start":{"line":69,"column":21},"end":{"line":69,"column":22}},"loc":{"start":{"line":69,"column":27},"end":{"line":69,"column":49}},"line":69},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":11},"end":{"line":93,"column":3}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":15},"end":{"line":96,"column":16}},"loc":{"start":{"line":96,"column":25},"end":{"line":123,"column":1}},"line":96}},"branchMap":{"0":{"loc":{"start":{"line":62,"column":30},"end":{"line":62,"column":139}},"type":"binary-expr","locations":[{"start":{"line":62,"column":30},"end":{"line":62,"column":43}},{"start":{"line":62,"column":47},"end":{"line":62,"column":68}},{"start":{"line":62,"column":72},"end":{"line":62,"column":79}},{"start":{"line":62,"column":83},"end":{"line":62,"column":104}},{"start":{"line":62,"column":108},"end":{"line":62,"column":115}},{"start":{"line":62,"column":119},"end":{"line":62,"column":139}}],"line":62}},"s":{"0":3,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":3,"19":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1},"b":{"0":[0,0,0,0,0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f7bfaa4165ccdc8922d5926521fd2e15ba1781c9"} +,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/CalendarHeader.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/CalendarHeader.jsx","statementMap":{"0":{"start":{"line":6,"column":23},"end":{"line":35,"column":1}},"1":{"start":{"line":7,"column":51},"end":{"line":7,"column":56}},"2":{"start":{"line":9,"column":26},"end":{"line":9,"column":84}},"3":{"start":{"line":9,"column":32},"end":{"line":9,"column":84}},"4":{"start":{"line":10,"column":30},"end":{"line":10,"column":93}},"5":{"start":{"line":10,"column":36},"end":{"line":10,"column":93}},"6":{"start":{"line":12,"column":2},"end":{"line":34,"column":4}},"7":{"start":{"line":30,"column":10},"end":{"line":30,"column":69}},"8":{"start":{"line":37,"column":0},"end":{"line":41,"column":2}},"9":{"start":{"line":43,"column":15},"end":{"line":65,"column":2}},"10":{"start":{"line":43,"column":25},"end":{"line":65,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":23},"end":{"line":6,"column":24}},"loc":{"start":{"line":6,"column":34},"end":{"line":35,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":26},"end":{"line":9,"column":27}},"loc":{"start":{"line":9,"column":32},"end":{"line":9,"column":84}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":30},"end":{"line":10,"column":31}},"loc":{"start":{"line":10,"column":36},"end":{"line":10,"column":93}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":35},"end":{"line":29,"column":36}},"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":69}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":15},"end":{"line":43,"column":16}},"loc":{"start":{"line":43,"column":25},"end":{"line":65,"column":1}},"line":43}},"branchMap":{},"s":{"0":4,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":4,"9":4,"10":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8aa3e37f45dc1f5d731319b55da54302f0305a30"} +,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePicker.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePicker.jsx","statementMap":{"0":{"start":{"line":36,"column":4},"end":{"line":36,"column":42}},"1":{"start":{"line":40,"column":4},"end":{"line":40,"column":38}},"2":{"start":{"line":44,"column":4},"end":{"line":44,"column":38}},"3":{"start":{"line":48,"column":4},"end":{"line":48,"column":47}},"4":{"start":{"line":52,"column":4},"end":{"line":52,"column":48}},"5":{"start":{"line":58,"column":8},"end":{"line":58,"column":18}},"6":{"start":{"line":59,"column":34},"end":{"line":59,"column":44}},"7":{"start":{"line":61,"column":4},"end":{"line":100,"column":6}},"8":{"start":{"line":104,"column":15},"end":{"line":109,"column":2}},"9":{"start":{"line":104,"column":25},"end":{"line":109,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":35,"column":2},"end":{"line":35,"column":3}},"loc":{"start":{"line":35,"column":13},"end":{"line":37,"column":3}},"line":35},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":16},"end":{"line":41,"column":3}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":43,"column":16},"end":{"line":45,"column":3}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":22},"end":{"line":47,"column":23}},"loc":{"start":{"line":47,"column":28},"end":{"line":49,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":17},"end":{"line":51,"column":18}},"loc":{"start":{"line":51,"column":23},"end":{"line":53,"column":3}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":2},"end":{"line":55,"column":3}},"loc":{"start":{"line":55,"column":11},"end":{"line":101,"column":3}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":104,"column":15},"end":{"line":104,"column":16}},"loc":{"start":{"line":104,"column":25},"end":{"line":109,"column":1}},"line":104}},"branchMap":{"0":{"loc":{"start":{"line":80,"column":10},"end":{"line":97,"column":16}},"type":"cond-expr","locations":[{"start":{"line":82,"column":14},"end":{"line":89,"column":16}},{"start":{"line":91,"column":14},"end":{"line":97,"column":16}}],"line":80}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":2,"9":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1},"b":{"0":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e25222dbb33f63d49045e3d655977b3489febd98"} +,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePickerModal.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePickerModal.jsx","statementMap":{"0":{"start":{"line":39,"column":4},"end":{"line":39,"column":46}},"1":{"start":{"line":43,"column":4},"end":{"line":47,"column":7}},"2":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"3":{"start":{"line":45,"column":8},"end":{"line":45,"column":28}},"4":{"start":{"line":51,"column":4},"end":{"line":51,"column":41}},"5":{"start":{"line":52,"column":4},"end":{"line":52,"column":24}},"6":{"start":{"line":56,"column":4},"end":{"line":58,"column":7}},"7":{"start":{"line":60,"column":4},"end":{"line":60,"column":24}},"8":{"start":{"line":64,"column":21},"end":{"line":64,"column":31}},"9":{"start":{"line":68,"column":8},"end":{"line":68,"column":18}},"10":{"start":{"line":70,"column":4},"end":{"line":95,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":38,"column":17},"end":{"line":38,"column":18}},"loc":{"start":{"line":38,"column":23},"end":{"line":40,"column":3}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":17},"end":{"line":42,"column":18}},"loc":{"start":{"line":42,"column":27},"end":{"line":48,"column":3}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":28},"end":{"line":43,"column":29}},"loc":{"start":{"line":43,"column":34},"end":{"line":47,"column":5}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":17},"end":{"line":50,"column":18}},"loc":{"start":{"line":50,"column":23},"end":{"line":53,"column":3}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":18},"end":{"line":55,"column":19}},"loc":{"start":{"line":55,"column":24},"end":{"line":61,"column":3}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":63,"column":11},"end":{"line":96,"column":3}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},{"start":{"line":44,"column":6},"end":{"line":46,"column":7}}],"line":44}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a12e54379f0cc9850c2bc3b1e89b2d2083023a68"} +,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/YearSelection.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/YearSelection.jsx","statementMap":{"0":{"start":{"line":8,"column":15},"end":{"line":8,"column":35}},"1":{"start":{"line":22,"column":37},"end":{"line":22,"column":47}},"2":{"start":{"line":23,"column":31},"end":{"line":23,"column":98}},"3":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"4":{"start":{"line":26,"column":6},"end":{"line":28,"column":9}},"5":{"start":{"line":33,"column":31},"end":{"line":33,"column":41}},"6":{"start":{"line":35,"column":20},"end":{"line":35,"column":50}},"7":{"start":{"line":36,"column":4},"end":{"line":36,"column":22}},"8":{"start":{"line":42,"column":8},"end":{"line":42,"column":18}},"9":{"start":{"line":43,"column":24},"end":{"line":43,"column":40}},"10":{"start":{"line":45,"column":4},"end":{"line":71,"column":6}},"11":{"start":{"line":50,"column":33},"end":{"line":50,"column":49}},"12":{"start":{"line":51,"column":32},"end":{"line":54,"column":16}},"13":{"start":{"line":56,"column":14},"end":{"line":67,"column":16}},"14":{"start":{"line":62,"column":33},"end":{"line":62,"column":62}},"15":{"start":{"line":63,"column":36},"end":{"line":63,"column":65}},"16":{"start":{"line":75,"column":15},"end":{"line":99,"column":2}},"17":{"start":{"line":75,"column":25},"end":{"line":99,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":22},"end":{"line":21,"column":23}},"loc":{"start":{"line":21,"column":28},"end":{"line":30,"column":3}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":17},"end":{"line":32,"column":18}},"loc":{"start":{"line":32,"column":27},"end":{"line":37,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":11},"end":{"line":72,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":17},"end":{"line":49,"column":18}},"loc":{"start":{"line":49,"column":27},"end":{"line":68,"column":13}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":27},"end":{"line":62,"column":28}},"loc":{"start":{"line":62,"column":33},"end":{"line":62,"column":62}},"line":62},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":30},"end":{"line":63,"column":31}},"loc":{"start":{"line":63,"column":36},"end":{"line":63,"column":65}},"line":63},"6":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":15},"end":{"line":75,"column":16}},"loc":{"start":{"line":75,"column":25},"end":{"line":99,"column":1}},"line":75}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},{"start":{"line":25,"column":4},"end":{"line":29,"column":5}}],"line":25},"1":{"loc":{"start":{"line":27,"column":18},"end":{"line":27,"column":58}},"type":"cond-expr","locations":[{"start":{"line":27,"column":41},"end":{"line":27,"column":49}},{"start":{"line":27,"column":52},"end":{"line":27,"column":58}}],"line":27},"2":{"loc":{"start":{"line":53,"column":36},"end":{"line":53,"column":75}},"type":"binary-expr","locations":[{"start":{"line":53,"column":36},"end":{"line":53,"column":49}},{"start":{"line":53,"column":53},"end":{"line":53,"column":75}}],"line":53}},"s":{"0":3,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":3,"17":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"9f0a58699ac80517d4d72b0db91d5db0f9bfe204"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/Clock.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/Clock.jsx","statementMap":{"0":{"start":{"line":19,"column":31},"end":{"line":19,"column":32}},"1":{"start":{"line":21,"column":4},"end":{"line":26,"column":5}},"2":{"start":{"line":22,"column":19},"end":{"line":22,"column":51}},"3":{"start":{"line":24,"column":6},"end":{"line":24,"column":56}},"4":{"start":{"line":25,"column":6},"end":{"line":25,"column":55}},"5":{"start":{"line":28,"column":18},"end":{"line":30,"column":34}},"6":{"start":{"line":32,"column":4},"end":{"line":32,"column":31}},"7":{"start":{"line":36,"column":4},"end":{"line":36,"column":20}},"8":{"start":{"line":40,"column":4},"end":{"line":40,"column":28}},"9":{"start":{"line":44,"column":4},"end":{"line":44,"column":27}},"10":{"start":{"line":45,"column":4},"end":{"line":45,"column":42}},"11":{"start":{"line":49,"column":4},"end":{"line":49,"column":23}},"12":{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},"13":{"start":{"line":52,"column":6},"end":{"line":52,"column":41}},"14":{"start":{"line":57,"column":28},"end":{"line":57,"column":38}},"15":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"16":{"start":{"line":60,"column":6},"end":{"line":60,"column":18}},"17":{"start":{"line":63,"column":4},"end":{"line":63,"column":27}},"18":{"start":{"line":69,"column":8},"end":{"line":69,"column":18}},"19":{"start":{"line":71,"column":4},"end":{"line":93,"column":6}},"20":{"start":{"line":97,"column":15},"end":{"line":118,"column":2}},"21":{"start":{"line":97,"column":25},"end":{"line":118,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":13},"end":{"line":33,"column":3}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":20},"end":{"line":35,"column":21}},"loc":{"start":{"line":35,"column":27},"end":{"line":37,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":19},"end":{"line":39,"column":20}},"loc":{"start":{"line":39,"column":26},"end":{"line":41,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":13},"end":{"line":43,"column":14}},"loc":{"start":{"line":43,"column":24},"end":{"line":46,"column":3}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":15},"end":{"line":48,"column":16}},"loc":{"start":{"line":48,"column":22},"end":{"line":54,"column":3}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":17}},"loc":{"start":{"line":56,"column":22},"end":{"line":64,"column":3}},"line":56},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":2},"end":{"line":66,"column":3}},"loc":{"start":{"line":66,"column":11},"end":{"line":94,"column":3}},"line":66},"7":{"name":"(anonymous_7)","decl":{"start":{"line":97,"column":15},"end":{"line":97,"column":16}},"loc":{"start":{"line":97,"column":25},"end":{"line":118,"column":1}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":26,"column":5}},{"start":{"line":21,"column":4},"end":{"line":26,"column":5}}],"line":21},"1":{"loc":{"start":{"line":28,"column":18},"end":{"line":30,"column":34}},"type":"cond-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":36}},{"start":{"line":30,"column":8},"end":{"line":30,"column":34}}],"line":28},"2":{"loc":{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},{"start":{"line":51,"column":4},"end":{"line":53,"column":5}}],"line":51},"3":{"loc":{"start":{"line":51,"column":8},"end":{"line":51,"column":52}},"type":"binary-expr","locations":[{"start":{"line":51,"column":8},"end":{"line":51,"column":23}},{"start":{"line":51,"column":27},"end":{"line":51,"column":52}}],"line":51},"4":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{"line":59,"column":4},"end":{"line":61,"column":5}}],"line":59},"5":{"loc":{"start":{"line":85,"column":17},"end":{"line":85,"column":51}},"type":"cond-expr","locations":[{"start":{"line":85,"column":44},"end":{"line":85,"column":46}},{"start":{"line":85,"column":49},"end":{"line":85,"column":51}}],"line":85}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":5,"21":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e68b2ea2bed02ea018d71cb7650dc31aac6267a4"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockNumber.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockNumber.jsx","statementMap":{"0":{"start":{"line":8,"column":18},"end":{"line":21,"column":1}},"1":{"start":{"line":32,"column":21},"end":{"line":32,"column":37}},"2":{"start":{"line":34,"column":4},"end":{"line":36,"column":6}},"3":{"start":{"line":42,"column":8},"end":{"line":42,"column":18}},"4":{"start":{"line":44,"column":22},"end":{"line":46,"column":6}},"5":{"start":{"line":48,"column":4},"end":{"line":55,"column":6}},"6":{"start":{"line":59,"column":15},"end":{"line":76,"column":2}},"7":{"start":{"line":59,"column":25},"end":{"line":76,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":22},"end":{"line":31,"column":23}},"loc":{"start":{"line":31,"column":33},"end":{"line":37,"column":3}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":11},"end":{"line":56,"column":3}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":15},"end":{"line":59,"column":16}},"loc":{"start":{"line":59,"column":25},"end":{"line":76,"column":1}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":69,"column":11},"end":{"line":71,"column":31}},"type":"cond-expr","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":34}},{"start":{"line":71,"column":8},"end":{"line":71,"column":31}}],"line":69}},"s":{"0":5,"1":0,"2":0,"3":0,"4":0,"5":0,"6":5,"7":1},"f":{"0":0,"1":0,"2":1},"b":{"0":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8636d0e66847f4d936a3893ce1cf02b867a1f1ae"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockPointer.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockPointer.jsx","statementMap":{"0":{"start":{"line":15,"column":27},"end":{"line":15,"column":37}},"1":{"start":{"line":16,"column":18},"end":{"line":16,"column":37}},"2":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"3":{"start":{"line":24,"column":37},"end":{"line":24,"column":47}},"4":{"start":{"line":26,"column":4},"end":{"line":33,"column":6}},"5":{"start":{"line":37,"column":15},"end":{"line":61,"column":2}},"6":{"start":{"line":37,"column":25},"end":{"line":61,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":18},"end":{"line":14,"column":19}},"loc":{"start":{"line":14,"column":24},"end":{"line":21,"column":3}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":11},"end":{"line":34,"column":3}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":15},"end":{"line":37,"column":16}},"loc":{"start":{"line":37,"column":25},"end":{"line":61,"column":1}},"line":37}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":6,"6":1},"f":{"0":0,"1":0,"2":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"981ce9b6edeac743c41cd2d8b03ff1cdfd911b81"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/HourView.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/HourView.jsx","statementMap":{"0":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"2":{"start":{"line":19,"column":21},"end":{"line":19,"column":31}},"3":{"start":{"line":21,"column":18},"end":{"line":21,"column":35}},"4":{"start":{"line":22,"column":22},"end":{"line":22,"column":47}},"5":{"start":{"line":24,"column":4},"end":{"line":43,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":28},"end":{"line":16,"column":3}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":11},"end":{"line":44,"column":3}},"line":18}},"branchMap":{},"s":{"0":0,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"0c570ceda70aaee53e4ebe71bca08511ece8d547"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/MinutesView.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/MinutesView.jsx","statementMap":{"0":{"start":{"line":14,"column":24},"end":{"line":14,"column":64}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"2":{"start":{"line":19,"column":18},"end":{"line":19,"column":48}},"3":{"start":{"line":21,"column":4},"end":{"line":40,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":30},"end":{"line":16,"column":3}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":11},"end":{"line":41,"column":3}},"line":18}},"branchMap":{},"s":{"0":0,"1":0,"2":1,"3":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"d2b214cfad73b617323d5f3c55dd296ea16d459b"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePicker.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePicker.jsx","statementMap":{"0":{"start":{"line":21,"column":28},"end":{"line":26,"column":3}},"1":{"start":{"line":22,"column":4},"end":{"line":25,"column":6}},"2":{"start":{"line":24,"column":12},"end":{"line":24,"column":46}},"3":{"start":{"line":29,"column":29},"end":{"line":29,"column":39}},"4":{"start":{"line":31,"column":4},"end":{"line":37,"column":5}},"5":{"start":{"line":32,"column":20},"end":{"line":34,"column":27}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":39}},"7":{"start":{"line":39,"column":4},"end":{"line":39,"column":30}},"8":{"start":{"line":43,"column":4},"end":{"line":43,"column":46}},"9":{"start":{"line":47,"column":4},"end":{"line":47,"column":45}},"10":{"start":{"line":51,"column":30},"end":{"line":51,"column":40}},"11":{"start":{"line":52,"column":46},"end":{"line":52,"column":56}},"12":{"start":{"line":54,"column":4},"end":{"line":111,"column":6}},"13":{"start":{"line":115,"column":15},"end":{"line":136,"column":2}},"14":{"start":{"line":115,"column":25},"end":{"line":136,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":20},"end":{"line":21,"column":21}},"loc":{"start":{"line":21,"column":28},"end":{"line":26,"column":3}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":28},"end":{"line":21,"column":29}},"loc":{"start":{"line":21,"column":34},"end":{"line":26,"column":3}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":6},"end":{"line":24,"column":7}},"loc":{"start":{"line":24,"column":12},"end":{"line":24,"column":46}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":17},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":27},"end":{"line":40,"column":3}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":42,"column":20},"end":{"line":42,"column":21}},"loc":{"start":{"line":42,"column":26},"end":{"line":44,"column":3}},"line":42},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":17},"end":{"line":46,"column":18}},"loc":{"start":{"line":46,"column":23},"end":{"line":48,"column":3}},"line":46},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":50,"column":11},"end":{"line":112,"column":3}},"line":50},"7":{"name":"(anonymous_7)","decl":{"start":{"line":115,"column":15},"end":{"line":115,"column":16}},"loc":{"start":{"line":115,"column":25},"end":{"line":136,"column":1}},"line":115}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":4},"end":{"line":37,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":37,"column":5}},{"start":{"line":31,"column":4},"end":{"line":37,"column":5}}],"line":31},"1":{"loc":{"start":{"line":32,"column":20},"end":{"line":34,"column":27}},"type":"cond-expr","locations":[{"start":{"line":33,"column":10},"end":{"line":33,"column":27}},{"start":{"line":34,"column":10},"end":{"line":34,"column":27}}],"line":32},"2":{"loc":{"start":{"line":97,"column":10},"end":{"line":107,"column":16}},"type":"cond-expr","locations":[{"start":{"line":99,"column":14},"end":{"line":102,"column":16}},{"start":{"line":104,"column":14},"end":{"line":107,"column":16}}],"line":97}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":2,"14":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"fe15dbaf04b198c308e5677cc341584710280b3a"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePickerModal.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePickerModal.jsx","statementMap":{"0":{"start":{"line":29,"column":4},"end":{"line":29,"column":46}},"1":{"start":{"line":33,"column":4},"end":{"line":37,"column":7}},"2":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"3":{"start":{"line":35,"column":8},"end":{"line":35,"column":28}},"4":{"start":{"line":41,"column":4},"end":{"line":41,"column":41}},"5":{"start":{"line":42,"column":4},"end":{"line":42,"column":24}},"6":{"start":{"line":46,"column":4},"end":{"line":48,"column":7}},"7":{"start":{"line":50,"column":4},"end":{"line":50,"column":24}},"8":{"start":{"line":54,"column":21},"end":{"line":54,"column":31}},"9":{"start":{"line":58,"column":8},"end":{"line":58,"column":18}},"10":{"start":{"line":60,"column":4},"end":{"line":80,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":28,"column":17},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":23},"end":{"line":30,"column":3}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":17},"end":{"line":32,"column":18}},"loc":{"start":{"line":32,"column":27},"end":{"line":38,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":28},"end":{"line":33,"column":29}},"loc":{"start":{"line":33,"column":34},"end":{"line":37,"column":5}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":17},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":23},"end":{"line":43,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":18},"end":{"line":45,"column":19}},"loc":{"start":{"line":45,"column":24},"end":{"line":51,"column":3}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":2},"end":{"line":53,"column":3}},"loc":{"start":{"line":53,"column":11},"end":{"line":81,"column":3}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},{"start":{"line":34,"column":6},"end":{"line":36,"column":7}}],"line":34}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3afc8ca5170ae738620faa0ddd80b8698d6ef8af"} +,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/utils/time-utils.js": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/utils/time-utils.js","statementMap":{"0":{"start":{"line":1,"column":15},"end":{"line":4,"column":1}},"1":{"start":{"line":6,"column":18},"end":{"line":9,"column":1}},"2":{"start":{"line":11,"column":11},"end":{"line":11,"column":33}},"3":{"start":{"line":12,"column":11},"end":{"line":12,"column":33}},"4":{"start":{"line":14,"column":16},"end":{"line":14,"column":46}},"5":{"start":{"line":14,"column":23},"end":{"line":14,"column":46}},"6":{"start":{"line":16,"column":22},"end":{"line":29,"column":1}},"7":{"start":{"line":17,"column":12},"end":{"line":17,"column":30}},"8":{"start":{"line":18,"column":12},"end":{"line":18,"column":30}},"9":{"start":{"line":20,"column":15},"end":{"line":20,"column":52}},"10":{"start":{"line":22,"column":12},"end":{"line":22,"column":25}},"11":{"start":{"line":23,"column":2},"end":{"line":23,"column":38}},"12":{"start":{"line":24,"column":2},"end":{"line":24,"column":13}},"13":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"14":{"start":{"line":28,"column":2},"end":{"line":28,"column":15}},"15":{"start":{"line":31,"column":24},"end":{"line":35,"column":1}},"16":{"start":{"line":32,"column":16},"end":{"line":32,"column":57}},"17":{"start":{"line":34,"column":2},"end":{"line":34,"column":20}},"18":{"start":{"line":37,"column":26},"end":{"line":41,"column":1}},"19":{"start":{"line":38,"column":16},"end":{"line":38,"column":53}},"20":{"start":{"line":40,"column":2},"end":{"line":40,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":17}},"loc":{"start":{"line":14,"column":23},"end":{"line":14,"column":46}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":22},"end":{"line":16,"column":23}},"loc":{"start":{"line":16,"column":50},"end":{"line":29,"column":1}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":25}},"loc":{"start":{"line":31,"column":46},"end":{"line":35,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":26},"end":{"line":37,"column":27}},"loc":{"start":{"line":37,"column":58},"end":{"line":41,"column":1}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"type":"binary-expr","locations":[{"start":{"line":26,"column":16},"end":{"line":26,"column":38}},{"start":{"line":26,"column":42},"end":{"line":26,"column":43}}],"line":26},"1":{"loc":{"start":{"line":32,"column":16},"end":{"line":32,"column":57}},"type":"binary-expr","locations":[{"start":{"line":32,"column":16},"end":{"line":32,"column":51}},{"start":{"line":32,"column":55},"end":{"line":32,"column":57}}],"line":32},"2":{"loc":{"start":{"line":37,"column":45},"end":{"line":37,"column":53}},"type":"default-arg","locations":[{"start":{"line":37,"column":52},"end":{"line":37,"column":53}}],"line":37}},"s":{"0":5,"1":5,"2":5,"3":5,"4":5,"5":0,"6":5,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":5,"16":0,"17":0,"18":5,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f4182a56f4f29d6aa2c3071887a1db1fe87a6852"} +,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/DateTextField.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/DateTextField.jsx","statementMap":{"0":{"start":{"line":14,"column":4},"end":{"line":15,"column":42}},"1":{"start":{"line":19,"column":30},"end":{"line":19,"column":40}},"2":{"start":{"line":21,"column":4},"end":{"line":21,"column":40}},"3":{"start":{"line":25,"column":22},"end":{"line":25,"column":30}},"4":{"start":{"line":26,"column":24},"end":{"line":26,"column":37}},"5":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"6":{"start":{"line":29,"column":6},"end":{"line":29,"column":39}},"7":{"start":{"line":34,"column":40},"end":{"line":34,"column":50}},"8":{"start":{"line":36,"column":4},"end":{"line":42,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":26},"end":{"line":13,"column":27}},"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":42}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":19},"end":{"line":18,"column":20}},"loc":{"start":{"line":18,"column":25},"end":{"line":22,"column":3}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":18}},"loc":{"start":{"line":24,"column":24},"end":{"line":31,"column":3}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":33,"column":11},"end":{"line":43,"column":3}},"line":33}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":42}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":40}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":14},"1":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{"line":28,"column":4},"end":{"line":30,"column":5}}],"line":28}},"s":{"0":0,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":1,"8":1},"f":{"0":0,"1":1,"2":0,"3":1},"b":{"0":[0,0],"1":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"c0261dcea76f3d1c9754a6f48fdc08a82ddf89c7"} +,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ModalDialog.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ModalDialog.jsx","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":11,"column":1}},"1":{"start":{"line":13,"column":20},"end":{"line":30,"column":1}},"2":{"start":{"line":16,"column":6},"end":{"line":16,"column":11}},"3":{"start":{"line":18,"column":2},"end":{"line":29,"column":4}},"4":{"start":{"line":32,"column":0},"end":{"line":37,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":20},"end":{"line":13,"column":21}},"loc":{"start":{"line":13,"column":31},"end":{"line":30,"column":1}},"line":13}},"branchMap":{},"s":{"0":3,"1":3,"2":0,"3":0,"4":3},"f":{"0":0},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e272a6ffff51ecce29076049650af49702c615a9"} +,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/PickerToolbar.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/PickerToolbar.jsx","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":16,"column":1}},"1":{"start":{"line":9,"column":6},"end":{"line":9,"column":11}},"2":{"start":{"line":11,"column":2},"end":{"line":15,"column":4}},"3":{"start":{"line":18,"column":0},"end":{"line":22,"column":2}},"4":{"start":{"line":24,"column":0},"end":{"line":26,"column":2}},"5":{"start":{"line":28,"column":15},"end":{"line":37,"column":2}},"6":{"start":{"line":28,"column":25},"end":{"line":37,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":33},"end":{"line":16,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":15},"end":{"line":28,"column":16}},"loc":{"start":{"line":28,"column":25},"end":{"line":37,"column":1}},"line":28}},"branchMap":{},"s":{"0":5,"1":0,"2":0,"3":5,"4":5,"5":5,"6":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"16e5e0ea319a0221766f0304361557e770e83a58"} +,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ToolbarButton.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ToolbarButton.jsx","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":21,"column":1}},"1":{"start":{"line":9,"column":6},"end":{"line":9,"column":11}},"2":{"start":{"line":11,"column":2},"end":{"line":20,"column":4}},"3":{"start":{"line":23,"column":0},"end":{"line":28,"column":2}},"4":{"start":{"line":30,"column":15},"end":{"line":38,"column":2}},"5":{"start":{"line":30,"column":25},"end":{"line":38,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":33},"end":{"line":21,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":15},"end":{"line":30,"column":16}},"loc":{"start":{"line":30,"column":25},"end":{"line":38,"column":1}},"line":30}},"branchMap":{},"s":{"0":5,"1":0,"2":0,"3":5,"4":5,"5":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7bfb9950c3cb95db25397bd5853e3c21a716d497"} +,"/Users/dmitrij/pat/material-ui-pickers/src/constants/clock-types.js": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/constants/clock-types.js","statementMap":{"0":{"start":{"line":1,"column":21},"end":{"line":1,"column":28}},"1":{"start":{"line":3,"column":23},"end":{"line":3,"column":32}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":6},"f":{},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a7af97df784eac72cdf36b28d735abe0ba2a8db5"} +} diff --git a/coverage/lcov-report/__tests__/index.html b/coverage/lcov-report/__tests__/index.html new file mode 100644 index 00000000000000..29ae867fcb1bc7 --- /dev/null +++ b/coverage/lcov-report/__tests__/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for __tests__ + + + + + + + +
+
+

+ All files __tests__ +

+
+
+ 100% + Statements + 3/3 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 3/3 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
setup.js
100%3/3100%0/0100%0/0100%3/3
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/__tests__/setup.js.html b/coverage/lcov-report/__tests__/setup.js.html new file mode 100644 index 00000000000000..09fd7e404fed2e --- /dev/null +++ b/coverage/lcov-report/__tests__/setup.js.html @@ -0,0 +1,80 @@ + + + + Code coverage report for __tests__/setup.js + + + + + + + +
+
+

+ All files / __tests__ setup.js +

+
+
+ 100% + Statements + 3/3 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 3/3 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +616x +16x +  +  +16x + 
const Enzyme = require('enzyme');
+const EnzymeAdapter = require('enzyme-adapter-react-16');
+ 
+// Setup enzyme's react adapter
+Enzyme.configure({ adapter: new EnzymeAdapter() });
+ 
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css new file mode 100644 index 00000000000000..417c7adc95f1da --- /dev/null +++ b/coverage/lcov-report/base.css @@ -0,0 +1,212 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } + + +.medium .chart { border:1px solid #666; } +.medium .cover-fill { background: #666; } + +.cbranch-no { background: yellow !important; color: #111; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } +.medium { background: #eaeaea; } + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html new file mode 100644 index 00000000000000..6957c36333d345 --- /dev/null +++ b/coverage/lcov-report/index.html @@ -0,0 +1,158 @@ + + + + Code coverage report for All files + + + + + + + +
+
+

+ All files +

+
+
+ 31.63% + Statements + 62/196 +
+
+ 2.13% + Branches + 1/47 +
+
+ 20.25% + Functions + 16/79 +
+
+ 28.42% + Lines + 52/183 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
__tests__
100%3/3100%0/0100%0/0100%3/3
src/DatePicker
21.43%15/700%0/1614.71%5/3417.19%11/64
src/TimePicker
24.66%18/734.55%1/2221.88%7/3220.29%14/69
src/TimePicker/utils
38.1%8/210%0/50%0/440%8/20
src/_shared
59.26%16/270%0/444.44%4/956%14/25
src/constants
100%2/2100%0/0100%0/0100%2/2
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css new file mode 100644 index 00000000000000..b317a7cda31a44 --- /dev/null +++ b/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js new file mode 100644 index 00000000000000..ef51e03866898f --- /dev/null +++ b/coverage/lcov-report/prettify.js @@ -0,0 +1 @@ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function (a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function (a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function () { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i =0 ; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function () { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(cols); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/src/DatePicker/Calendar.jsx.html b/coverage/lcov-report/src/DatePicker/Calendar.jsx.html new file mode 100644 index 00000000000000..4a24ad40ce1e73 --- /dev/null +++ b/coverage/lcov-report/src/DatePicker/Calendar.jsx.html @@ -0,0 +1,440 @@ + + + + Code coverage report for src/DatePicker/Calendar.jsx + + + + + + + +
+
+

+ All files / src/DatePicker Calendar.jsx +

+
+
+ 15% + Statements + 3/20 +
+
+ 0% + Branches + 0/6 +
+
+ 11.11% + Functions + 1/9 +
+
+ 10.53% + Lines + 2/19 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import { withStyles, IconButton } from 'material-ui';
+ 
+import Moment from 'moment';
+import { extendMoment } from 'moment-range';
+import classnames from 'classnames';
+import CalendarHeader from './CalendarHeader';
+ 
+const moment = extendMoment(Moment);
+ 
+class Calendar extends PureComponent {
+  static propTypes = {
+    date: PropTypes.object.isRequired,
+    minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
+    maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
+    classes: PropTypes.object.isRequired,
+    onChange: PropTypes.func.isRequired,
+    disableFuture: PropTypes.bool.isRequired,
+  }
+ 
+  static defaultProps = {
+    minDate: '1900-01-01',
+    maxDate: '2100-01-01',
+  }
+ 
+  state = {
+    currentMonth: this.props.date.clone().startOf('month'),
+  }
+ 
+  onDateSelect = (day) => {
+    this.props.onChange(day);
+  }
+ 
+  handleChangeMonth = (newMonth) => {
+    this.setState({ currentMonth: newMonth });
+  }
+ 
+  renderWeeks = () => {
+    const { currentMonth } = this.state;
+    const start = currentMonth.clone().startOf('week');
+    const end = currentMonth.clone().endOf('month').endOf('week');
+ 
+    return Array.from(moment.range(start, end).by('week'))
+      .map(week => (
+        <div key={`week-${week.toString()}`} className={this.props.classes.week}>
+          { this.renderDays(week) }
+        </div>
+      ));
+  }
+ 
+  renderDays = (week) => {
+    const { disableFuture, classes, date, minDate, maxDate } = this.props;
+    const end = week.clone().endOf('week');
+    const currentMonthNumber = this.state.currentMonth.get('month');
+ 
+    return Array.from(moment.range(week, end).by('day'))
+      .map((day) => {
+        const dayClass = classnames(classes.day, {
+          [classes.hidden]: day.get('month') !== currentMonthNumber,
+          [classes.selected]: day.toString() === date.toString(),
+          [classes.disabled]: disableFuture && day.isAfter(moment()) || minDate && day.isBefore(minDate) || maxDate && day.isAfter(maxDate),
+        });
+ 
+        return (
+          <IconButton
+            key={day.toString()}
+            className={dayClass}
+            onClick={() => this.onDateSelect(day)}
+          >
+            <span> { day.format('DD')} </span>
+          </IconButton>
+        );
+      });
+  }
+ 
+  render() {
+    const { currentMonth } = this.state;
+    const { classes } = this.props;
+ 
+    return (
+      <div className={classes.container}>
+        <CalendarHeader
+          currentMonth={currentMonth}
+          onMonthChange={this.handleChangeMonth}
+        />
+ 
+        <div className={classes.calendar}>
+          { this.renderWeeks() }
+        </div>
+      </div>
+    );
+  }
+}
+ 
+const styles = theme => ({
+  calendar: {
+    marginTop: 10,
+  },
+  hidden: {
+    opacity: 0,
+    pointerEvents: 'none',
+  },
+  day: {
+    width: 36,
+    height: 36,
+    fontSize: 14,
+    margin: '0 2px',
+    color: theme.palette.text.primary,
+  },
+  selected: {
+    color: theme.palette.primary[700],
+    backgroundColor: theme.palette.primary[200],
+  },
+  disabled: {
+    pointerEvents: 'none',
+    color: theme.palette.text.hint,
+  },
+  week: {
+    display: 'flex',
+    justifyContent: 'center',
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersCalendar' })(Calendar);
+ 
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html b/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html new file mode 100644 index 00000000000000..509bed26e8c273 --- /dev/null +++ b/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html @@ -0,0 +1,269 @@ + + + + Code coverage report for src/DatePicker/CalendarHeader.jsx + + + + + + + +
+
+

+ All files / src/DatePicker CalendarHeader.jsx +

+
+
+ 36.36% + Statements + 4/11 +
+
+ 100% + Branches + 0/0 +
+
+ 20% + Functions + 1/5 +
+
+ 37.5% + Lines + 3/8 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x +  +  +  +  +  +4x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import PropTypes from 'prop-types';
+import moment from 'moment';
+import { withStyles, IconButton } from 'material-ui';
+ 
+const CalendarHeader = (props) => {
+  const { classes, currentMonth, onMonthChange } = props;
+ 
+  const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months'));
+  const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months'));
+ 
+  return (
+    <div>
+      <div className={classes.switchHeader}>
+        <IconButton onClick={selectPreviousMonth}>
+          keyboard_arrow_left
+        </IconButton>
+ 
+        <div className={classes.monthName}>
+          { currentMonth.format('MMMM YYYY')}
+        </div>
+ 
+        <IconButton onClick={selectNextMonth}>
+            keyboard_arrow_right
+        </IconButton>
+      </div>
+ 
+      <div className={classes.daysHeader}>
+        { moment.weekdaysMin().map(day => (
+          <div key={day} className={classes.dayLabel}> { day } </div>
+        ))}
+      </div>
+    </div>
+  );
+};
+ 
+CalendarHeader.propTypes = {
+  currentMonth: PropTypes.object.isRequired,
+  onMonthChange: PropTypes.func.isRequired,
+  classes: PropTypes.object.isRequired,
+};
+ 
+const styles = theme => ({
+  switchHeader: {
+    display: 'flex',
+    justifyContent: 'space-between',
+    alignItems: 'center',
+    margin: '10px 0 20px',
+  },
+  daysHeader: {
+    display: 'flex',
+    justifyContent: 'center',
+    alignItems: 'center',
+  },
+  dayLabel: {
+    width: 36,
+    margin: '0 2px',
+    fontSize: 13,
+    textAlign: 'center',
+    color: theme.palette.text.hint,
+  },
+  monthName: {
+    color: theme.palette.text.primary,
+  },
+});
+ 
+export default withStyles(styles)(CalendarHeader, { name: 'MuiPickersCalendarHeader' });
+ 
+ 
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html b/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html new file mode 100644 index 00000000000000..a642925af6bcc9 --- /dev/null +++ b/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html @@ -0,0 +1,401 @@ + + + + Code coverage report for src/DatePicker/DatePicker.jsx + + + + + + + +
+
+

+ All files / src/DatePicker DatePicker.jsx +

+
+
+ 20% + Statements + 2/10 +
+
+ 0% + Branches + 0/2 +
+
+ 14.29% + Functions + 1/7 +
+
+ 11.11% + Lines + 1/9 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  + 
import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import moment from 'moment';
+import { withStyles } from 'material-ui';
+ 
+import Calendar from './Calendar';
+import YearSelection from './YearSelection';
+import PickerToolbar from '../_shared/PickerToolbar';
+import ToolbarButton from '../_shared/ToolbarButton';
+ 
+class DatePicker extends PureComponent {
+  static propTypes = {
+    date: PropTypes.object.isRequired,
+    minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
+    maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
+    classes: PropTypes.shape({}).isRequired,
+    onChange: PropTypes.func.isRequired,
+    disableFuture: PropTypes.bool,
+    animateYearScrolling: PropTypes.bool,
+    openToYearSelection: PropTypes.bool,
+  }
+ 
+  static defaultProps = {
+    minDate: '1900-01-01',
+    maxDate: '2100-01-01',
+    disableFuture: false,
+    animateYearScrolling: true,
+    openToYearSelection: false,
+  }
+ 
+  state = {
+    showYearSelection: this.props.openToYearSelection,
+  }
+ 
+  get date() {
+    return this.props.date.startOf('day');
+  }
+ 
+  get minDate() {
+    return moment(this.props.minDate);
+  }
+ 
+  get maxDate() {
+    return moment(this.props.maxDate);
+  }
+ 
+  openYearSelection = () => {
+    this.setState({ showYearSelection: true });
+  }
+ 
+  openCalendar = () => {
+    this.setState({ showYearSelection: false });
+  }
+ 
+  render() {
+    const {
+      classes, disableFuture, onChange, animateYearScrolling,
+    } = this.props;
+    const { showYearSelection } = this.state;
+ 
+    return (
+      <div className={classes.container}>
+        <PickerToolbar>
+          <ToolbarButton
+            type="subheading"
+            onClick={this.openYearSelection}
+            selected={showYearSelection}
+            label={this.date.format('YYYY')}
+          />
+ 
+          <ToolbarButton
+            type="display1"
+            onClick={this.openCalendar}
+            selected={!showYearSelection}
+            label={this.date.format('ddd, MMM DD')}
+          />
+        </PickerToolbar>
+ 
+        {
+          showYearSelection
+            ?
+              <YearSelection
+                date={this.date}
+                onChange={onChange}
+                minDate={this.minDate}
+                maxDate={this.maxDate}
+                disableFuture={disableFuture}
+                animateYearScrolling={animateYearScrolling}
+              />
+            :
+              <Calendar
+                date={this.date}
+                onChange={onChange}
+                disableFuture={disableFuture}
+                minDate={this.minDate}
+                maxDate={this.maxDate}
+              />
+        }
+      </div>
+    );
+  }
+}
+ 
+const styles = theme => ({
+  container: {
+    width: 300,
+    height: 420,
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersDatePicker' })(DatePicker);
+ 
+ 
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html b/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html new file mode 100644 index 00000000000000..1934a4c2a07211 --- /dev/null +++ b/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html @@ -0,0 +1,356 @@ + + + + Code coverage report for src/DatePicker/DatePickerModal.jsx + + + + + + + +
+
+

+ All files / src/DatePicker DatePickerModal.jsx +

+
+
+ 27.27% + Statements + 3/11 +
+
+ 0% + Branches + 0/2 +
+
+ 16.67% + Functions + 1/6 +
+
+ 27.27% + Lines + 3/11 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import moment from 'moment';
+ 
+import DateTextField from '../_shared/DateTextField';
+import ModalDialog from '../_shared/ModalDialog';
+import DatePicker from './DatePicker';
+ 
+export default class DatePickerModal extends PureComponent {
+  static propTypes = {
+    minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
+    maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
+    value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
+    format: PropTypes.string,
+    onChange: PropTypes.func.isRequired,
+    autoOk: PropTypes.bool,
+    disableFuture: PropTypes.bool,
+    animateYearScrolling: PropTypes.bool,
+    openToYearSelection: PropTypes.bool,
+  }
+ 
+  static defaultProps = {
+    minDate: '1900-01-01',
+    maxDate: '2100-01-01',
+    value: null,
+    format: 'MMMM Do',
+    autoOk: false,
+    disableFuture: false,
+    animateYearScrolling: false,
+    openToYearSelection: false,
+  }
+ 
+  state = {
+    open: false,
+    date: moment(this.props.value),
+  }
+ 
+  togglePicker = () => {
+    this.setState({ open: !this.state.open });
+  }
+ 
+  handleChange = (date) => {
+    this.setState({ date }, () => {
+      if (this.props.autoOk) {
+        this.handleAccept();
+      }
+    });
+  }
+ 
+  handleAccept = () => {
+    this.props.onChange(this.state.date);
+    this.togglePicker(); // close
+  }
+ 
+  handleDismiss = () => {
+    this.setState({
+      date: moment(this.props.value),
+    });
+ 
+    this.togglePicker();
+  }
+ 
+  render() {
+    const { date } = this.state;
+    const {
+      value, format, autoOk, onChange, disableFuture, animateYearScrolling, openToYearSelection, minDate, maxDate,
+      ...other
+    } = this.props;
+ 
+    return (
+      <span>
+        <DateTextField
+          value={value}
+          format={format}
+          onClick={this.togglePicker}
+          {...other}
+        />
+ 
+        <ModalDialog
+          open={this.state.open}
+          onAccept={this.handleAccept}
+          onDismiss={this.handleDismiss}
+        >
+          <DatePicker
+            date={date}
+            onChange={this.handleChange}
+            disableFuture={disableFuture}
+            animateYearScrolling={animateYearScrolling}
+            openToYearSelection={openToYearSelection}
+            minDate={minDate}
+            maxDate={maxDate}
+          />
+        </ModalDialog>
+      </span>
+    );
+  }
+}
+ 
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html b/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html new file mode 100644 index 00000000000000..f53e9203d377cc --- /dev/null +++ b/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html @@ -0,0 +1,368 @@ + + + + Code coverage report for src/DatePicker/YearSelection.jsx + + + + + + + +
+
+

+ All files / src/DatePicker YearSelection.jsx +

+
+
+ 16.67% + Statements + 3/18 +
+
+ 0% + Branches + 0/6 +
+
+ 14.29% + Functions + 1/7 +
+
+ 11.76% + Lines + 2/17 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import Moment from 'moment';
+import classnames from 'classnames';
+import { extendMoment } from 'moment-range';
+import { withStyles } from 'material-ui';
+ 
+const moment = extendMoment(Moment);
+ 
+class YearSelection extends PureComponent {
+  static propTypes = {
+    date: PropTypes.shape({}).isRequired,
+    minDate: PropTypes.shape({}).isRequired,
+    maxDate: PropTypes.shape({}).isRequired,
+    classes: PropTypes.object.isRequired,
+    onChange: PropTypes.func.isRequired,
+    disableFuture: PropTypes.bool.isRequired,
+    animateYearScrolling: PropTypes.bool.isRequired,
+  }
+ 
+  componentDidMount = () => {
+    const { animateYearScrolling } = this.props;
+    const currentYearElement = document.getElementsByClassName(this.props.classes.selectedYear)[0];
+ 
+    if (currentYearElement) {
+      currentYearElement.scrollIntoView({
+        behavior: animateYearScrolling ? 'smooth' : 'auto',
+      });
+    }
+  }
+ 
+  onYearSelect = (year) => {
+    const { date, onChange } = this.props;
+ 
+    const newDate = date.clone().set('year', year);
+    onChange(newDate);
+  }
+ 
+  render() {
+    const {
+      minDate, maxDate, date, classes, disableFuture,
+    } = this.props;
+    const currentYear = date.get('year');
+ 
+    return (
+      <div className={classes.container}>
+        {
+          Array.from(moment.range(minDate, maxDate).by('year'))
+            .map((year) => {
+              const yearNumber = year.get('year');
+              const className = classnames(classes.yearItem, {
+                [classes.selectedYear]: yearNumber === currentYear,
+                [classes.disabled]: disableFuture && year.isAfter(moment()),
+              });
+ 
+              return (
+                <div
+                  role="button"
+                  key={year.format('YYYY')}
+                  className={className}
+                  tabIndex={yearNumber}
+                  onClick={() => this.onYearSelect(yearNumber)}
+                  onKeyPress={() => this.onYearSelect(yearNumber)}
+                >
+                  { yearNumber }
+                </div>
+              );
+            })
+        }
+      </div>
+    );
+  }
+}
+ 
+const styles = theme => ({
+  container: {
+    maxHeight: 320,
+    overflowY: 'auto',
+    justifyContent: 'center',
+  },
+  yearItem: {
+    height: 36,
+    display: 'flex',
+    alignItems: 'center',
+    justifyContent: 'center',
+    cursor: 'pointer',
+    outline: 'none',
+    color: theme.palette.text.primary
+  },
+  selectedYear: {
+    fontSize: 26,
+    margin: '10px 0',
+    color: theme.palette.primary[500],
+  },
+  disabled: {
+    pointerEvents: 'none',
+    color: theme.palette.text.hint,
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersYearSelection' })(YearSelection);
+ 
+
+
+ +
+ + + + + diff --git a/coverage/lcov-report/src/DatePicker/index.html b/coverage/lcov-report/src/DatePicker/index.html new file mode 100644 index 00000000000000..150e80b421dd4a --- /dev/null +++ b/coverage/lcov-report/src/DatePicker/index.html @@ -0,0 +1,145 @@ + + + + Code coverage report for src/DatePicker + + + + + + + +
+
+

+ All files src/DatePicker +

+
+
+ 21.43% + Statements + 15/70 +
+
+ 0% + Branches + 0/16 +
+
+ 14.71% + Functions + 5/34 +
+
+ 17.19% + Lines + 11/64 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Calendar.jsx
15%3/200%0/611.11%1/910.53%2/19
CalendarHeader.jsx
36.36%4/11100%0/020%1/537.5%3/8
DatePicker.jsx
20%2/100%0/214.29%1/711.11%1/9
DatePickerModal.jsx
27.27%3/110%0/216.67%1/627.27%3/11
YearSelection.jsx
16.67%3/180%0/614.29%1/711.76%2/17
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/Clock.jsx.html b/coverage/lcov-report/src/TimePicker/Clock.jsx.html new file mode 100644 index 00000000000000..f0eda1ad858295 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/Clock.jsx.html @@ -0,0 +1,428 @@ + + + + Code coverage report for src/TimePicker/Clock.jsx + + + + + + + +
+
+

+ All files / src/TimePicker Clock.jsx +

+
+
+ 9.09% + Statements + 2/22 +
+
+ 0% + Branches + 0/12 +
+
+ 12.5% + Functions + 1/8 +
+
+ 4.76% + Lines + 1/21 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import { withStyles } from 'material-ui';
+ 
+import ClockPointer from './ClockPointer';
+import * as clockType from '../constants/clock-types';
+import { getMinutes, getHours } from './utils/time-utils';
+ 
+class Clock extends Component {
+  static propTypes = {
+    type: PropTypes.oneOf(Object.values(clockType)).isRequired,
+    classes: PropTypes.object.isRequired,
+    value: PropTypes.number.isRequired,
+    onChange: PropTypes.func.isRequired,
+    children: PropTypes.arrayOf(PropTypes.node).isRequired,
+  }
+ 
+  setTime(e) {
+    let { offsetX, offsetY } = e;
+ 
+    if (typeof offsetX === 'undefined') {
+      const rect = e.target.getBoundingClientRect();
+ 
+      offsetX = e.changedTouches[0].clientX - rect.left;
+      offsetY = e.changedTouches[0].clientY - rect.top;
+    }
+ 
+    const value = this.props.type === clockType.MINUTES
+      ? getMinutes(offsetX, offsetY)
+      : getHours(offsetX, offsetY);
+ 
+    this.props.onChange(value);
+  }
+ 
+  handleTouchMove = (e) => {
+    this.setTime(e);
+  }
+ 
+  handleTouchEnd = (e) => {
+    this.handleTouchMove(e);
+  }
+ 
+  handleUp = (event) => {
+    event.preventDefault();
+    this.setTime(event.nativeEvent, true);
+  };
+ 
+  handleMove = (e) => {
+    e.preventDefault();
+    // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari
+    if (e.buttons === 1 || e.nativeEvent.which === 1) {
+      this.setTime(e.nativeEvent, false);
+    }
+  };
+ 
+  hasSelected = () => {
+    const { type, value } = this.props;
+ 
+    if (type === clockType.HOURS) {
+      return true;
+    }
+ 
+    return value % 5 === 0;
+  }
+ 
+  render() {
+    const {
+      classes, value, children, type,
+    } = this.props;
+ 
+    return (
+      <div className={classes.container}>
+        <div
+          className={classes.clock}
+        >
+          <div
+            className={classes.squareMask}
+            onTouchMove={this.handleTouchMove}
+            onTouchEnd={this.handleTouchEnd}
+            onMouseUp={this.handleUp}
+            onMouseMove={this.handleMove}
+          />
+ 
+          <ClockPointer
+            max={type === clockType.HOURS ? 12 : 60}
+            hasSelected={this.hasSelected()}
+            value={value}
+          />
+ 
+          { children }
+        </div>
+      </div>
+    );
+  }
+}
+ 
+const styles = theme => ({
+  container: {
+    display: 'flex',
+    justifyContent: 'center',
+    alignItems: 'flex-end',
+    marginTop: 40,
+  },
+  clock: {
+    backgroundColor: 'rgba(0,0,0,.07)',
+    borderRadius: '50%',
+    height: 260,
+    width: 260,
+    position: 'relative',
+    pointerEvents: 'none',
+  },
+  squareMask: {
+    width: '100%',
+    height: '100%',
+    position: 'absolute',
+    pointerEvents: 'auto',
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersClock' })(Clock);
+ 
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html b/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html new file mode 100644 index 00000000000000..002625645a494a --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html @@ -0,0 +1,302 @@ + + + + Code coverage report for src/TimePicker/ClockNumber.jsx + + + + + + + +
+
+

+ All files / src/TimePicker ClockNumber.jsx +

+
+
+ 37.5% + Statements + 3/8 +
+
+ 50% + Branches + 1/2 +
+
+ 33.33% + Functions + 1/3 +
+
+ 28.57% + Lines + 2/7 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+ 
+import classnames from 'classnames';
+import { withStyles } from 'material-ui';
+import * as clockType from '../constants/clock-types';
+ 
+const positions = [
+  [0, 5],
+  [55, 19.6],
+  [94.4, 59.5],
+  [109, 114],
+  [94.4, 168.5],
+  [54.5, 208.4],
+  [0, 223],
+  [-54.5, 208.4],
+  [-94.4, 168.5],
+  [-109, 114],
+  [-94.4, 59.5],
+  [-54.5, 19.6],
+];
+ 
+class ClockNumber extends Component {
+  static propTypes = {
+    index: PropTypes.number.isRequired,
+    label: PropTypes.string.isRequired,
+    selected: PropTypes.bool.isRequired,
+    classes: PropTypes.object.isRequired,
+  }
+ 
+  getTransformStyle = (index) => {
+    const position = positions[index];
+ 
+    return {
+      transform: `translate(${position[0]}px, ${position[1]}px`,
+    };
+  }
+ 
+  render() {
+    const {
+      selected, label, index, classes,
+    } = this.props;
+ 
+    const className = classnames(classes.clockNumber, {
+      [classes.selected]: selected,
+    });
+ 
+    return (
+      <div
+        className={className}
+        style={this.getTransformStyle(index)}
+      >
+        { label }
+      </div>
+    );
+  }
+}
+ 
+const styles = theme => ({
+  clockNumber: {
+    width: 32,
+    height: 32,
+    position: 'absolute',
+    left: 'calc(50% - 16px)',
+    display: 'inline-flex',
+    justifyContent: 'center',
+    alignItems: 'center',
+    borderRadius: '50%',
+    color: theme.palette.type === 'light'
+      ? theme.palette.text.primary
+      : theme.palette.text.hint
+  },
+  selected: {
+    color: 'white',
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersClockNumber' })(ClockNumber);
+ 
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html b/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html new file mode 100644 index 00000000000000..478b60cc9556b0 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html @@ -0,0 +1,257 @@ + + + + Code coverage report for src/TimePicker/ClockPointer.jsx + + + + + + + +
+
+

+ All files / src/TimePicker ClockPointer.jsx +

+
+
+ 28.57% + Statements + 2/7 +
+
+ 100% + Branches + 0/0 +
+
+ 33.33% + Functions + 1/3 +
+
+ 16.67% + Lines + 1/6 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import { withStyles } from 'material-ui';
+import classnames from 'classnames';
+ 
+class ClockPointer extends Component {
+  static propTypes = {
+    classes: PropTypes.object.isRequired,
+    value: PropTypes.number.isRequired,
+    hasSelected: PropTypes.bool.isRequired,
+    max: PropTypes.number.isRequired,
+  }
+ 
+  getAngleStyle = () => {
+    const { value, max } = this.props;
+    const angle = (360 / max) * value;
+ 
+    return {
+      transform: `rotateZ(${angle}deg)`,
+    };
+  }
+ 
+  render() {
+    const { classes, hasSelected } = this.props;
+ 
+    return (
+      <div
+        className={classes.pointer}
+        style={this.getAngleStyle()}
+      >
+        <div className={classnames(classes.thumb, { [classes.noPoint]: hasSelected })} />
+      </div>
+    );
+  }
+}
+ 
+const styles = theme => ({
+  pointer: {
+    width: 2,
+    backgroundColor: theme.palette.primary[500],
+    height: '40%',
+    position: 'absolute',
+    left: 'calc(50% - 1px)',
+    bottom: '50%',
+    transformOrigin: 'center bottom 0px',
+  },
+  thumb: {
+    width: 4,
+    height: 4,
+    backgroundColor: theme.palette.common.white,
+    borderRadius: '100%',
+    position: 'absolute',
+    top: -21,
+    left: -15,
+    border: `14px solid ${theme.palette.primary[500]}`,
+    boxSizing: 'content-box',
+  },
+  noPoint: {
+    backgroundColor: theme.palette.primary[500],
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersClockPointer' })(ClockPointer);
+ 
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/HourView.jsx.html b/coverage/lcov-report/src/TimePicker/HourView.jsx.html new file mode 100644 index 00000000000000..04cfca372f8dcb --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/HourView.jsx.html @@ -0,0 +1,200 @@ + + + + Code coverage report for src/TimePicker/HourView.jsx + + + + + + + +
+
+

+ All files / src/TimePicker HourView.jsx +

+
+
+ 66.67% + Statements + 4/6 +
+
+ 100% + Branches + 0/0 +
+
+ 50% + Functions + 1/2 +
+
+ 66.67% + Lines + 4/6 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import Clock from './Clock';
+import { HOURS } from '../constants/clock-types';
+import ClockNumber from './ClockNumber';
+ 
+export default class HourView extends Component {
+  static propTypes = {
+    date: PropTypes.object.isRequired,
+    onChange: PropTypes.func.isRequired,
+  }
+ 
+  handleChange = (hours) => {
+    const updatedDate = this.props.date.clone().hour(hours);
+    this.props.onChange(updatedDate);
+  }
+ 
+  render() {
+    const { date } = this.props;
+ 
+    const value = date.get('hours');
+    const ampmValue = Number(date.format('hh'));
+ 
+    return (
+      <Clock
+        type={HOURS}
+        onChange={this.handleChange}
+        value={value}
+      >
+        <ClockNumber label="12" selected={ampmValue === 12} index={0} />
+        <ClockNumber label="1" selected={ampmValue === 1} index={1} />
+        <ClockNumber label="2" selected={ampmValue === 2} index={2} />
+        <ClockNumber label="3" selected={ampmValue === 3} index={3} />
+        <ClockNumber label="4" selected={ampmValue === 4} index={4} />
+        <ClockNumber label="5" selected={ampmValue === 5} index={5} />
+        <ClockNumber label="6" selected={ampmValue === 6} index={6} />
+        <ClockNumber label="7" selected={ampmValue === 7} index={7} />
+        <ClockNumber label="8" selected={ampmValue === 8} index={8} />
+        <ClockNumber label="9" selected={ampmValue === 9} index={9} />
+        <ClockNumber label="10" selected={ampmValue === 10} index={10} />
+        <ClockNumber label="11" selected={ampmValue === 11} index={11} />
+      </Clock>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html b/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html new file mode 100644 index 00000000000000..1571cc301bf0f5 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html @@ -0,0 +1,191 @@ + + + + Code coverage report for src/TimePicker/MinutesView.jsx + + + + + + + +
+
+

+ All files / src/TimePicker MinutesView.jsx +

+
+
+ 50% + Statements + 2/4 +
+
+ 100% + Branches + 0/0 +
+
+ 50% + Functions + 1/2 +
+
+ 50% + Lines + 2/4 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import Clock from './Clock';
+import { MINUTES } from '../constants/clock-types';
+import ClockNumber from './ClockNumber';
+ 
+export default class MinutesView extends Component {
+  static propTypes = {
+    date: PropTypes.object.isRequired,
+    onChange: PropTypes.func.isRequired,
+  }
+ 
+  handleChange = (minutes) => {
+    const updatedDate = this.props.date.clone().minutes(minutes);
+    this.props.onChange(updatedDate);
+  }
+ 
+  render() {
+    const value = this.props.date.get('minutes');
+ 
+    return (
+      <Clock
+        type={MINUTES}
+        onChange={this.handleChange}
+        value={value}
+      >
+        <ClockNumber label="00" selected={value === 0} index={0} />
+        <ClockNumber label="05" selected={value === 5} index={1} />
+        <ClockNumber label="10" selected={value === 10} index={2} />
+        <ClockNumber label="15" selected={value === 15} index={3} />
+        <ClockNumber label="20" selected={value === 20} index={4} />
+        <ClockNumber label="25" selected={value === 25} index={5} />
+        <ClockNumber label="30" selected={value === 30} index={6} />
+        <ClockNumber label="35" selected={value === 35} index={7} />
+        <ClockNumber label="40" selected={value === 40} index={8} />
+        <ClockNumber label="45" selected={value === 45} index={9} />
+        <ClockNumber label="50" selected={value === 50} index={10} />
+        <ClockNumber label="55" selected={value === 55} index={11} />
+      </Clock>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html b/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html new file mode 100644 index 00000000000000..97c41fcdd017e7 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html @@ -0,0 +1,479 @@ + + + + Code coverage report for src/TimePicker/TimePicker.jsx + + + + + + + +
+
+

+ All files / src/TimePicker TimePicker.jsx +

+
+
+ 13.33% + Statements + 2/15 +
+
+ 0% + Branches + 0/6 +
+
+ 12.5% + Functions + 1/8 +
+
+ 7.14% + Lines + 1/14 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import { withStyles } from 'material-ui';
+import PickerToolbar from '../_shared/PickerToolbar';
+import ToolbarButton from '../_shared/ToolbarButton';
+import HourView from './HourView';
+import MinutesView from './MinutesView';
+ 
+class TimePicker extends Component {
+  static propTypes = {
+    date: PropTypes.object.isRequired,
+    onChange: PropTypes.func.isRequired,
+    classes: PropTypes.object.isRequired,
+  }
+ 
+  state = {
+    isHourViewShown: true,
+    meridiemMode: this.props.date.format('a'),
+  }
+ 
+  setMeridiemMode = mode => () => {
+    this.setState(
+      { meridiemMode: mode },
+      () => this.handleChange(this.props.date),
+    );
+  }
+ 
+  handleChange = (time) => {
+    const { meridiemMode } = this.state;
+ 
+    if (time.format('a') !== meridiemMode) {
+      const hours = meridiemMode === 'am'
+        ? time.hours() - 12
+        : time.hours() + 12;
+ 
+      time = time.clone().hours(hours);
+    }
+ 
+    this.props.onChange(time);
+  }
+ 
+  openMinutesView = () => {
+    this.setState({ isHourViewShown: false });
+  }
+ 
+  openHourView = () => {
+    this.setState({ isHourViewShown: true });
+  }
+ 
+  render() {
+    const { classes, date } = this.props;
+    const { isHourViewShown, meridiemMode } = this.state;
+ 
+    return (
+      <div className={classes.container}>
+        <PickerToolbar className={classes.toolbar}>
+          <ToolbarButton
+            type="display3"
+            onClick={this.openHourView}
+            selected={isHourViewShown}
+            label={date.format('hh')}
+          />
+ 
+          <ToolbarButton
+            type="display3"
+            label=":"
+            selected={false}
+            className={classes.separator}
+          />
+ 
+          <ToolbarButton
+            type="display3"
+            onClick={this.openMinutesView}
+            selected={!isHourViewShown}
+            label={date.format('mm')}
+          />
+ 
+          <div className={classes.ampmSelection}>
+            <ToolbarButton
+              className={classes.ampmLabel}
+              selected={meridiemMode === 'am'}
+              type="subheading"
+              label="AM"
+              onClick={this.setMeridiemMode('am')}
+            />
+            <ToolbarButton
+              className={classes.ampmLabel}
+              selected={meridiemMode === 'pm'}
+              type="subheading"
+              label="PM"
+              onClick={this.setMeridiemMode('pm')}
+            />
+          </div>
+        </PickerToolbar>
+ 
+        {
+          isHourViewShown
+            ?
+              <HourView
+                date={date}
+                onChange={this.handleChange}
+              />
+            :
+              <MinutesView
+                date={date}
+                onChange={this.handleChange}
+              />
+        }
+      </div>
+ 
+    );
+  }
+}
+ 
+const styles = theme => ({
+  container: {
+    width: 300,
+    height: 420,
+  },
+  toolbar: {
+    flexDirection: 'row',
+    alignItems: 'center',
+    paddingLeft: 50,
+  },
+  separator: {
+    margin: '0 2px 0 4px',
+    cursor: 'default',
+  },
+  ampmSelection: {
+    marginLeft: 20,
+    marginRight: -20,
+  },
+  ampmLabel: {
+    fontSize: 18,
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersTimePicker' })(TimePicker);
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html b/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html new file mode 100644 index 00000000000000..fde6b4ad8939d5 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html @@ -0,0 +1,311 @@ + + + + Code coverage report for src/TimePicker/TimePickerModal.jsx + + + + + + + +
+
+

+ All files / src/TimePicker TimePickerModal.jsx +

+
+
+ 27.27% + Statements + 3/11 +
+
+ 0% + Branches + 0/2 +
+
+ 16.67% + Functions + 1/6 +
+
+ 27.27% + Lines + 3/11 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, { PureComponent } from 'react';
+import PropTypes from 'prop-types';
+import moment from 'moment';
+ 
+import DateTextField from '../_shared/DateTextField';
+import ModalDialog from '../_shared/ModalDialog';
+import TimePicker from './TimePicker';
+ 
+export default class TimePickerModal extends PureComponent {
+  static propTypes = {
+    value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
+    format: PropTypes.string,
+    onChange: PropTypes.func.isRequired,
+    autoOk: PropTypes.bool,
+  }
+ 
+  static defaultProps = {
+    value: null,
+    format: 'hh:mm A',
+    autoOk: false,
+  }
+ 
+  state = {
+    open: false,
+    time: moment(this.props.value),
+  }
+ 
+  togglePicker = () => {
+    this.setState({ open: !this.state.open });
+  }
+ 
+  handleChange = (time) => {
+    this.setState({ time }, () => {
+      if (this.props.autoOk) {
+        this.handleAccept();
+      }
+    });
+  }
+ 
+  handleAccept = () => {
+    this.props.onChange(this.state.time);
+    this.togglePicker(); // close
+  }
+ 
+  handleDismiss = () => {
+    this.setState({
+      time: moment(this.props.value),
+    });
+ 
+    this.togglePicker();
+  }
+ 
+  render() {
+    const { time } = this.state;
+    const {
+      value, format, autoOk, onChange,
+      ...other
+    } = this.props;
+ 
+    return (
+      <span>
+        <DateTextField
+          value={value}
+          format={format}
+          onClick={this.togglePicker}
+          {...other}
+        />
+ 
+        <ModalDialog
+          open={this.state.open}
+          onAccept={this.handleAccept}
+          onDismiss={this.handleDismiss}
+        >
+          <TimePicker
+            date={time}
+            onChange={this.handleChange}
+          />
+        </ModalDialog>
+      </span>
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/index.html b/coverage/lcov-report/src/TimePicker/index.html new file mode 100644 index 00000000000000..b5d04ddbb60523 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/index.html @@ -0,0 +1,171 @@ + + + + Code coverage report for src/TimePicker + + + + + + + +
+
+

+ All files src/TimePicker +

+
+
+ 24.66% + Statements + 18/73 +
+
+ 4.55% + Branches + 1/22 +
+
+ 21.88% + Functions + 7/32 +
+
+ 20.29% + Lines + 14/69 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Clock.jsx
9.09%2/220%0/1212.5%1/84.76%1/21
ClockNumber.jsx
37.5%3/850%1/233.33%1/328.57%2/7
ClockPointer.jsx
28.57%2/7100%0/033.33%1/316.67%1/6
HourView.jsx
66.67%4/6100%0/050%1/266.67%4/6
MinutesView.jsx
50%2/4100%0/050%1/250%2/4
TimePicker.jsx
13.33%2/150%0/612.5%1/87.14%1/14
TimePickerModal.jsx
27.27%3/110%0/216.67%1/627.27%3/11
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/utils/index.html b/coverage/lcov-report/src/TimePicker/utils/index.html new file mode 100644 index 00000000000000..31eee9a5453c67 --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/utils/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for src/TimePicker/utils + + + + + + + +
+
+

+ All files src/TimePicker/utils +

+
+
+ 38.1% + Statements + 8/21 +
+
+ 0% + Branches + 0/5 +
+
+ 0% + Functions + 0/4 +
+
+ 40% + Lines + 8/20 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
time-utils.js
38.1%8/210%0/50%0/440%8/20
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html b/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html new file mode 100644 index 00000000000000..0fc3f97b338ffd --- /dev/null +++ b/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html @@ -0,0 +1,191 @@ + + + + Code coverage report for src/TimePicker/utils/time-utils.js + + + + + + + +
+
+

+ All files / src/TimePicker/utils time-utils.js +

+
+
+ 38.1% + Statements + 8/21 +
+
+ 0% + Branches + 0/5 +
+
+ 0% + Functions + 0/4 +
+
+ 40% + Lines + 8/20 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +435x +  +  +  +  +5x +  +  +  +  +5x +5x +  +5x +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +5x +  +  +  +  +  + 
const center = {
+  x: 260 / 2,
+  y: 260 / 2,
+};
+ 
+const basePoint = {
+  x: center.x,
+  y: 0,
+};
+ 
+const cx = basePoint.x - center.x;
+const cy = basePoint.y - center.y;
+ 
+const rad2deg = rad => rad * 57.29577951308232;
+ 
+const getAngleValue = (step, offsetX, offsetY) => {
+  const x = offsetX - center.x;
+  const y = offsetY - center.y;
+ 
+  const atan = Math.atan2(cx, cy) - Math.atan2(x, y);
+ 
+  let deg = rad2deg(atan);
+  deg = Math.round(deg / step) * step;
+  deg %= 360;
+ 
+  const value = Math.floor(deg / step) || 0;
+ 
+  return value;
+};
+ 
+export const getHours = (offsetX, offsetY) => {
+  const value = getAngleValue(30, offsetX, offsetY) || 12;
+ 
+  return value % 12;
+};
+ 
+export const getMinutes = (offsetX, offsetY, step = 6) => {
+  const value = getAngleValue(step, offsetX, offsetY);
+ 
+  return value;
+};
+ 
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/_shared/DateTextField.jsx.html b/coverage/lcov-report/src/_shared/DateTextField.jsx.html new file mode 100644 index 00000000000000..8294b08f3d0457 --- /dev/null +++ b/coverage/lcov-report/src/_shared/DateTextField.jsx.html @@ -0,0 +1,197 @@ + + + + Code coverage report for src/_shared/DateTextField.jsx + + + + + + + +
+
+

+ All files / src/_shared DateTextField.jsx +

+
+
+ 44.44% + Statements + 4/9 +
+
+ 0% + Branches + 0/4 +
+
+ 50% + Functions + 2/4 +
+
+ 44.44% + Lines + 4/9 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +1x +  +  +  +  +  +  +  +  + 
import React, { Component } from 'react';
+import PropTypes from 'prop-types';
+import moment from 'moment';
+import { TextField } from 'material-ui';
+ 
+export default class DateTextField extends Component {
+  static propTypes = {
+    value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired,
+    format: PropTypes.string.isRequired,
+    onChange: PropTypes.func,
+  }
+ 
+  shouldComponentUpdate = nextProps => (
+    this.props.value !== nextProps.value ||
+    this.props.format !== nextProps.format
+  )
+ 
+  getDisplayDate = () => {
+    const { value, format } = this.props;
+ 
+    return moment(value).format(format);
+  }
+ 
+  handleChange = (e) => {
+    const { value } = e.target;
+    const momentValue = moment(value);
+ 
+    if (momentValue.isValid()) {
+      this.props.onChange(momentValue);
+    }
+  }
+ 
+  render() {
+    const { value, format, ...other } = this.props;
+ 
+    return (
+      <TextField
+        value={this.getDisplayDate()}
+        onChange={this.handleChange}
+        {...other}
+      />
+    );
+  }
+}
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/_shared/ModalDialog.jsx.html b/coverage/lcov-report/src/_shared/ModalDialog.jsx.html new file mode 100644 index 00000000000000..284d39e00eb0e5 --- /dev/null +++ b/coverage/lcov-report/src/_shared/ModalDialog.jsx.html @@ -0,0 +1,182 @@ + + + + Code coverage report for src/_shared/ModalDialog.jsx + + + + + + + +
+
+

+ All files / src/_shared ModalDialog.jsx +

+
+
+ 60% + Statements + 3/5 +
+
+ 100% + Branches + 0/0 +
+
+ 0% + Functions + 0/1 +
+
+ 60% + Lines + 3/5 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40  +  +  +  +3x +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +3x +  +  +  +  +  +  +  + 
import React from 'react';
+import PropTypes from 'prop-types';
+import { Dialog, DialogActions, DialogContent, Button, withStyles } from 'material-ui';
+ 
+const styles = {
+  dialog: {
+    '&:first-child': {
+      padding: 0,
+    },
+  },
+};
+ 
+const ModalDialog = (props) => {
+  const {
+    children, classes, onAccept, onDismiss, ...other
+  } = props;
+ 
+  return (
+    <Dialog {...other}>
+      <DialogContent className={classes.dialog}>
+        { children }
+      </DialogContent>
+ 
+      <DialogActions>
+        <Button color="primary" onClick={onAccept}> OK </Button>
+        <Button color="primary" onClick={onDismiss}> Cancel </Button>
+      </DialogActions>
+    </Dialog>
+  );
+};
+ 
+ModalDialog.propTypes = {
+  children: PropTypes.node.isRequired,
+  onAccept: PropTypes.func.isRequired,
+  onDismiss: PropTypes.func.isRequired,
+  classes: PropTypes.object.isRequired,
+};
+ 
+export default withStyles(styles, { name: 'MuiPickersModal' })(ModalDialog);
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html b/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html new file mode 100644 index 00000000000000..5a18f9f6c044d2 --- /dev/null +++ b/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html @@ -0,0 +1,182 @@ + + + + Code coverage report for src/_shared/PickerToolbar.jsx + + + + + + + +
+
+

+ All files / src/_shared PickerToolbar.jsx +

+
+
+ 71.43% + Statements + 5/7 +
+
+ 100% + Branches + 0/0 +
+
+ 50% + Functions + 1/2 +
+
+ 66.67% + Lines + 4/6 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +5x +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import { Toolbar, withStyles } from 'material-ui';
+ 
+const PickerToolbar = (props) => {
+  const {
+    children, className, classes, ...other
+  } = props;
+ 
+  return (
+    <Toolbar className={classnames(classes.toolbar, className)} {...other}>
+      { children }
+    </Toolbar>
+  );
+};
+ 
+PickerToolbar.propTypes = {
+  children: PropTypes.arrayOf(PropTypes.node).isRequired,
+  className: PropTypes.string,
+  classes: PropTypes.object.isRequired,
+};
+ 
+PickerToolbar.defaultProps = {
+  className: '',
+};
+ 
+const styles = theme => ({
+  toolbar: {
+    display: 'flex',
+    flexDirection: 'column',
+    alignItems: 'flex-start',
+    justifyContent: 'center',
+    backgroundColor: theme.palette.primary[500],
+    height: 100,
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersToolbar' })(PickerToolbar);
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html b/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html new file mode 100644 index 00000000000000..c96303479d5990 --- /dev/null +++ b/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html @@ -0,0 +1,185 @@ + + + + Code coverage report for src/_shared/ToolbarButton.jsx + + + + + + + +
+
+

+ All files / src/_shared ToolbarButton.jsx +

+
+
+ 66.67% + Statements + 4/6 +
+
+ 100% + Branches + 0/0 +
+
+ 50% + Functions + 1/2 +
+
+ 60% + Lines + 3/5 +
+
+
+
+

+
+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +  +  +  +  +  +  +5x +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import PropTypes from 'prop-types';
+import classnames from 'classnames';
+import { withStyles, Typography } from 'material-ui';
+ 
+const ToolbarButton = (props) => {
+  const {
+    classes, selected, label, className, ...other
+  } = props;
+ 
+  return (
+    <Typography
+      className={classnames(classes.toolbarBtn, className, {
+        [classes.toolbarBtnSelected]: selected,
+      })}
+      {...other}
+    >
+      { label }
+    </Typography>
+  );
+};
+ 
+ToolbarButton.propTypes = {
+  selected: PropTypes.bool.isRequired,
+  label: PropTypes.string.isRequired,
+  classes: PropTypes.object.isRequired,
+  className: PropTypes.string,
+};
+ 
+const styles = theme => ({
+  toolbarBtn: {
+    cursor: 'pointer',
+    color: theme.palette.common.lightWhite,
+  },
+  toolbarBtnSelected: {
+    color: theme.palette.common.white,
+  },
+});
+ 
+export default withStyles(styles, { name: 'MuiPickersToolbarButton' })(ToolbarButton);
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/_shared/index.html b/coverage/lcov-report/src/_shared/index.html new file mode 100644 index 00000000000000..f5425e39325645 --- /dev/null +++ b/coverage/lcov-report/src/_shared/index.html @@ -0,0 +1,132 @@ + + + + Code coverage report for src/_shared + + + + + + + +
+
+

+ All files src/_shared +

+
+
+ 59.26% + Statements + 16/27 +
+
+ 0% + Branches + 0/4 +
+
+ 44.44% + Functions + 4/9 +
+
+ 56% + Lines + 14/25 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
DateTextField.jsx
44.44%4/90%0/450%2/444.44%4/9
ModalDialog.jsx
60%3/5100%0/00%0/160%3/5
PickerToolbar.jsx
71.43%5/7100%0/050%1/266.67%4/6
ToolbarButton.jsx
66.67%4/6100%0/050%1/260%3/5
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/constants/clock-types.js.html b/coverage/lcov-report/src/constants/clock-types.js.html new file mode 100644 index 00000000000000..cbbb78b54e414a --- /dev/null +++ b/coverage/lcov-report/src/constants/clock-types.js.html @@ -0,0 +1,77 @@ + + + + Code coverage report for src/constants/clock-types.js + + + + + + + +
+
+

+ All files / src/constants clock-types.js +

+
+
+ 100% + Statements + 2/2 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 2/2 +
+
+
+
+

+
+
1 +2 +3 +4 +56x +  +6x +  + 
export const HOURS = 'hours';
+ 
+export const MINUTES = 'minutes';
+ 
+ 
+
+
+ + + + + + + diff --git a/coverage/lcov-report/src/constants/index.html b/coverage/lcov-report/src/constants/index.html new file mode 100644 index 00000000000000..4824341d67f743 --- /dev/null +++ b/coverage/lcov-report/src/constants/index.html @@ -0,0 +1,93 @@ + + + + Code coverage report for src/constants + + + + + + + +
+
+

+ All files src/constants +

+
+
+ 100% + Statements + 2/2 +
+
+ 100% + Branches + 0/0 +
+
+ 100% + Functions + 0/0 +
+
+ 100% + Lines + 2/2 +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
clock-types.js
100%2/2100%0/0100%0/0100%2/2
+
+
+ + + + + + + diff --git a/coverage/lcov.info b/coverage/lcov.info new file mode 100644 index 00000000000000..2760cfa3542975 --- /dev/null +++ b/coverage/lcov.info @@ -0,0 +1,559 @@ +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/__tests__/setup.js +FNF:0 +FNH:0 +DA:1,16 +DA:2,16 +DA:5,16 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/Calendar.jsx +FN:31,(anonymous_0) +FN:35,(anonymous_1) +FN:39,(anonymous_2) +FN:45,(anonymous_3) +FN:52,(anonymous_4) +FN:58,(anonymous_5) +FN:69,(anonymous_6) +FN:77,(anonymous_7) +FN:96,(anonymous_8) +FNF:9 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:1,(anonymous_8) +DA:10,3 +DA:32,0 +DA:36,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:46,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:59,0 +DA:65,0 +DA:69,0 +DA:78,0 +DA:79,0 +DA:81,0 +DA:96,3 +LF:19 +LH:2 +BRDA:62,0,0,0 +BRDA:62,0,1,0 +BRDA:62,0,2,0 +BRDA:62,0,3,0 +BRDA:62,0,4,0 +BRDA:62,0,5,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/CalendarHeader.jsx +FN:6,(anonymous_0) +FN:9,(anonymous_1) +FN:10,(anonymous_2) +FN:29,(anonymous_3) +FN:43,(anonymous_4) +FNF:5 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:1,(anonymous_4) +DA:6,4 +DA:7,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:30,0 +DA:37,4 +DA:43,4 +LF:8 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePicker.jsx +FN:35,(anonymous_0) +FN:39,(anonymous_1) +FN:43,(anonymous_2) +FN:47,(anonymous_3) +FN:51,(anonymous_4) +FN:55,(anonymous_5) +FN:104,(anonymous_6) +FNF:7 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:1,(anonymous_6) +DA:36,0 +DA:40,0 +DA:44,0 +DA:48,0 +DA:52,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:104,2 +LF:9 +LH:1 +BRDA:80,0,0,0 +BRDA:80,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePickerModal.jsx +FN:38,(anonymous_0) +FN:42,(anonymous_1) +FN:43,(anonymous_2) +FN:50,(anonymous_3) +FN:55,(anonymous_4) +FN:63,(anonymous_5) +FNF:6 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:1,(anonymous_5) +DA:39,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:51,0 +DA:52,0 +DA:56,0 +DA:60,0 +DA:64,1 +DA:68,1 +DA:70,1 +LF:11 +LH:3 +BRDA:44,0,0,0 +BRDA:44,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/YearSelection.jsx +FN:21,(anonymous_0) +FN:32,(anonymous_1) +FN:39,(anonymous_2) +FN:49,(anonymous_3) +FN:62,(anonymous_4) +FN:63,(anonymous_5) +FN:75,(anonymous_6) +FNF:7 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:1,(anonymous_6) +DA:8,3 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:33,0 +DA:35,0 +DA:36,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:50,0 +DA:51,0 +DA:56,0 +DA:62,0 +DA:63,0 +DA:75,3 +LF:17 +LH:2 +BRDA:25,0,0,0 +BRDA:25,0,1,0 +BRDA:27,1,0,0 +BRDA:27,1,1,0 +BRDA:53,2,0,0 +BRDA:53,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/Clock.jsx +FN:18,(anonymous_0) +FN:35,(anonymous_1) +FN:39,(anonymous_2) +FN:43,(anonymous_3) +FN:48,(anonymous_4) +FN:56,(anonymous_5) +FN:66,(anonymous_6) +FN:97,(anonymous_7) +FNF:8 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:1,(anonymous_7) +DA:19,0 +DA:21,0 +DA:22,0 +DA:24,0 +DA:25,0 +DA:28,0 +DA:32,0 +DA:36,0 +DA:40,0 +DA:44,0 +DA:45,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:69,0 +DA:71,0 +DA:97,5 +LF:21 +LH:1 +BRDA:21,0,0,0 +BRDA:21,0,1,0 +BRDA:28,1,0,0 +BRDA:28,1,1,0 +BRDA:51,2,0,0 +BRDA:51,2,1,0 +BRDA:51,3,0,0 +BRDA:51,3,1,0 +BRDA:59,4,0,0 +BRDA:59,4,1,0 +BRDA:85,5,0,0 +BRDA:85,5,1,0 +BRF:12 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockNumber.jsx +FN:31,(anonymous_0) +FN:39,(anonymous_1) +FN:59,(anonymous_2) +FNF:3 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:1,(anonymous_2) +DA:8,5 +DA:32,0 +DA:34,0 +DA:42,0 +DA:44,0 +DA:48,0 +DA:59,5 +LF:7 +LH:2 +BRDA:69,0,0,1 +BRDA:69,0,1,0 +BRF:2 +BRH:1 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockPointer.jsx +FN:14,(anonymous_0) +FN:23,(anonymous_1) +FN:37,(anonymous_2) +FNF:3 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:1,(anonymous_2) +DA:15,0 +DA:16,0 +DA:18,0 +DA:24,0 +DA:26,0 +DA:37,6 +LF:6 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/HourView.jsx +FN:13,(anonymous_0) +FN:18,(anonymous_1) +FNF:2 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:1,(anonymous_1) +DA:14,0 +DA:15,0 +DA:19,1 +DA:21,1 +DA:22,1 +DA:24,1 +LF:6 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/MinutesView.jsx +FN:13,(anonymous_0) +FN:18,(anonymous_1) +FNF:2 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:1,(anonymous_1) +DA:14,0 +DA:15,0 +DA:19,1 +DA:21,1 +LF:4 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePicker.jsx +FN:21,(anonymous_0) +FN:21,(anonymous_1) +FN:24,(anonymous_2) +FN:28,(anonymous_3) +FN:42,(anonymous_4) +FN:46,(anonymous_5) +FN:50,(anonymous_6) +FN:115,(anonymous_7) +FNF:8 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:1,(anonymous_7) +DA:21,0 +DA:22,0 +DA:24,0 +DA:29,0 +DA:31,0 +DA:32,0 +DA:36,0 +DA:39,0 +DA:43,0 +DA:47,0 +DA:51,0 +DA:52,0 +DA:54,0 +DA:115,2 +LF:14 +LH:1 +BRDA:31,0,0,0 +BRDA:31,0,1,0 +BRDA:32,1,0,0 +BRDA:32,1,1,0 +BRDA:97,2,0,0 +BRDA:97,2,1,0 +BRF:6 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePickerModal.jsx +FN:28,(anonymous_0) +FN:32,(anonymous_1) +FN:33,(anonymous_2) +FN:40,(anonymous_3) +FN:45,(anonymous_4) +FN:53,(anonymous_5) +FNF:6 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:1,(anonymous_5) +DA:29,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:41,0 +DA:42,0 +DA:46,0 +DA:50,0 +DA:54,1 +DA:58,1 +DA:60,1 +LF:11 +LH:3 +BRDA:34,0,0,0 +BRDA:34,0,1,0 +BRF:2 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/utils/time-utils.js +FN:14,(anonymous_0) +FN:16,(anonymous_1) +FN:31,(anonymous_2) +FN:37,(anonymous_3) +FNF:4 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +DA:1,5 +DA:6,5 +DA:11,5 +DA:12,5 +DA:14,5 +DA:16,5 +DA:17,0 +DA:18,0 +DA:20,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:28,0 +DA:31,5 +DA:32,0 +DA:34,0 +DA:37,5 +DA:38,0 +DA:40,0 +LF:20 +LH:8 +BRDA:26,0,0,0 +BRDA:26,0,1,0 +BRDA:32,1,0,0 +BRDA:32,1,1,0 +BRDA:37,2,0,0 +BRF:5 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/DateTextField.jsx +FN:13,(anonymous_0) +FN:18,(anonymous_1) +FN:24,(anonymous_2) +FN:33,(anonymous_3) +FNF:4 +FNH:2 +FNDA:0,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:1,(anonymous_3) +DA:14,0 +DA:19,1 +DA:21,1 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:34,1 +DA:36,1 +LF:9 +LH:4 +BRDA:14,0,0,0 +BRDA:14,0,1,0 +BRDA:28,1,0,0 +BRDA:28,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/ModalDialog.jsx +FN:13,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:5,3 +DA:13,3 +DA:16,0 +DA:18,0 +DA:32,3 +LF:5 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/PickerToolbar.jsx +FN:6,(anonymous_0) +FN:28,(anonymous_1) +FNF:2 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:1,(anonymous_1) +DA:6,5 +DA:9,0 +DA:11,0 +DA:18,5 +DA:24,5 +DA:28,5 +LF:6 +LH:4 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/ToolbarButton.jsx +FN:6,(anonymous_0) +FN:30,(anonymous_1) +FNF:2 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:1,(anonymous_1) +DA:6,5 +DA:9,0 +DA:11,0 +DA:23,5 +DA:30,5 +LF:5 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:/Users/dmitrij/pat/material-ui-pickers/src/constants/clock-types.js +FNF:0 +FNH:0 +DA:1,6 +DA:3,6 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record diff --git a/package-lock.json b/package-lock.json index 5ddfa14c6af888..c411c99bd9cc0a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -249,8 +249,7 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { "version": "0.2.3", @@ -2211,6 +2210,16 @@ "object-assign": "4.1.1" } }, + "cross-env": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.0.tgz", + "integrity": "sha512-R+0paw9UZQc7odHjIxElqyYotgyMlhcUMTfRxiv4I22grgvS5WOSSfCpyfAZUDhP/c9ShSRv+Hzfxs6fY4JA7g==", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "is-windows": "1.0.1" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -2391,7 +2400,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true, "requires": { "foreach": "2.0.5", "object-keys": "1.0.11" @@ -2622,7 +2630,6 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, "requires": { "iconv-lite": "0.4.19" } @@ -2663,6 +2670,55 @@ "rst-selector-parser": "2.2.3" } }, + "enzyme-adapter-react-15": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-15/-/enzyme-adapter-react-15-1.0.2.tgz", + "integrity": "sha512-po99rkF/m3m0I23sGTNqz/7a/qTESaYZtxEQUVVyGUfBpInn49xUsIeZsn1u5jxrIrFLupVFN2DdF+qhulPZDg==", + "requires": { + "enzyme-adapter-utils": "1.0.1", + "lodash": "4.17.4", + "object.assign": "4.0.4", + "object.values": "1.0.4", + "prop-types": "15.6.0", + "react-test-renderer": "15.6.2" + } + }, + "enzyme-adapter-react-16": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.2.tgz", + "integrity": "sha512-ePlf3ikzau4NatDCzBP1Y/rFgLhR6MnS1YQVrxD2KXFI31nE1HtL+6ciqALF8kHe5q7Y7lFAd1MYOLIriRqgcw==", + "dev": true, + "requires": { + "enzyme-adapter-utils": "1.0.1", + "lodash": "4.17.4", + "object.assign": "4.0.4", + "object.values": "1.0.4", + "prop-types": "15.6.0", + "react-test-renderer": "16.0.0" + }, + "dependencies": { + "react-test-renderer": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.0.0.tgz", + "integrity": "sha1-n+e4MI8vcfKfw1bUECCG8THJyxU=", + "dev": true, + "requires": { + "fbjs": "0.8.16", + "object-assign": "4.1.1" + } + } + } + }, + "enzyme-adapter-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.0.1.tgz", + "integrity": "sha1-/NgSIzOaVaMS91UmQeBFxAQIQAk=", + "requires": { + "lodash": "4.17.4", + "object.assign": "4.0.4", + "prop-types": "15.6.0" + } + }, "errno": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", @@ -2685,7 +2741,6 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", - "dev": true, "requires": { "es-to-primitive": "1.1.1", "function-bind": "1.1.1", @@ -2698,7 +2753,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, "requires": { "is-callable": "1.1.3", "is-date-object": "1.0.1", @@ -3316,7 +3370,6 @@ "version": "0.8.16", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "dev": true, "requires": { "core-js": "1.2.7", "isomorphic-fetch": "2.2.1", @@ -3330,8 +3383,7 @@ "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "dev": true + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" } } }, @@ -3454,8 +3506,7 @@ "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" }, "forever-agent": { "version": "0.6.1", @@ -4400,8 +4451,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.prototype.name": { "version": "1.0.3", @@ -4590,7 +4640,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, "requires": { "function-bind": "1.1.1" } @@ -4743,8 +4792,7 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", - "dev": true + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "ieee754": { "version": "1.1.8", @@ -4914,8 +4962,7 @@ "is-callable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" }, "is-ci": { "version": "1.0.10", @@ -4929,8 +4976,7 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-dotfile": { "version": "1.0.3", @@ -5079,7 +5125,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, "requires": { "has": "1.0.1" } @@ -5096,8 +5141,7 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-subset": { "version": "0.1.1", @@ -5108,8 +5152,7 @@ "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" }, "is-typedarray": { "version": "1.0.0", @@ -5123,6 +5166,12 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-windows": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", + "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -5148,7 +5197,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "dev": true, "requires": { "node-fetch": "1.7.3", "whatwg-fetch": "2.0.3" @@ -6058,8 +6106,7 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { "version": "3.10.0", @@ -6392,8 +6439,7 @@ "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, "lodash.cond": { "version": "4.5.2", @@ -6417,7 +6463,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -6716,7 +6761,6 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "dev": true, "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -6855,8 +6899,7 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-is": { "version": "1.0.1", @@ -6867,14 +6910,12 @@ "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" }, "object.assign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", - "dev": true, "requires": { "define-properties": "1.1.2", "function-bind": "1.1.1", @@ -6907,7 +6948,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", - "dev": true, "requires": { "define-properties": "1.1.2", "es-abstract": "1.9.0", @@ -7295,7 +7335,6 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "dev": true, "requires": { "asap": "2.0.6" } @@ -7304,7 +7343,6 @@ "version": "15.6.0", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", - "dev": true, "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -7556,6 +7594,15 @@ "react-event-listener": "0.5.1" } }, + "react-test-renderer": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-15.6.2.tgz", + "integrity": "sha1-0DM0NPwsQ4CSaWyncNpe1IA376g=", + "requires": { + "fbjs": "0.8.16", + "object-assign": "4.1.1" + } + }, "react-transition-group": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", @@ -7909,12 +7956,6 @@ } } }, - "rollup-plugin-ignore": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-ignore/-/rollup-plugin-ignore-1.0.3.tgz", - "integrity": "sha1-mjyqxnCeSBRxzkSYpIFku8I1nj0=", - "dev": true - }, "rollup-plugin-node-resolve": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz", @@ -8076,8 +8117,7 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { "version": "1.1.0", @@ -8672,8 +8712,7 @@ "ua-parser-js": { "version": "0.7.17", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", - "dev": true + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, "uglify-js": { "version": "2.8.29", @@ -8989,8 +9028,7 @@ "whatwg-fetch": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", - "dev": true + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" }, "whatwg-url": { "version": "4.8.0", diff --git a/package.json b/package.json index 369a79854885a1..1a594acf42a81f 100644 --- a/package.json +++ b/package.json @@ -42,16 +42,11 @@ }, "scripts": { "test": "jest", - "start": "rollup --config --watch", - "build": "rollup --config", + "start": "cross-env NODE_ENV=development rollup --config --watch", + "build": "cross-env NODE_ENV=development rollup --config", "webpack": "webpack" }, "devDependencies": { - "react": "^16.0.0", - "react-dom": "^16.0.0", - "prop-types": "^15.6.0", - "material-ui": "^1.0.0-beta.18", - "classnames": "^2.2.5", "babel-cli": "^6.24.1", "babel-core": "^6.24.1", "babel-eslint": "^8.0.1", @@ -64,14 +59,21 @@ "babel-preset-env": "^1.5.1", "babel-preset-es2015": "^6.24.1", "babel-preset-latest": "^6.24.1", + "classnames": "^2.2.5", + "cross-env": "^5.1.0", "enzyme": "^3.1.0", + "enzyme-adapter-react-16": "^1.0.2", "eslint": "^4.8.0", "eslint-config-airbnb": "^16.0.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.4.0", "jest": "^21.2.1", + "material-ui": "^1.0.0-beta.18", "peer-deps-externals-webpack-plugin": "^1.0.2", + "prop-types": "^15.6.0", + "react": "^16.0.0", + "react-dom": "^16.0.0", "rollup": "^0.50.0", "rollup-plugin-babel": "^3.0.2", "rollup-plugin-commonjs": "^8.2.4", @@ -79,5 +81,10 @@ "rollup-plugin-node-resolve": "^3.0.0", "webpack": "^3.5.1", "webpack-bundle-analyzer": "^2.9.0" + }, + "jest": { + "setupTestFrameworkScriptFile": "/__tests__/setup.js", + "testRegex": "__tests__/.*\\.test\\.js$", + "collectCoverage": true } } diff --git a/src/TimePicker/utils/time-utils.js b/src/TimePicker/utils/time-utils.js index 0a32bdb6bb54b0..c8837aa3c9d14e 100644 --- a/src/TimePicker/utils/time-utils.js +++ b/src/TimePicker/utils/time-utils.js @@ -1,5 +1,3 @@ -import * as clockType from '../../constants/clock-types'; - const center = { x: 260 / 2, y: 260 / 2, From 5a389de46e3d9880d86370a220b70bdffa4173a4 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 26 Oct 2017 10:21:21 +0300 Subject: [PATCH 0031/1801] Add travis.yml --- .eslintrc | 10 +++++++++- .travis.yml | 7 +++++++ coverage/clover.xml | 4 ++-- coverage/lcov-report/__tests__/index.html | 2 +- coverage/lcov-report/__tests__/setup.js.html | 2 +- coverage/lcov-report/index.html | 2 +- .../lcov-report/src/DatePicker/Calendar.jsx.html | 2 +- .../src/DatePicker/CalendarHeader.jsx.html | 2 +- .../lcov-report/src/DatePicker/DatePicker.jsx.html | 2 +- .../src/DatePicker/DatePickerModal.jsx.html | 2 +- .../src/DatePicker/YearSelection.jsx.html | 2 +- coverage/lcov-report/src/DatePicker/index.html | 2 +- coverage/lcov-report/src/TimePicker/Clock.jsx.html | 2 +- .../src/TimePicker/ClockNumber.jsx.html | 2 +- .../src/TimePicker/ClockPointer.jsx.html | 2 +- .../lcov-report/src/TimePicker/HourView.jsx.html | 2 +- .../src/TimePicker/MinutesView.jsx.html | 2 +- .../lcov-report/src/TimePicker/TimePicker.jsx.html | 2 +- .../src/TimePicker/TimePickerModal.jsx.html | 2 +- coverage/lcov-report/src/TimePicker/index.html | 2 +- .../lcov-report/src/TimePicker/utils/index.html | 2 +- .../src/TimePicker/utils/time-utils.js.html | 2 +- .../lcov-report/src/_shared/DateTextField.jsx.html | 2 +- .../lcov-report/src/_shared/ModalDialog.jsx.html | 2 +- .../lcov-report/src/_shared/PickerToolbar.jsx.html | 2 +- .../lcov-report/src/_shared/ToolbarButton.jsx.html | 2 +- coverage/lcov-report/src/_shared/index.html | 2 +- .../lcov-report/src/constants/clock-types.js.html | 2 +- coverage/lcov-report/src/constants/index.html | 2 +- package.json | 3 ++- src/DatePicker/Calendar.jsx | 14 ++++++++++++-- src/DatePicker/DatePicker.jsx | 2 +- src/DatePicker/DatePickerModal.jsx | 10 +++++++++- src/DatePicker/YearSelection.jsx | 2 +- src/TimePicker/Clock.jsx | 4 +++- src/TimePicker/ClockNumber.jsx | 3 +-- src/TimePicker/TimePicker.jsx | 2 +- src/_shared/DateTextField.jsx | 2 +- src/_shared/ToolbarButton.jsx | 4 ++++ src/index.js | 1 - 40 files changed, 79 insertions(+), 41 deletions(-) create mode 100644 .travis.yml diff --git a/.eslintrc b/.eslintrc index 7fa8aa272bf018..f1cdfe8d309bc2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -2,6 +2,14 @@ "extends": "airbnb", "parser": "babel-eslint", "rules": { - "react/forbid-prop-types": 0 + "react/forbid-prop-types": 0, + "react/jsx-filename-extension": 0, + "no-param-reassign": 0 + }, + "globals": { + "document": true + }, + "env": { + "jest": true } } \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000000000..60f9ed3d6af5b6 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,7 @@ +language: node_js +node_js: + - "iojs" + - "8" + +script: + - npm test && npm lint && npm run build \ No newline at end of file diff --git a/coverage/clover.xml b/coverage/clover.xml index 312debbdd152a3..d72b07a8aef948 100644 --- a/coverage/clover.xml +++ b/coverage/clover.xml @@ -1,6 +1,6 @@ - - + + diff --git a/coverage/lcov-report/__tests__/index.html b/coverage/lcov-report/__tests__/index.html index 29ae867fcb1bc7..ab4793a827f959 100644 --- a/coverage/lcov-report/__tests__/index.html +++ b/coverage/lcov-report/__tests__/index.html @@ -77,7 +77,7 @@

diff --git a/coverage/lcov-report/__tests__/setup.js.html b/coverage/lcov-report/__tests__/setup.js.html index 09fd7e404fed2e..50e2b36e422cde 100644 --- a/coverage/lcov-report/__tests__/setup.js.html +++ b/coverage/lcov-report/__tests__/setup.js.html @@ -64,7 +64,7 @@

diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index 6957c36333d345..35ba879a7f806c 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -142,7 +142,7 @@

diff --git a/coverage/lcov-report/src/DatePicker/Calendar.jsx.html b/coverage/lcov-report/src/DatePicker/Calendar.jsx.html index 4a24ad40ce1e73..3e203fe14c4f81 100644 --- a/coverage/lcov-report/src/DatePicker/Calendar.jsx.html +++ b/coverage/lcov-report/src/DatePicker/Calendar.jsx.html @@ -424,7 +424,7 @@

diff --git a/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html b/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html index 509bed26e8c273..aa8260f6f337e6 100644 --- a/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html +++ b/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html @@ -253,7 +253,7 @@

diff --git a/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html b/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html index a642925af6bcc9..b92eb7d16f36c4 100644 --- a/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html +++ b/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html @@ -385,7 +385,7 @@

diff --git a/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html b/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html index 1934a4c2a07211..5f482cc4fded9c 100644 --- a/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html +++ b/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html @@ -340,7 +340,7 @@

diff --git a/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html b/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html index f53e9203d377cc..5f8a6355dcc0bd 100644 --- a/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html +++ b/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html @@ -352,7 +352,7 @@

diff --git a/coverage/lcov-report/src/DatePicker/index.html b/coverage/lcov-report/src/DatePicker/index.html index 150e80b421dd4a..0495f3426a8fb6 100644 --- a/coverage/lcov-report/src/DatePicker/index.html +++ b/coverage/lcov-report/src/DatePicker/index.html @@ -129,7 +129,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/Clock.jsx.html b/coverage/lcov-report/src/TimePicker/Clock.jsx.html index f0eda1ad858295..d12214d30a0a17 100644 --- a/coverage/lcov-report/src/TimePicker/Clock.jsx.html +++ b/coverage/lcov-report/src/TimePicker/Clock.jsx.html @@ -412,7 +412,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html b/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html index 002625645a494a..82f1fecf93bd0a 100644 --- a/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html +++ b/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html @@ -286,7 +286,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html b/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html index 478b60cc9556b0..5a02737dfe9f14 100644 --- a/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html +++ b/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html @@ -241,7 +241,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/HourView.jsx.html b/coverage/lcov-report/src/TimePicker/HourView.jsx.html index 04cfca372f8dcb..bec1258a573949 100644 --- a/coverage/lcov-report/src/TimePicker/HourView.jsx.html +++ b/coverage/lcov-report/src/TimePicker/HourView.jsx.html @@ -184,7 +184,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html b/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html index 1571cc301bf0f5..4c2d152af0f78c 100644 --- a/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html +++ b/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html @@ -175,7 +175,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html b/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html index 97c41fcdd017e7..45983e9716b98a 100644 --- a/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html +++ b/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html @@ -463,7 +463,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html b/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html index fde6b4ad8939d5..1f0778e3e1f8fa 100644 --- a/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html +++ b/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html @@ -295,7 +295,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/index.html b/coverage/lcov-report/src/TimePicker/index.html index b5d04ddbb60523..4c54ddbc474bf2 100644 --- a/coverage/lcov-report/src/TimePicker/index.html +++ b/coverage/lcov-report/src/TimePicker/index.html @@ -155,7 +155,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/utils/index.html b/coverage/lcov-report/src/TimePicker/utils/index.html index 31eee9a5453c67..d1905ebe7c38a6 100644 --- a/coverage/lcov-report/src/TimePicker/utils/index.html +++ b/coverage/lcov-report/src/TimePicker/utils/index.html @@ -77,7 +77,7 @@

diff --git a/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html b/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html index 0fc3f97b338ffd..a96e4c45791a67 100644 --- a/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html +++ b/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html @@ -175,7 +175,7 @@

diff --git a/coverage/lcov-report/src/_shared/DateTextField.jsx.html b/coverage/lcov-report/src/_shared/DateTextField.jsx.html index 8294b08f3d0457..6aa04e6f76fd03 100644 --- a/coverage/lcov-report/src/_shared/DateTextField.jsx.html +++ b/coverage/lcov-report/src/_shared/DateTextField.jsx.html @@ -181,7 +181,7 @@

diff --git a/coverage/lcov-report/src/_shared/ModalDialog.jsx.html b/coverage/lcov-report/src/_shared/ModalDialog.jsx.html index 284d39e00eb0e5..35ff821a523c57 100644 --- a/coverage/lcov-report/src/_shared/ModalDialog.jsx.html +++ b/coverage/lcov-report/src/_shared/ModalDialog.jsx.html @@ -166,7 +166,7 @@

diff --git a/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html b/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html index 5a18f9f6c044d2..124ef63decada8 100644 --- a/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html +++ b/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html @@ -166,7 +166,7 @@

diff --git a/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html b/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html index c96303479d5990..1bf378baeb9e1e 100644 --- a/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html +++ b/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html @@ -169,7 +169,7 @@

diff --git a/coverage/lcov-report/src/_shared/index.html b/coverage/lcov-report/src/_shared/index.html index f5425e39325645..ac421cdc00b1ab 100644 --- a/coverage/lcov-report/src/_shared/index.html +++ b/coverage/lcov-report/src/_shared/index.html @@ -116,7 +116,7 @@

diff --git a/coverage/lcov-report/src/constants/clock-types.js.html b/coverage/lcov-report/src/constants/clock-types.js.html index cbbb78b54e414a..712a9b830940b4 100644 --- a/coverage/lcov-report/src/constants/clock-types.js.html +++ b/coverage/lcov-report/src/constants/clock-types.js.html @@ -61,7 +61,7 @@

diff --git a/coverage/lcov-report/src/constants/index.html b/coverage/lcov-report/src/constants/index.html index 4824341d67f743..5a263b041a16d6 100644 --- a/coverage/lcov-report/src/constants/index.html +++ b/coverage/lcov-report/src/constants/index.html @@ -77,7 +77,7 @@

diff --git a/package.json b/package.json index 1a594acf42a81f..232065eb441ce2 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "test": "jest", "start": "cross-env NODE_ENV=development rollup --config --watch", "build": "cross-env NODE_ENV=development rollup --config", - "webpack": "webpack" + "webpack": "webpack", + "lint": "eslint ./src/**/*.js*" }, "devDependencies": { "babel-cli": "^6.24.1", diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index e1e8cf073f4ca8..a004560c9c57a4 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -36,6 +36,15 @@ class Calendar extends PureComponent { this.setState({ currentMonth: newMonth }); } + shouldDisableDate = (day) => { + const { disableFuture, minDate, maxDate } = this.props; + return ( + (disableFuture && day.isAfter(moment())) || + (minDate && day.isBefore(minDate)) || + (maxDate && day.isAfter(maxDate)) + ); + } + renderWeeks = () => { const { currentMonth } = this.state; const start = currentMonth.clone().startOf('week'); @@ -50,7 +59,8 @@ class Calendar extends PureComponent { } renderDays = (week) => { - const { disableFuture, classes, date, minDate, maxDate } = this.props; + const { classes, date } = this.props; + const end = week.clone().endOf('week'); const currentMonthNumber = this.state.currentMonth.get('month'); @@ -59,7 +69,7 @@ class Calendar extends PureComponent { const dayClass = classnames(classes.day, { [classes.hidden]: day.get('month') !== currentMonthNumber, [classes.selected]: day.toString() === date.toString(), - [classes.disabled]: disableFuture && day.isAfter(moment()) || minDate && day.isBefore(minDate) || maxDate && day.isAfter(maxDate), + [classes.disabled]: this.shouldDisableDate(day), }); return ( diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 99bf604fce2960..b86a892c434918 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -101,7 +101,7 @@ class DatePicker extends PureComponent { } } -const styles = theme => ({ +const styles = () => ({ container: { width: 300, height: 420, diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index bd8b480f5a4dff..409028193923a4 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -63,7 +63,15 @@ export default class DatePickerModal extends PureComponent { render() { const { date } = this.state; const { - value, format, autoOk, onChange, disableFuture, animateYearScrolling, openToYearSelection, minDate, maxDate, + value, + format, + autoOk, + minDate, + maxDate, + onChange, + disableFuture, + animateYearScrolling, + openToYearSelection, ...other } = this.props; diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index 2f4ca5f12e304d..05df6722861ec3 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -85,7 +85,7 @@ const styles = theme => ({ justifyContent: 'center', cursor: 'pointer', outline: 'none', - color: theme.palette.text.primary + color: theme.palette.text.primary, }, selectedYear: { fontSize: 26, diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index 39da496c680303..e431c54dc12158 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -74,6 +74,8 @@ class Clock extends Component { className={classes.clock} >
({ +const styles = () => ({ container: { display: 'flex', justifyContent: 'center', diff --git a/src/TimePicker/ClockNumber.jsx b/src/TimePicker/ClockNumber.jsx index 182e196e2b808e..59ceede87f0464 100644 --- a/src/TimePicker/ClockNumber.jsx +++ b/src/TimePicker/ClockNumber.jsx @@ -3,7 +3,6 @@ import PropTypes from 'prop-types'; import classnames from 'classnames'; import { withStyles } from 'material-ui'; -import * as clockType from '../constants/clock-types'; const positions = [ [0, 5], @@ -68,7 +67,7 @@ const styles = theme => ({ borderRadius: '50%', color: theme.palette.type === 'light' ? theme.palette.text.primary - : theme.palette.text.hint + : theme.palette.text.hint, }, selected: { color: 'white', diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index 18b05e272e5ebb..b5d57975aa6e90 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -112,7 +112,7 @@ class TimePicker extends Component { } } -const styles = theme => ({ +const styles = () => ({ container: { width: 300, height: 420, diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index cfbe5eb8fd7a3e..a347c3fa5e8ef2 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -7,7 +7,7 @@ export default class DateTextField extends Component { static propTypes = { value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired, format: PropTypes.string.isRequired, - onChange: PropTypes.func, + onChange: PropTypes.func.isRequired, } shouldComponentUpdate = nextProps => ( diff --git a/src/_shared/ToolbarButton.jsx b/src/_shared/ToolbarButton.jsx index c9a07db9767dc7..044cb5b843266b 100644 --- a/src/_shared/ToolbarButton.jsx +++ b/src/_shared/ToolbarButton.jsx @@ -27,6 +27,10 @@ ToolbarButton.propTypes = { className: PropTypes.string, }; +ToolbarButton.defaultProps = { + className: '', +}; + const styles = theme => ({ toolbarBtn: { cursor: 'pointer', diff --git a/src/index.js b/src/index.js index d1411371613a89..ae8d7c1693edf9 100644 --- a/src/index.js +++ b/src/index.js @@ -1,4 +1,3 @@ export { default as DatePicker } from './DatePicker/DatePickerModal.jsx'; export { default as TimePicker } from './TimePicker/TimePickerModal.jsx'; - From 34842d21d12e5bad4aff22f2ba173d3136d9e27b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 26 Oct 2017 10:25:32 +0300 Subject: [PATCH 0032/1801] Remove coverage reports, adjust linting command for travis ci --- .gitignore | 3 + .travis.yml | 2 +- coverage/clover.xml | 265 --------- coverage/coverage-final.json | 20 - coverage/lcov-report/__tests__/index.html | 93 --- coverage/lcov-report/__tests__/setup.js.html | 80 --- coverage/lcov-report/base.css | 212 ------- coverage/lcov-report/index.html | 158 ----- coverage/lcov-report/prettify.css | 1 - coverage/lcov-report/prettify.js | 1 - coverage/lcov-report/sort-arrow-sprite.png | Bin 209 -> 0 bytes coverage/lcov-report/sorter.js | 158 ----- .../src/DatePicker/Calendar.jsx.html | 440 -------------- .../src/DatePicker/CalendarHeader.jsx.html | 269 --------- .../src/DatePicker/DatePicker.jsx.html | 401 ------------- .../src/DatePicker/DatePickerModal.jsx.html | 356 ----------- .../src/DatePicker/YearSelection.jsx.html | 368 ------------ .../lcov-report/src/DatePicker/index.html | 145 ----- .../lcov-report/src/TimePicker/Clock.jsx.html | 428 -------------- .../src/TimePicker/ClockNumber.jsx.html | 302 ---------- .../src/TimePicker/ClockPointer.jsx.html | 257 -------- .../src/TimePicker/HourView.jsx.html | 200 ------- .../src/TimePicker/MinutesView.jsx.html | 191 ------ .../src/TimePicker/TimePicker.jsx.html | 479 --------------- .../src/TimePicker/TimePickerModal.jsx.html | 311 ---------- .../lcov-report/src/TimePicker/index.html | 171 ------ .../src/TimePicker/utils/index.html | 93 --- .../src/TimePicker/utils/time-utils.js.html | 191 ------ .../src/_shared/DateTextField.jsx.html | 197 ------ .../src/_shared/ModalDialog.jsx.html | 182 ------ .../src/_shared/PickerToolbar.jsx.html | 182 ------ .../src/_shared/ToolbarButton.jsx.html | 185 ------ coverage/lcov-report/src/_shared/index.html | 132 ----- .../src/constants/clock-types.js.html | 77 --- coverage/lcov-report/src/constants/index.html | 93 --- coverage/lcov.info | 559 ------------------ 36 files changed, 4 insertions(+), 7198 deletions(-) delete mode 100644 coverage/clover.xml delete mode 100644 coverage/coverage-final.json delete mode 100644 coverage/lcov-report/__tests__/index.html delete mode 100644 coverage/lcov-report/__tests__/setup.js.html delete mode 100644 coverage/lcov-report/base.css delete mode 100644 coverage/lcov-report/index.html delete mode 100644 coverage/lcov-report/prettify.css delete mode 100644 coverage/lcov-report/prettify.js delete mode 100644 coverage/lcov-report/sort-arrow-sprite.png delete mode 100644 coverage/lcov-report/sorter.js delete mode 100644 coverage/lcov-report/src/DatePicker/Calendar.jsx.html delete mode 100644 coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html delete mode 100644 coverage/lcov-report/src/DatePicker/DatePicker.jsx.html delete mode 100644 coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html delete mode 100644 coverage/lcov-report/src/DatePicker/YearSelection.jsx.html delete mode 100644 coverage/lcov-report/src/DatePicker/index.html delete mode 100644 coverage/lcov-report/src/TimePicker/Clock.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/HourView.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/MinutesView.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/TimePicker.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html delete mode 100644 coverage/lcov-report/src/TimePicker/index.html delete mode 100644 coverage/lcov-report/src/TimePicker/utils/index.html delete mode 100644 coverage/lcov-report/src/TimePicker/utils/time-utils.js.html delete mode 100644 coverage/lcov-report/src/_shared/DateTextField.jsx.html delete mode 100644 coverage/lcov-report/src/_shared/ModalDialog.jsx.html delete mode 100644 coverage/lcov-report/src/_shared/PickerToolbar.jsx.html delete mode 100644 coverage/lcov-report/src/_shared/ToolbarButton.jsx.html delete mode 100644 coverage/lcov-report/src/_shared/index.html delete mode 100644 coverage/lcov-report/src/constants/clock-types.js.html delete mode 100644 coverage/lcov-report/src/constants/index.html delete mode 100644 coverage/lcov.info diff --git a/.gitignore b/.gitignore index ea2344f500f2b5..91a73bf14316f7 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ npm-debug.log* yarn-debug.log* yarn-error.log* +# coverage +/coverage + # Optional npm cache directory .npm diff --git a/.travis.yml b/.travis.yml index 60f9ed3d6af5b6..689b9c3d2bd7e1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,4 +4,4 @@ node_js: - "8" script: - - npm test && npm lint && npm run build \ No newline at end of file + - npm test && npm run lint && npm run build \ No newline at end of file diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index d72b07a8aef948..00000000000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index 846d0c7fc77f6d..00000000000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,20 +0,0 @@ -{"/Users/dmitrij/pat/material-ui-pickers/__tests__/setup.js": {"path":"/Users/dmitrij/pat/material-ui-pickers/__tests__/setup.js","statementMap":{"0":{"start":{"line":1,"column":15},"end":{"line":1,"column":32}},"1":{"start":{"line":2,"column":22},"end":{"line":2,"column":56}},"2":{"start":{"line":5,"column":0},"end":{"line":5,"column":51}}},"fnMap":{},"branchMap":{},"s":{"0":16,"1":16,"2":16},"f":{},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"4488c509628707460c0cc35672c57201b7be4fd2"} -,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/Calendar.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/Calendar.jsx","statementMap":{"0":{"start":{"line":10,"column":15},"end":{"line":10,"column":35}},"1":{"start":{"line":32,"column":4},"end":{"line":32,"column":29}},"2":{"start":{"line":36,"column":4},"end":{"line":36,"column":46}},"3":{"start":{"line":40,"column":29},"end":{"line":40,"column":39}},"4":{"start":{"line":41,"column":18},"end":{"line":41,"column":54}},"5":{"start":{"line":42,"column":16},"end":{"line":42,"column":65}},"6":{"start":{"line":44,"column":4},"end":{"line":49,"column":9}},"7":{"start":{"line":46,"column":8},"end":{"line":48,"column":14}},"8":{"start":{"line":53,"column":63},"end":{"line":53,"column":73}},"9":{"start":{"line":54,"column":16},"end":{"line":54,"column":42}},"10":{"start":{"line":55,"column":31},"end":{"line":55,"column":67}},"11":{"start":{"line":57,"column":4},"end":{"line":74,"column":9}},"12":{"start":{"line":59,"column":25},"end":{"line":63,"column":10}},"13":{"start":{"line":65,"column":8},"end":{"line":73,"column":10}},"14":{"start":{"line":69,"column":27},"end":{"line":69,"column":49}},"15":{"start":{"line":78,"column":29},"end":{"line":78,"column":39}},"16":{"start":{"line":79,"column":24},"end":{"line":79,"column":34}},"17":{"start":{"line":81,"column":4},"end":{"line":92,"column":6}},"18":{"start":{"line":96,"column":15},"end":{"line":123,"column":2}},"19":{"start":{"line":96,"column":25},"end":{"line":123,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":17},"end":{"line":31,"column":18}},"loc":{"start":{"line":31,"column":26},"end":{"line":33,"column":3}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":22},"end":{"line":35,"column":23}},"loc":{"start":{"line":35,"column":36},"end":{"line":37,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":16},"end":{"line":39,"column":17}},"loc":{"start":{"line":39,"column":22},"end":{"line":50,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":45,"column":11},"end":{"line":45,"column":12}},"loc":{"start":{"line":46,"column":8},"end":{"line":48,"column":14}},"line":46},"4":{"name":"(anonymous_4)","decl":{"start":{"line":52,"column":15},"end":{"line":52,"column":16}},"loc":{"start":{"line":52,"column":25},"end":{"line":75,"column":3}},"line":52},"5":{"name":"(anonymous_5)","decl":{"start":{"line":58,"column":11},"end":{"line":58,"column":12}},"loc":{"start":{"line":58,"column":20},"end":{"line":74,"column":7}},"line":58},"6":{"name":"(anonymous_6)","decl":{"start":{"line":69,"column":21},"end":{"line":69,"column":22}},"loc":{"start":{"line":69,"column":27},"end":{"line":69,"column":49}},"line":69},"7":{"name":"(anonymous_7)","decl":{"start":{"line":77,"column":2},"end":{"line":77,"column":3}},"loc":{"start":{"line":77,"column":11},"end":{"line":93,"column":3}},"line":77},"8":{"name":"(anonymous_8)","decl":{"start":{"line":96,"column":15},"end":{"line":96,"column":16}},"loc":{"start":{"line":96,"column":25},"end":{"line":123,"column":1}},"line":96}},"branchMap":{"0":{"loc":{"start":{"line":62,"column":30},"end":{"line":62,"column":139}},"type":"binary-expr","locations":[{"start":{"line":62,"column":30},"end":{"line":62,"column":43}},{"start":{"line":62,"column":47},"end":{"line":62,"column":68}},{"start":{"line":62,"column":72},"end":{"line":62,"column":79}},{"start":{"line":62,"column":83},"end":{"line":62,"column":104}},{"start":{"line":62,"column":108},"end":{"line":62,"column":115}},{"start":{"line":62,"column":119},"end":{"line":62,"column":139}}],"line":62}},"s":{"0":3,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":3,"19":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1},"b":{"0":[0,0,0,0,0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f7bfaa4165ccdc8922d5926521fd2e15ba1781c9"} -,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/CalendarHeader.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/CalendarHeader.jsx","statementMap":{"0":{"start":{"line":6,"column":23},"end":{"line":35,"column":1}},"1":{"start":{"line":7,"column":51},"end":{"line":7,"column":56}},"2":{"start":{"line":9,"column":26},"end":{"line":9,"column":84}},"3":{"start":{"line":9,"column":32},"end":{"line":9,"column":84}},"4":{"start":{"line":10,"column":30},"end":{"line":10,"column":93}},"5":{"start":{"line":10,"column":36},"end":{"line":10,"column":93}},"6":{"start":{"line":12,"column":2},"end":{"line":34,"column":4}},"7":{"start":{"line":30,"column":10},"end":{"line":30,"column":69}},"8":{"start":{"line":37,"column":0},"end":{"line":41,"column":2}},"9":{"start":{"line":43,"column":15},"end":{"line":65,"column":2}},"10":{"start":{"line":43,"column":25},"end":{"line":65,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":23},"end":{"line":6,"column":24}},"loc":{"start":{"line":6,"column":34},"end":{"line":35,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":9,"column":26},"end":{"line":9,"column":27}},"loc":{"start":{"line":9,"column":32},"end":{"line":9,"column":84}},"line":9},"2":{"name":"(anonymous_2)","decl":{"start":{"line":10,"column":30},"end":{"line":10,"column":31}},"loc":{"start":{"line":10,"column":36},"end":{"line":10,"column":93}},"line":10},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":35},"end":{"line":29,"column":36}},"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":69}},"line":30},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":15},"end":{"line":43,"column":16}},"loc":{"start":{"line":43,"column":25},"end":{"line":65,"column":1}},"line":43}},"branchMap":{},"s":{"0":4,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":4,"9":4,"10":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8aa3e37f45dc1f5d731319b55da54302f0305a30"} -,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePicker.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePicker.jsx","statementMap":{"0":{"start":{"line":36,"column":4},"end":{"line":36,"column":42}},"1":{"start":{"line":40,"column":4},"end":{"line":40,"column":38}},"2":{"start":{"line":44,"column":4},"end":{"line":44,"column":38}},"3":{"start":{"line":48,"column":4},"end":{"line":48,"column":47}},"4":{"start":{"line":52,"column":4},"end":{"line":52,"column":48}},"5":{"start":{"line":58,"column":8},"end":{"line":58,"column":18}},"6":{"start":{"line":59,"column":34},"end":{"line":59,"column":44}},"7":{"start":{"line":61,"column":4},"end":{"line":100,"column":6}},"8":{"start":{"line":104,"column":15},"end":{"line":109,"column":2}},"9":{"start":{"line":104,"column":25},"end":{"line":109,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":35,"column":2},"end":{"line":35,"column":3}},"loc":{"start":{"line":35,"column":13},"end":{"line":37,"column":3}},"line":35},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":16},"end":{"line":41,"column":3}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":2},"end":{"line":43,"column":3}},"loc":{"start":{"line":43,"column":16},"end":{"line":45,"column":3}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":47,"column":22},"end":{"line":47,"column":23}},"loc":{"start":{"line":47,"column":28},"end":{"line":49,"column":3}},"line":47},"4":{"name":"(anonymous_4)","decl":{"start":{"line":51,"column":17},"end":{"line":51,"column":18}},"loc":{"start":{"line":51,"column":23},"end":{"line":53,"column":3}},"line":51},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":2},"end":{"line":55,"column":3}},"loc":{"start":{"line":55,"column":11},"end":{"line":101,"column":3}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":104,"column":15},"end":{"line":104,"column":16}},"loc":{"start":{"line":104,"column":25},"end":{"line":109,"column":1}},"line":104}},"branchMap":{"0":{"loc":{"start":{"line":80,"column":10},"end":{"line":97,"column":16}},"type":"cond-expr","locations":[{"start":{"line":82,"column":14},"end":{"line":89,"column":16}},{"start":{"line":91,"column":14},"end":{"line":97,"column":16}}],"line":80}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":2,"9":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1},"b":{"0":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e25222dbb33f63d49045e3d655977b3489febd98"} -,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePickerModal.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePickerModal.jsx","statementMap":{"0":{"start":{"line":39,"column":4},"end":{"line":39,"column":46}},"1":{"start":{"line":43,"column":4},"end":{"line":47,"column":7}},"2":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"3":{"start":{"line":45,"column":8},"end":{"line":45,"column":28}},"4":{"start":{"line":51,"column":4},"end":{"line":51,"column":41}},"5":{"start":{"line":52,"column":4},"end":{"line":52,"column":24}},"6":{"start":{"line":56,"column":4},"end":{"line":58,"column":7}},"7":{"start":{"line":60,"column":4},"end":{"line":60,"column":24}},"8":{"start":{"line":64,"column":21},"end":{"line":64,"column":31}},"9":{"start":{"line":68,"column":8},"end":{"line":68,"column":18}},"10":{"start":{"line":70,"column":4},"end":{"line":95,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":38,"column":17},"end":{"line":38,"column":18}},"loc":{"start":{"line":38,"column":23},"end":{"line":40,"column":3}},"line":38},"1":{"name":"(anonymous_1)","decl":{"start":{"line":42,"column":17},"end":{"line":42,"column":18}},"loc":{"start":{"line":42,"column":27},"end":{"line":48,"column":3}},"line":42},"2":{"name":"(anonymous_2)","decl":{"start":{"line":43,"column":28},"end":{"line":43,"column":29}},"loc":{"start":{"line":43,"column":34},"end":{"line":47,"column":5}},"line":43},"3":{"name":"(anonymous_3)","decl":{"start":{"line":50,"column":17},"end":{"line":50,"column":18}},"loc":{"start":{"line":50,"column":23},"end":{"line":53,"column":3}},"line":50},"4":{"name":"(anonymous_4)","decl":{"start":{"line":55,"column":18},"end":{"line":55,"column":19}},"loc":{"start":{"line":55,"column":24},"end":{"line":61,"column":3}},"line":55},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":2},"end":{"line":63,"column":3}},"loc":{"start":{"line":63,"column":11},"end":{"line":96,"column":3}},"line":63}},"branchMap":{"0":{"loc":{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},"type":"if","locations":[{"start":{"line":44,"column":6},"end":{"line":46,"column":7}},{"start":{"line":44,"column":6},"end":{"line":46,"column":7}}],"line":44}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a12e54379f0cc9850c2bc3b1e89b2d2083023a68"} -,"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/YearSelection.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/YearSelection.jsx","statementMap":{"0":{"start":{"line":8,"column":15},"end":{"line":8,"column":35}},"1":{"start":{"line":22,"column":37},"end":{"line":22,"column":47}},"2":{"start":{"line":23,"column":31},"end":{"line":23,"column":98}},"3":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"4":{"start":{"line":26,"column":6},"end":{"line":28,"column":9}},"5":{"start":{"line":33,"column":31},"end":{"line":33,"column":41}},"6":{"start":{"line":35,"column":20},"end":{"line":35,"column":50}},"7":{"start":{"line":36,"column":4},"end":{"line":36,"column":22}},"8":{"start":{"line":42,"column":8},"end":{"line":42,"column":18}},"9":{"start":{"line":43,"column":24},"end":{"line":43,"column":40}},"10":{"start":{"line":45,"column":4},"end":{"line":71,"column":6}},"11":{"start":{"line":50,"column":33},"end":{"line":50,"column":49}},"12":{"start":{"line":51,"column":32},"end":{"line":54,"column":16}},"13":{"start":{"line":56,"column":14},"end":{"line":67,"column":16}},"14":{"start":{"line":62,"column":33},"end":{"line":62,"column":62}},"15":{"start":{"line":63,"column":36},"end":{"line":63,"column":65}},"16":{"start":{"line":75,"column":15},"end":{"line":99,"column":2}},"17":{"start":{"line":75,"column":25},"end":{"line":99,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":22},"end":{"line":21,"column":23}},"loc":{"start":{"line":21,"column":28},"end":{"line":30,"column":3}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":17},"end":{"line":32,"column":18}},"loc":{"start":{"line":32,"column":27},"end":{"line":37,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":11},"end":{"line":72,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":49,"column":17},"end":{"line":49,"column":18}},"loc":{"start":{"line":49,"column":27},"end":{"line":68,"column":13}},"line":49},"4":{"name":"(anonymous_4)","decl":{"start":{"line":62,"column":27},"end":{"line":62,"column":28}},"loc":{"start":{"line":62,"column":33},"end":{"line":62,"column":62}},"line":62},"5":{"name":"(anonymous_5)","decl":{"start":{"line":63,"column":30},"end":{"line":63,"column":31}},"loc":{"start":{"line":63,"column":36},"end":{"line":63,"column":65}},"line":63},"6":{"name":"(anonymous_6)","decl":{"start":{"line":75,"column":15},"end":{"line":75,"column":16}},"loc":{"start":{"line":75,"column":25},"end":{"line":99,"column":1}},"line":75}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},"type":"if","locations":[{"start":{"line":25,"column":4},"end":{"line":29,"column":5}},{"start":{"line":25,"column":4},"end":{"line":29,"column":5}}],"line":25},"1":{"loc":{"start":{"line":27,"column":18},"end":{"line":27,"column":58}},"type":"cond-expr","locations":[{"start":{"line":27,"column":41},"end":{"line":27,"column":49}},{"start":{"line":27,"column":52},"end":{"line":27,"column":58}}],"line":27},"2":{"loc":{"start":{"line":53,"column":36},"end":{"line":53,"column":75}},"type":"binary-expr","locations":[{"start":{"line":53,"column":36},"end":{"line":53,"column":49}},{"start":{"line":53,"column":53},"end":{"line":53,"column":75}}],"line":53}},"s":{"0":3,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":3,"17":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"9f0a58699ac80517d4d72b0db91d5db0f9bfe204"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/Clock.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/Clock.jsx","statementMap":{"0":{"start":{"line":19,"column":31},"end":{"line":19,"column":32}},"1":{"start":{"line":21,"column":4},"end":{"line":26,"column":5}},"2":{"start":{"line":22,"column":19},"end":{"line":22,"column":51}},"3":{"start":{"line":24,"column":6},"end":{"line":24,"column":56}},"4":{"start":{"line":25,"column":6},"end":{"line":25,"column":55}},"5":{"start":{"line":28,"column":18},"end":{"line":30,"column":34}},"6":{"start":{"line":32,"column":4},"end":{"line":32,"column":31}},"7":{"start":{"line":36,"column":4},"end":{"line":36,"column":20}},"8":{"start":{"line":40,"column":4},"end":{"line":40,"column":28}},"9":{"start":{"line":44,"column":4},"end":{"line":44,"column":27}},"10":{"start":{"line":45,"column":4},"end":{"line":45,"column":42}},"11":{"start":{"line":49,"column":4},"end":{"line":49,"column":23}},"12":{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},"13":{"start":{"line":52,"column":6},"end":{"line":52,"column":41}},"14":{"start":{"line":57,"column":28},"end":{"line":57,"column":38}},"15":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"16":{"start":{"line":60,"column":6},"end":{"line":60,"column":18}},"17":{"start":{"line":63,"column":4},"end":{"line":63,"column":27}},"18":{"start":{"line":69,"column":8},"end":{"line":69,"column":18}},"19":{"start":{"line":71,"column":4},"end":{"line":93,"column":6}},"20":{"start":{"line":97,"column":15},"end":{"line":118,"column":2}},"21":{"start":{"line":97,"column":25},"end":{"line":118,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":13},"end":{"line":33,"column":3}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":35,"column":20},"end":{"line":35,"column":21}},"loc":{"start":{"line":35,"column":27},"end":{"line":37,"column":3}},"line":35},"2":{"name":"(anonymous_2)","decl":{"start":{"line":39,"column":19},"end":{"line":39,"column":20}},"loc":{"start":{"line":39,"column":26},"end":{"line":41,"column":3}},"line":39},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":13},"end":{"line":43,"column":14}},"loc":{"start":{"line":43,"column":24},"end":{"line":46,"column":3}},"line":43},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":15},"end":{"line":48,"column":16}},"loc":{"start":{"line":48,"column":22},"end":{"line":54,"column":3}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":56,"column":16},"end":{"line":56,"column":17}},"loc":{"start":{"line":56,"column":22},"end":{"line":64,"column":3}},"line":56},"6":{"name":"(anonymous_6)","decl":{"start":{"line":66,"column":2},"end":{"line":66,"column":3}},"loc":{"start":{"line":66,"column":11},"end":{"line":94,"column":3}},"line":66},"7":{"name":"(anonymous_7)","decl":{"start":{"line":97,"column":15},"end":{"line":97,"column":16}},"loc":{"start":{"line":97,"column":25},"end":{"line":118,"column":1}},"line":97}},"branchMap":{"0":{"loc":{"start":{"line":21,"column":4},"end":{"line":26,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":26,"column":5}},{"start":{"line":21,"column":4},"end":{"line":26,"column":5}}],"line":21},"1":{"loc":{"start":{"line":28,"column":18},"end":{"line":30,"column":34}},"type":"cond-expr","locations":[{"start":{"line":29,"column":8},"end":{"line":29,"column":36}},{"start":{"line":30,"column":8},"end":{"line":30,"column":34}}],"line":28},"2":{"loc":{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},"type":"if","locations":[{"start":{"line":51,"column":4},"end":{"line":53,"column":5}},{"start":{"line":51,"column":4},"end":{"line":53,"column":5}}],"line":51},"3":{"loc":{"start":{"line":51,"column":8},"end":{"line":51,"column":52}},"type":"binary-expr","locations":[{"start":{"line":51,"column":8},"end":{"line":51,"column":23}},{"start":{"line":51,"column":27},"end":{"line":51,"column":52}}],"line":51},"4":{"loc":{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},"type":"if","locations":[{"start":{"line":59,"column":4},"end":{"line":61,"column":5}},{"start":{"line":59,"column":4},"end":{"line":61,"column":5}}],"line":59},"5":{"loc":{"start":{"line":85,"column":17},"end":{"line":85,"column":51}},"type":"cond-expr","locations":[{"start":{"line":85,"column":44},"end":{"line":85,"column":46}},{"start":{"line":85,"column":49},"end":{"line":85,"column":51}}],"line":85}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":5,"21":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e68b2ea2bed02ea018d71cb7650dc31aac6267a4"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockNumber.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockNumber.jsx","statementMap":{"0":{"start":{"line":8,"column":18},"end":{"line":21,"column":1}},"1":{"start":{"line":32,"column":21},"end":{"line":32,"column":37}},"2":{"start":{"line":34,"column":4},"end":{"line":36,"column":6}},"3":{"start":{"line":42,"column":8},"end":{"line":42,"column":18}},"4":{"start":{"line":44,"column":22},"end":{"line":46,"column":6}},"5":{"start":{"line":48,"column":4},"end":{"line":55,"column":6}},"6":{"start":{"line":59,"column":15},"end":{"line":76,"column":2}},"7":{"start":{"line":59,"column":25},"end":{"line":76,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":31,"column":22},"end":{"line":31,"column":23}},"loc":{"start":{"line":31,"column":33},"end":{"line":37,"column":3}},"line":31},"1":{"name":"(anonymous_1)","decl":{"start":{"line":39,"column":2},"end":{"line":39,"column":3}},"loc":{"start":{"line":39,"column":11},"end":{"line":56,"column":3}},"line":39},"2":{"name":"(anonymous_2)","decl":{"start":{"line":59,"column":15},"end":{"line":59,"column":16}},"loc":{"start":{"line":59,"column":25},"end":{"line":76,"column":1}},"line":59}},"branchMap":{"0":{"loc":{"start":{"line":69,"column":11},"end":{"line":71,"column":31}},"type":"cond-expr","locations":[{"start":{"line":70,"column":8},"end":{"line":70,"column":34}},{"start":{"line":71,"column":8},"end":{"line":71,"column":31}}],"line":69}},"s":{"0":5,"1":0,"2":0,"3":0,"4":0,"5":0,"6":5,"7":1},"f":{"0":0,"1":0,"2":1},"b":{"0":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8636d0e66847f4d936a3893ce1cf02b867a1f1ae"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockPointer.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockPointer.jsx","statementMap":{"0":{"start":{"line":15,"column":27},"end":{"line":15,"column":37}},"1":{"start":{"line":16,"column":18},"end":{"line":16,"column":37}},"2":{"start":{"line":18,"column":4},"end":{"line":20,"column":6}},"3":{"start":{"line":24,"column":37},"end":{"line":24,"column":47}},"4":{"start":{"line":26,"column":4},"end":{"line":33,"column":6}},"5":{"start":{"line":37,"column":15},"end":{"line":61,"column":2}},"6":{"start":{"line":37,"column":25},"end":{"line":61,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":18},"end":{"line":14,"column":19}},"loc":{"start":{"line":14,"column":24},"end":{"line":21,"column":3}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":2},"end":{"line":23,"column":3}},"loc":{"start":{"line":23,"column":11},"end":{"line":34,"column":3}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":37,"column":15},"end":{"line":37,"column":16}},"loc":{"start":{"line":37,"column":25},"end":{"line":61,"column":1}},"line":37}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":6,"6":1},"f":{"0":0,"1":0,"2":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"981ce9b6edeac743c41cd2d8b03ff1cdfd911b81"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/HourView.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/HourView.jsx","statementMap":{"0":{"start":{"line":14,"column":24},"end":{"line":14,"column":59}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"2":{"start":{"line":19,"column":21},"end":{"line":19,"column":31}},"3":{"start":{"line":21,"column":18},"end":{"line":21,"column":35}},"4":{"start":{"line":22,"column":22},"end":{"line":22,"column":47}},"5":{"start":{"line":24,"column":4},"end":{"line":43,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":28},"end":{"line":16,"column":3}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":11},"end":{"line":44,"column":3}},"line":18}},"branchMap":{},"s":{"0":0,"1":0,"2":1,"3":1,"4":1,"5":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"0c570ceda70aaee53e4ebe71bca08511ece8d547"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/MinutesView.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/MinutesView.jsx","statementMap":{"0":{"start":{"line":14,"column":24},"end":{"line":14,"column":64}},"1":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},"2":{"start":{"line":19,"column":18},"end":{"line":19,"column":48}},"3":{"start":{"line":21,"column":4},"end":{"line":40,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":18}},"loc":{"start":{"line":13,"column":30},"end":{"line":16,"column":3}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":2},"end":{"line":18,"column":3}},"loc":{"start":{"line":18,"column":11},"end":{"line":41,"column":3}},"line":18}},"branchMap":{},"s":{"0":0,"1":0,"2":1,"3":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"d2b214cfad73b617323d5f3c55dd296ea16d459b"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePicker.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePicker.jsx","statementMap":{"0":{"start":{"line":21,"column":28},"end":{"line":26,"column":3}},"1":{"start":{"line":22,"column":4},"end":{"line":25,"column":6}},"2":{"start":{"line":24,"column":12},"end":{"line":24,"column":46}},"3":{"start":{"line":29,"column":29},"end":{"line":29,"column":39}},"4":{"start":{"line":31,"column":4},"end":{"line":37,"column":5}},"5":{"start":{"line":32,"column":20},"end":{"line":34,"column":27}},"6":{"start":{"line":36,"column":6},"end":{"line":36,"column":39}},"7":{"start":{"line":39,"column":4},"end":{"line":39,"column":30}},"8":{"start":{"line":43,"column":4},"end":{"line":43,"column":46}},"9":{"start":{"line":47,"column":4},"end":{"line":47,"column":45}},"10":{"start":{"line":51,"column":30},"end":{"line":51,"column":40}},"11":{"start":{"line":52,"column":46},"end":{"line":52,"column":56}},"12":{"start":{"line":54,"column":4},"end":{"line":111,"column":6}},"13":{"start":{"line":115,"column":15},"end":{"line":136,"column":2}},"14":{"start":{"line":115,"column":25},"end":{"line":136,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":20},"end":{"line":21,"column":21}},"loc":{"start":{"line":21,"column":28},"end":{"line":26,"column":3}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":28},"end":{"line":21,"column":29}},"loc":{"start":{"line":21,"column":34},"end":{"line":26,"column":3}},"line":21},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":6},"end":{"line":24,"column":7}},"loc":{"start":{"line":24,"column":12},"end":{"line":24,"column":46}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":28,"column":17},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":27},"end":{"line":40,"column":3}},"line":28},"4":{"name":"(anonymous_4)","decl":{"start":{"line":42,"column":20},"end":{"line":42,"column":21}},"loc":{"start":{"line":42,"column":26},"end":{"line":44,"column":3}},"line":42},"5":{"name":"(anonymous_5)","decl":{"start":{"line":46,"column":17},"end":{"line":46,"column":18}},"loc":{"start":{"line":46,"column":23},"end":{"line":48,"column":3}},"line":46},"6":{"name":"(anonymous_6)","decl":{"start":{"line":50,"column":2},"end":{"line":50,"column":3}},"loc":{"start":{"line":50,"column":11},"end":{"line":112,"column":3}},"line":50},"7":{"name":"(anonymous_7)","decl":{"start":{"line":115,"column":15},"end":{"line":115,"column":16}},"loc":{"start":{"line":115,"column":25},"end":{"line":136,"column":1}},"line":115}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":4},"end":{"line":37,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":37,"column":5}},{"start":{"line":31,"column":4},"end":{"line":37,"column":5}}],"line":31},"1":{"loc":{"start":{"line":32,"column":20},"end":{"line":34,"column":27}},"type":"cond-expr","locations":[{"start":{"line":33,"column":10},"end":{"line":33,"column":27}},{"start":{"line":34,"column":10},"end":{"line":34,"column":27}}],"line":32},"2":{"loc":{"start":{"line":97,"column":10},"end":{"line":107,"column":16}},"type":"cond-expr","locations":[{"start":{"line":99,"column":14},"end":{"line":102,"column":16}},{"start":{"line":104,"column":14},"end":{"line":107,"column":16}}],"line":97}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":2,"14":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":1},"b":{"0":[0,0],"1":[0,0],"2":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"fe15dbaf04b198c308e5677cc341584710280b3a"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePickerModal.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePickerModal.jsx","statementMap":{"0":{"start":{"line":29,"column":4},"end":{"line":29,"column":46}},"1":{"start":{"line":33,"column":4},"end":{"line":37,"column":7}},"2":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"3":{"start":{"line":35,"column":8},"end":{"line":35,"column":28}},"4":{"start":{"line":41,"column":4},"end":{"line":41,"column":41}},"5":{"start":{"line":42,"column":4},"end":{"line":42,"column":24}},"6":{"start":{"line":46,"column":4},"end":{"line":48,"column":7}},"7":{"start":{"line":50,"column":4},"end":{"line":50,"column":24}},"8":{"start":{"line":54,"column":21},"end":{"line":54,"column":31}},"9":{"start":{"line":58,"column":8},"end":{"line":58,"column":18}},"10":{"start":{"line":60,"column":4},"end":{"line":80,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":28,"column":17},"end":{"line":28,"column":18}},"loc":{"start":{"line":28,"column":23},"end":{"line":30,"column":3}},"line":28},"1":{"name":"(anonymous_1)","decl":{"start":{"line":32,"column":17},"end":{"line":32,"column":18}},"loc":{"start":{"line":32,"column":27},"end":{"line":38,"column":3}},"line":32},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":28},"end":{"line":33,"column":29}},"loc":{"start":{"line":33,"column":34},"end":{"line":37,"column":5}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":40,"column":17},"end":{"line":40,"column":18}},"loc":{"start":{"line":40,"column":23},"end":{"line":43,"column":3}},"line":40},"4":{"name":"(anonymous_4)","decl":{"start":{"line":45,"column":18},"end":{"line":45,"column":19}},"loc":{"start":{"line":45,"column":24},"end":{"line":51,"column":3}},"line":45},"5":{"name":"(anonymous_5)","decl":{"start":{"line":53,"column":2},"end":{"line":53,"column":3}},"loc":{"start":{"line":53,"column":11},"end":{"line":81,"column":3}},"line":53}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},"type":"if","locations":[{"start":{"line":34,"column":6},"end":{"line":36,"column":7}},{"start":{"line":34,"column":6},"end":{"line":36,"column":7}}],"line":34}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":1,"9":1,"10":1},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":1},"b":{"0":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"3afc8ca5170ae738620faa0ddd80b8698d6ef8af"} -,"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/utils/time-utils.js": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/utils/time-utils.js","statementMap":{"0":{"start":{"line":1,"column":15},"end":{"line":4,"column":1}},"1":{"start":{"line":6,"column":18},"end":{"line":9,"column":1}},"2":{"start":{"line":11,"column":11},"end":{"line":11,"column":33}},"3":{"start":{"line":12,"column":11},"end":{"line":12,"column":33}},"4":{"start":{"line":14,"column":16},"end":{"line":14,"column":46}},"5":{"start":{"line":14,"column":23},"end":{"line":14,"column":46}},"6":{"start":{"line":16,"column":22},"end":{"line":29,"column":1}},"7":{"start":{"line":17,"column":12},"end":{"line":17,"column":30}},"8":{"start":{"line":18,"column":12},"end":{"line":18,"column":30}},"9":{"start":{"line":20,"column":15},"end":{"line":20,"column":52}},"10":{"start":{"line":22,"column":12},"end":{"line":22,"column":25}},"11":{"start":{"line":23,"column":2},"end":{"line":23,"column":38}},"12":{"start":{"line":24,"column":2},"end":{"line":24,"column":13}},"13":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"14":{"start":{"line":28,"column":2},"end":{"line":28,"column":15}},"15":{"start":{"line":31,"column":24},"end":{"line":35,"column":1}},"16":{"start":{"line":32,"column":16},"end":{"line":32,"column":57}},"17":{"start":{"line":34,"column":2},"end":{"line":34,"column":20}},"18":{"start":{"line":37,"column":26},"end":{"line":41,"column":1}},"19":{"start":{"line":38,"column":16},"end":{"line":38,"column":53}},"20":{"start":{"line":40,"column":2},"end":{"line":40,"column":15}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":14,"column":16},"end":{"line":14,"column":17}},"loc":{"start":{"line":14,"column":23},"end":{"line":14,"column":46}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":22},"end":{"line":16,"column":23}},"loc":{"start":{"line":16,"column":50},"end":{"line":29,"column":1}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":31,"column":24},"end":{"line":31,"column":25}},"loc":{"start":{"line":31,"column":46},"end":{"line":35,"column":1}},"line":31},"3":{"name":"(anonymous_3)","decl":{"start":{"line":37,"column":26},"end":{"line":37,"column":27}},"loc":{"start":{"line":37,"column":58},"end":{"line":41,"column":1}},"line":37}},"branchMap":{"0":{"loc":{"start":{"line":26,"column":16},"end":{"line":26,"column":43}},"type":"binary-expr","locations":[{"start":{"line":26,"column":16},"end":{"line":26,"column":38}},{"start":{"line":26,"column":42},"end":{"line":26,"column":43}}],"line":26},"1":{"loc":{"start":{"line":32,"column":16},"end":{"line":32,"column":57}},"type":"binary-expr","locations":[{"start":{"line":32,"column":16},"end":{"line":32,"column":51}},{"start":{"line":32,"column":55},"end":{"line":32,"column":57}}],"line":32},"2":{"loc":{"start":{"line":37,"column":45},"end":{"line":37,"column":53}},"type":"default-arg","locations":[{"start":{"line":37,"column":52},"end":{"line":37,"column":53}}],"line":37}},"s":{"0":5,"1":5,"2":5,"3":5,"4":5,"5":0,"6":5,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":5,"16":0,"17":0,"18":5,"19":0,"20":0},"f":{"0":0,"1":0,"2":0,"3":0},"b":{"0":[0,0],"1":[0,0],"2":[0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f4182a56f4f29d6aa2c3071887a1db1fe87a6852"} -,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/DateTextField.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/DateTextField.jsx","statementMap":{"0":{"start":{"line":14,"column":4},"end":{"line":15,"column":42}},"1":{"start":{"line":19,"column":30},"end":{"line":19,"column":40}},"2":{"start":{"line":21,"column":4},"end":{"line":21,"column":40}},"3":{"start":{"line":25,"column":22},"end":{"line":25,"column":30}},"4":{"start":{"line":26,"column":24},"end":{"line":26,"column":37}},"5":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"6":{"start":{"line":29,"column":6},"end":{"line":29,"column":39}},"7":{"start":{"line":34,"column":40},"end":{"line":34,"column":50}},"8":{"start":{"line":36,"column":4},"end":{"line":42,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":26},"end":{"line":13,"column":27}},"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":42}},"line":14},"1":{"name":"(anonymous_1)","decl":{"start":{"line":18,"column":19},"end":{"line":18,"column":20}},"loc":{"start":{"line":18,"column":25},"end":{"line":22,"column":3}},"line":18},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":17},"end":{"line":24,"column":18}},"loc":{"start":{"line":24,"column":24},"end":{"line":31,"column":3}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":2},"end":{"line":33,"column":3}},"loc":{"start":{"line":33,"column":11},"end":{"line":43,"column":3}},"line":33}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":15,"column":42}},"type":"binary-expr","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":40}},{"start":{"line":15,"column":4},"end":{"line":15,"column":42}}],"line":14},"1":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{"line":28,"column":4},"end":{"line":30,"column":5}}],"line":28}},"s":{"0":0,"1":1,"2":1,"3":0,"4":0,"5":0,"6":0,"7":1,"8":1},"f":{"0":0,"1":1,"2":0,"3":1},"b":{"0":[0,0],"1":[0,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"c0261dcea76f3d1c9754a6f48fdc08a82ddf89c7"} -,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ModalDialog.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ModalDialog.jsx","statementMap":{"0":{"start":{"line":5,"column":15},"end":{"line":11,"column":1}},"1":{"start":{"line":13,"column":20},"end":{"line":30,"column":1}},"2":{"start":{"line":16,"column":6},"end":{"line":16,"column":11}},"3":{"start":{"line":18,"column":2},"end":{"line":29,"column":4}},"4":{"start":{"line":32,"column":0},"end":{"line":37,"column":2}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":20},"end":{"line":13,"column":21}},"loc":{"start":{"line":13,"column":31},"end":{"line":30,"column":1}},"line":13}},"branchMap":{},"s":{"0":3,"1":3,"2":0,"3":0,"4":3},"f":{"0":0},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"e272a6ffff51ecce29076049650af49702c615a9"} -,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/PickerToolbar.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/PickerToolbar.jsx","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":16,"column":1}},"1":{"start":{"line":9,"column":6},"end":{"line":9,"column":11}},"2":{"start":{"line":11,"column":2},"end":{"line":15,"column":4}},"3":{"start":{"line":18,"column":0},"end":{"line":22,"column":2}},"4":{"start":{"line":24,"column":0},"end":{"line":26,"column":2}},"5":{"start":{"line":28,"column":15},"end":{"line":37,"column":2}},"6":{"start":{"line":28,"column":25},"end":{"line":37,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":33},"end":{"line":16,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":15},"end":{"line":28,"column":16}},"loc":{"start":{"line":28,"column":25},"end":{"line":37,"column":1}},"line":28}},"branchMap":{},"s":{"0":5,"1":0,"2":0,"3":5,"4":5,"5":5,"6":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"16e5e0ea319a0221766f0304361557e770e83a58"} -,"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ToolbarButton.jsx": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/_shared/ToolbarButton.jsx","statementMap":{"0":{"start":{"line":6,"column":22},"end":{"line":21,"column":1}},"1":{"start":{"line":9,"column":6},"end":{"line":9,"column":11}},"2":{"start":{"line":11,"column":2},"end":{"line":20,"column":4}},"3":{"start":{"line":23,"column":0},"end":{"line":28,"column":2}},"4":{"start":{"line":30,"column":15},"end":{"line":38,"column":2}},"5":{"start":{"line":30,"column":25},"end":{"line":38,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":22},"end":{"line":6,"column":23}},"loc":{"start":{"line":6,"column":33},"end":{"line":21,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":30,"column":15},"end":{"line":30,"column":16}},"loc":{"start":{"line":30,"column":25},"end":{"line":38,"column":1}},"line":30}},"branchMap":{},"s":{"0":5,"1":0,"2":0,"3":5,"4":5,"5":1},"f":{"0":0,"1":1},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"7bfb9950c3cb95db25397bd5853e3c21a716d497"} -,"/Users/dmitrij/pat/material-ui-pickers/src/constants/clock-types.js": {"path":"/Users/dmitrij/pat/material-ui-pickers/src/constants/clock-types.js","statementMap":{"0":{"start":{"line":1,"column":21},"end":{"line":1,"column":28}},"1":{"start":{"line":3,"column":23},"end":{"line":3,"column":32}}},"fnMap":{},"branchMap":{},"s":{"0":6,"1":6},"f":{},"b":{},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"a7af97df784eac72cdf36b28d735abe0ba2a8db5"} -} diff --git a/coverage/lcov-report/__tests__/index.html b/coverage/lcov-report/__tests__/index.html deleted file mode 100644 index ab4793a827f959..00000000000000 --- a/coverage/lcov-report/__tests__/index.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - Code coverage report for __tests__ - - - - - - - -
-
-

- All files __tests__ -

-
-
- 100% - Statements - 3/3 -
-
- 100% - Branches - 0/0 -
-
- 100% - Functions - 0/0 -
-
- 100% - Lines - 3/3 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
setup.js
100%3/3100%0/0100%0/0100%3/3
-
-
- -
- - - - - diff --git a/coverage/lcov-report/__tests__/setup.js.html b/coverage/lcov-report/__tests__/setup.js.html deleted file mode 100644 index 50e2b36e422cde..00000000000000 --- a/coverage/lcov-report/__tests__/setup.js.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - Code coverage report for __tests__/setup.js - - - - - - - -
-
-

- All files / __tests__ setup.js -

-
-
- 100% - Statements - 3/3 -
-
- 100% - Branches - 0/0 -
-
- 100% - Functions - 0/0 -
-
- 100% - Lines - 3/3 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -616x -16x -  -  -16x - 
const Enzyme = require('enzyme');
-const EnzymeAdapter = require('enzyme-adapter-react-16');
- 
-// Setup enzyme's react adapter
-Enzyme.configure({ adapter: new EnzymeAdapter() });
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css deleted file mode 100644 index 417c7adc95f1da..00000000000000 --- a/coverage/lcov-report/base.css +++ /dev/null @@ -1,212 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } - - -.medium .chart { border:1px solid #666; } -.medium .cover-fill { background: #666; } - -.cbranch-no { background: yellow !important; color: #111; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } -.medium { background: #eaeaea; } - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html deleted file mode 100644 index 35ba879a7f806c..00000000000000 --- a/coverage/lcov-report/index.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - Code coverage report for All files - - - - - - - -
-
-

- All files -

-
-
- 31.63% - Statements - 62/196 -
-
- 2.13% - Branches - 1/47 -
-
- 20.25% - Functions - 16/79 -
-
- 28.42% - Lines - 52/183 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
__tests__
100%3/3100%0/0100%0/0100%3/3
src/DatePicker
21.43%15/700%0/1614.71%5/3417.19%11/64
src/TimePicker
24.66%18/734.55%1/2221.88%7/3220.29%14/69
src/TimePicker/utils
38.1%8/210%0/50%0/440%8/20
src/_shared
59.26%16/270%0/444.44%4/956%14/25
src/constants
100%2/2100%0/0100%0/0100%2/2
-
-
- - - - - - - diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7cda31a44..00000000000000 --- a/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js deleted file mode 100644 index ef51e03866898f..00000000000000 --- a/coverage/lcov-report/prettify.js +++ /dev/null @@ -1 +0,0 @@ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 03f704a609c6fd0dbfdac63466a7d7c958b5cbf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function (a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function (a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function () { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i =0 ; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function () { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(cols); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/src/DatePicker/Calendar.jsx.html b/coverage/lcov-report/src/DatePicker/Calendar.jsx.html deleted file mode 100644 index 3e203fe14c4f81..00000000000000 --- a/coverage/lcov-report/src/DatePicker/Calendar.jsx.html +++ /dev/null @@ -1,440 +0,0 @@ - - - - Code coverage report for src/DatePicker/Calendar.jsx - - - - - - - -
-
-

- All files / src/DatePicker Calendar.jsx -

-
-
- 15% - Statements - 3/20 -
-
- 0% - Branches - 0/6 -
-
- 11.11% - Functions - 1/9 -
-
- 10.53% - Lines - 2/19 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126  -  -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { PureComponent } from 'react';
-import PropTypes from 'prop-types';
-import { withStyles, IconButton } from 'material-ui';
- 
-import Moment from 'moment';
-import { extendMoment } from 'moment-range';
-import classnames from 'classnames';
-import CalendarHeader from './CalendarHeader';
- 
-const moment = extendMoment(Moment);
- 
-class Calendar extends PureComponent {
-  static propTypes = {
-    date: PropTypes.object.isRequired,
-    minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
-    maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
-    classes: PropTypes.object.isRequired,
-    onChange: PropTypes.func.isRequired,
-    disableFuture: PropTypes.bool.isRequired,
-  }
- 
-  static defaultProps = {
-    minDate: '1900-01-01',
-    maxDate: '2100-01-01',
-  }
- 
-  state = {
-    currentMonth: this.props.date.clone().startOf('month'),
-  }
- 
-  onDateSelect = (day) => {
-    this.props.onChange(day);
-  }
- 
-  handleChangeMonth = (newMonth) => {
-    this.setState({ currentMonth: newMonth });
-  }
- 
-  renderWeeks = () => {
-    const { currentMonth } = this.state;
-    const start = currentMonth.clone().startOf('week');
-    const end = currentMonth.clone().endOf('month').endOf('week');
- 
-    return Array.from(moment.range(start, end).by('week'))
-      .map(week => (
-        <div key={`week-${week.toString()}`} className={this.props.classes.week}>
-          { this.renderDays(week) }
-        </div>
-      ));
-  }
- 
-  renderDays = (week) => {
-    const { disableFuture, classes, date, minDate, maxDate } = this.props;
-    const end = week.clone().endOf('week');
-    const currentMonthNumber = this.state.currentMonth.get('month');
- 
-    return Array.from(moment.range(week, end).by('day'))
-      .map((day) => {
-        const dayClass = classnames(classes.day, {
-          [classes.hidden]: day.get('month') !== currentMonthNumber,
-          [classes.selected]: day.toString() === date.toString(),
-          [classes.disabled]: disableFuture && day.isAfter(moment()) || minDate && day.isBefore(minDate) || maxDate && day.isAfter(maxDate),
-        });
- 
-        return (
-          <IconButton
-            key={day.toString()}
-            className={dayClass}
-            onClick={() => this.onDateSelect(day)}
-          >
-            <span> { day.format('DD')} </span>
-          </IconButton>
-        );
-      });
-  }
- 
-  render() {
-    const { currentMonth } = this.state;
-    const { classes } = this.props;
- 
-    return (
-      <div className={classes.container}>
-        <CalendarHeader
-          currentMonth={currentMonth}
-          onMonthChange={this.handleChangeMonth}
-        />
- 
-        <div className={classes.calendar}>
-          { this.renderWeeks() }
-        </div>
-      </div>
-    );
-  }
-}
- 
-const styles = theme => ({
-  calendar: {
-    marginTop: 10,
-  },
-  hidden: {
-    opacity: 0,
-    pointerEvents: 'none',
-  },
-  day: {
-    width: 36,
-    height: 36,
-    fontSize: 14,
-    margin: '0 2px',
-    color: theme.palette.text.primary,
-  },
-  selected: {
-    color: theme.palette.primary[700],
-    backgroundColor: theme.palette.primary[200],
-  },
-  disabled: {
-    pointerEvents: 'none',
-    color: theme.palette.text.hint,
-  },
-  week: {
-    display: 'flex',
-    justifyContent: 'center',
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersCalendar' })(Calendar);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html b/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html deleted file mode 100644 index aa8260f6f337e6..00000000000000 --- a/coverage/lcov-report/src/DatePicker/CalendarHeader.jsx.html +++ /dev/null @@ -1,269 +0,0 @@ - - - - Code coverage report for src/DatePicker/CalendarHeader.jsx - - - - - - - -
-
-

- All files / src/DatePicker CalendarHeader.jsx -

-
-
- 36.36% - Statements - 4/11 -
-
- 100% - Branches - 0/0 -
-
- 20% - Functions - 1/5 -
-
- 37.5% - Lines - 3/8 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import PropTypes from 'prop-types';
-import moment from 'moment';
-import { withStyles, IconButton } from 'material-ui';
- 
-const CalendarHeader = (props) => {
-  const { classes, currentMonth, onMonthChange } = props;
- 
-  const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months'));
-  const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months'));
- 
-  return (
-    <div>
-      <div className={classes.switchHeader}>
-        <IconButton onClick={selectPreviousMonth}>
-          keyboard_arrow_left
-        </IconButton>
- 
-        <div className={classes.monthName}>
-          { currentMonth.format('MMMM YYYY')}
-        </div>
- 
-        <IconButton onClick={selectNextMonth}>
-            keyboard_arrow_right
-        </IconButton>
-      </div>
- 
-      <div className={classes.daysHeader}>
-        { moment.weekdaysMin().map(day => (
-          <div key={day} className={classes.dayLabel}> { day } </div>
-        ))}
-      </div>
-    </div>
-  );
-};
- 
-CalendarHeader.propTypes = {
-  currentMonth: PropTypes.object.isRequired,
-  onMonthChange: PropTypes.func.isRequired,
-  classes: PropTypes.object.isRequired,
-};
- 
-const styles = theme => ({
-  switchHeader: {
-    display: 'flex',
-    justifyContent: 'space-between',
-    alignItems: 'center',
-    margin: '10px 0 20px',
-  },
-  daysHeader: {
-    display: 'flex',
-    justifyContent: 'center',
-    alignItems: 'center',
-  },
-  dayLabel: {
-    width: 36,
-    margin: '0 2px',
-    fontSize: 13,
-    textAlign: 'center',
-    color: theme.palette.text.hint,
-  },
-  monthName: {
-    color: theme.palette.text.primary,
-  },
-});
- 
-export default withStyles(styles)(CalendarHeader, { name: 'MuiPickersCalendarHeader' });
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html b/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html deleted file mode 100644 index b92eb7d16f36c4..00000000000000 --- a/coverage/lcov-report/src/DatePicker/DatePicker.jsx.html +++ /dev/null @@ -1,401 +0,0 @@ - - - - Code coverage report for src/DatePicker/DatePicker.jsx - - - - - - - -
-
-

- All files / src/DatePicker DatePicker.jsx -

-
-
- 20% - Statements - 2/10 -
-
- 0% - Branches - 0/2 -
-
- 14.29% - Functions - 1/7 -
-
- 11.11% - Lines - 1/9 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  - 
import React, { PureComponent } from 'react';
-import PropTypes from 'prop-types';
-import moment from 'moment';
-import { withStyles } from 'material-ui';
- 
-import Calendar from './Calendar';
-import YearSelection from './YearSelection';
-import PickerToolbar from '../_shared/PickerToolbar';
-import ToolbarButton from '../_shared/ToolbarButton';
- 
-class DatePicker extends PureComponent {
-  static propTypes = {
-    date: PropTypes.object.isRequired,
-    minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
-    maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
-    classes: PropTypes.shape({}).isRequired,
-    onChange: PropTypes.func.isRequired,
-    disableFuture: PropTypes.bool,
-    animateYearScrolling: PropTypes.bool,
-    openToYearSelection: PropTypes.bool,
-  }
- 
-  static defaultProps = {
-    minDate: '1900-01-01',
-    maxDate: '2100-01-01',
-    disableFuture: false,
-    animateYearScrolling: true,
-    openToYearSelection: false,
-  }
- 
-  state = {
-    showYearSelection: this.props.openToYearSelection,
-  }
- 
-  get date() {
-    return this.props.date.startOf('day');
-  }
- 
-  get minDate() {
-    return moment(this.props.minDate);
-  }
- 
-  get maxDate() {
-    return moment(this.props.maxDate);
-  }
- 
-  openYearSelection = () => {
-    this.setState({ showYearSelection: true });
-  }
- 
-  openCalendar = () => {
-    this.setState({ showYearSelection: false });
-  }
- 
-  render() {
-    const {
-      classes, disableFuture, onChange, animateYearScrolling,
-    } = this.props;
-    const { showYearSelection } = this.state;
- 
-    return (
-      <div className={classes.container}>
-        <PickerToolbar>
-          <ToolbarButton
-            type="subheading"
-            onClick={this.openYearSelection}
-            selected={showYearSelection}
-            label={this.date.format('YYYY')}
-          />
- 
-          <ToolbarButton
-            type="display1"
-            onClick={this.openCalendar}
-            selected={!showYearSelection}
-            label={this.date.format('ddd, MMM DD')}
-          />
-        </PickerToolbar>
- 
-        {
-          showYearSelection
-            ?
-              <YearSelection
-                date={this.date}
-                onChange={onChange}
-                minDate={this.minDate}
-                maxDate={this.maxDate}
-                disableFuture={disableFuture}
-                animateYearScrolling={animateYearScrolling}
-              />
-            :
-              <Calendar
-                date={this.date}
-                onChange={onChange}
-                disableFuture={disableFuture}
-                minDate={this.minDate}
-                maxDate={this.maxDate}
-              />
-        }
-      </div>
-    );
-  }
-}
- 
-const styles = theme => ({
-  container: {
-    width: 300,
-    height: 420,
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersDatePicker' })(DatePicker);
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html b/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html deleted file mode 100644 index 5f482cc4fded9c..00000000000000 --- a/coverage/lcov-report/src/DatePicker/DatePickerModal.jsx.html +++ /dev/null @@ -1,356 +0,0 @@ - - - - Code coverage report for src/DatePicker/DatePickerModal.jsx - - - - - - - -
-
-

- All files / src/DatePicker DatePickerModal.jsx -

-
-
- 27.27% - Statements - 3/11 -
-
- 0% - Branches - 0/2 -
-
- 16.67% - Functions - 1/6 -
-
- 27.27% - Lines - 3/11 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { PureComponent } from 'react';
-import PropTypes from 'prop-types';
-import moment from 'moment';
- 
-import DateTextField from '../_shared/DateTextField';
-import ModalDialog from '../_shared/ModalDialog';
-import DatePicker from './DatePicker';
- 
-export default class DatePickerModal extends PureComponent {
-  static propTypes = {
-    minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
-    maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]),
-    value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
-    format: PropTypes.string,
-    onChange: PropTypes.func.isRequired,
-    autoOk: PropTypes.bool,
-    disableFuture: PropTypes.bool,
-    animateYearScrolling: PropTypes.bool,
-    openToYearSelection: PropTypes.bool,
-  }
- 
-  static defaultProps = {
-    minDate: '1900-01-01',
-    maxDate: '2100-01-01',
-    value: null,
-    format: 'MMMM Do',
-    autoOk: false,
-    disableFuture: false,
-    animateYearScrolling: false,
-    openToYearSelection: false,
-  }
- 
-  state = {
-    open: false,
-    date: moment(this.props.value),
-  }
- 
-  togglePicker = () => {
-    this.setState({ open: !this.state.open });
-  }
- 
-  handleChange = (date) => {
-    this.setState({ date }, () => {
-      if (this.props.autoOk) {
-        this.handleAccept();
-      }
-    });
-  }
- 
-  handleAccept = () => {
-    this.props.onChange(this.state.date);
-    this.togglePicker(); // close
-  }
- 
-  handleDismiss = () => {
-    this.setState({
-      date: moment(this.props.value),
-    });
- 
-    this.togglePicker();
-  }
- 
-  render() {
-    const { date } = this.state;
-    const {
-      value, format, autoOk, onChange, disableFuture, animateYearScrolling, openToYearSelection, minDate, maxDate,
-      ...other
-    } = this.props;
- 
-    return (
-      <span>
-        <DateTextField
-          value={value}
-          format={format}
-          onClick={this.togglePicker}
-          {...other}
-        />
- 
-        <ModalDialog
-          open={this.state.open}
-          onAccept={this.handleAccept}
-          onDismiss={this.handleDismiss}
-        >
-          <DatePicker
-            date={date}
-            onChange={this.handleChange}
-            disableFuture={disableFuture}
-            animateYearScrolling={animateYearScrolling}
-            openToYearSelection={openToYearSelection}
-            minDate={minDate}
-            maxDate={maxDate}
-          />
-        </ModalDialog>
-      </span>
-    );
-  }
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html b/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html deleted file mode 100644 index 5f8a6355dcc0bd..00000000000000 --- a/coverage/lcov-report/src/DatePicker/YearSelection.jsx.html +++ /dev/null @@ -1,368 +0,0 @@ - - - - Code coverage report for src/DatePicker/YearSelection.jsx - - - - - - - -
-
-

- All files / src/DatePicker YearSelection.jsx -

-
-
- 16.67% - Statements - 3/18 -
-
- 0% - Branches - 0/6 -
-
- 14.29% - Functions - 1/7 -
-
- 11.76% - Lines - 2/17 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { PureComponent } from 'react';
-import PropTypes from 'prop-types';
-import Moment from 'moment';
-import classnames from 'classnames';
-import { extendMoment } from 'moment-range';
-import { withStyles } from 'material-ui';
- 
-const moment = extendMoment(Moment);
- 
-class YearSelection extends PureComponent {
-  static propTypes = {
-    date: PropTypes.shape({}).isRequired,
-    minDate: PropTypes.shape({}).isRequired,
-    maxDate: PropTypes.shape({}).isRequired,
-    classes: PropTypes.object.isRequired,
-    onChange: PropTypes.func.isRequired,
-    disableFuture: PropTypes.bool.isRequired,
-    animateYearScrolling: PropTypes.bool.isRequired,
-  }
- 
-  componentDidMount = () => {
-    const { animateYearScrolling } = this.props;
-    const currentYearElement = document.getElementsByClassName(this.props.classes.selectedYear)[0];
- 
-    if (currentYearElement) {
-      currentYearElement.scrollIntoView({
-        behavior: animateYearScrolling ? 'smooth' : 'auto',
-      });
-    }
-  }
- 
-  onYearSelect = (year) => {
-    const { date, onChange } = this.props;
- 
-    const newDate = date.clone().set('year', year);
-    onChange(newDate);
-  }
- 
-  render() {
-    const {
-      minDate, maxDate, date, classes, disableFuture,
-    } = this.props;
-    const currentYear = date.get('year');
- 
-    return (
-      <div className={classes.container}>
-        {
-          Array.from(moment.range(minDate, maxDate).by('year'))
-            .map((year) => {
-              const yearNumber = year.get('year');
-              const className = classnames(classes.yearItem, {
-                [classes.selectedYear]: yearNumber === currentYear,
-                [classes.disabled]: disableFuture && year.isAfter(moment()),
-              });
- 
-              return (
-                <div
-                  role="button"
-                  key={year.format('YYYY')}
-                  className={className}
-                  tabIndex={yearNumber}
-                  onClick={() => this.onYearSelect(yearNumber)}
-                  onKeyPress={() => this.onYearSelect(yearNumber)}
-                >
-                  { yearNumber }
-                </div>
-              );
-            })
-        }
-      </div>
-    );
-  }
-}
- 
-const styles = theme => ({
-  container: {
-    maxHeight: 320,
-    overflowY: 'auto',
-    justifyContent: 'center',
-  },
-  yearItem: {
-    height: 36,
-    display: 'flex',
-    alignItems: 'center',
-    justifyContent: 'center',
-    cursor: 'pointer',
-    outline: 'none',
-    color: theme.palette.text.primary
-  },
-  selectedYear: {
-    fontSize: 26,
-    margin: '10px 0',
-    color: theme.palette.primary[500],
-  },
-  disabled: {
-    pointerEvents: 'none',
-    color: theme.palette.text.hint,
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersYearSelection' })(YearSelection);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/DatePicker/index.html b/coverage/lcov-report/src/DatePicker/index.html deleted file mode 100644 index 0495f3426a8fb6..00000000000000 --- a/coverage/lcov-report/src/DatePicker/index.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - Code coverage report for src/DatePicker - - - - - - - -
-
-

- All files src/DatePicker -

-
-
- 21.43% - Statements - 15/70 -
-
- 0% - Branches - 0/16 -
-
- 14.71% - Functions - 5/34 -
-
- 17.19% - Lines - 11/64 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Calendar.jsx
15%3/200%0/611.11%1/910.53%2/19
CalendarHeader.jsx
36.36%4/11100%0/020%1/537.5%3/8
DatePicker.jsx
20%2/100%0/214.29%1/711.11%1/9
DatePickerModal.jsx
27.27%3/110%0/216.67%1/627.27%3/11
YearSelection.jsx
16.67%3/180%0/614.29%1/711.76%2/17
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/Clock.jsx.html b/coverage/lcov-report/src/TimePicker/Clock.jsx.html deleted file mode 100644 index d12214d30a0a17..00000000000000 --- a/coverage/lcov-report/src/TimePicker/Clock.jsx.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - Code coverage report for src/TimePicker/Clock.jsx - - - - - - - -
-
-

- All files / src/TimePicker Clock.jsx -

-
-
- 9.09% - Statements - 2/22 -
-
- 0% - Branches - 0/12 -
-
- 12.5% - Functions - 1/8 -
-
- 4.76% - Lines - 1/21 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import { withStyles } from 'material-ui';
- 
-import ClockPointer from './ClockPointer';
-import * as clockType from '../constants/clock-types';
-import { getMinutes, getHours } from './utils/time-utils';
- 
-class Clock extends Component {
-  static propTypes = {
-    type: PropTypes.oneOf(Object.values(clockType)).isRequired,
-    classes: PropTypes.object.isRequired,
-    value: PropTypes.number.isRequired,
-    onChange: PropTypes.func.isRequired,
-    children: PropTypes.arrayOf(PropTypes.node).isRequired,
-  }
- 
-  setTime(e) {
-    let { offsetX, offsetY } = e;
- 
-    if (typeof offsetX === 'undefined') {
-      const rect = e.target.getBoundingClientRect();
- 
-      offsetX = e.changedTouches[0].clientX - rect.left;
-      offsetY = e.changedTouches[0].clientY - rect.top;
-    }
- 
-    const value = this.props.type === clockType.MINUTES
-      ? getMinutes(offsetX, offsetY)
-      : getHours(offsetX, offsetY);
- 
-    this.props.onChange(value);
-  }
- 
-  handleTouchMove = (e) => {
-    this.setTime(e);
-  }
- 
-  handleTouchEnd = (e) => {
-    this.handleTouchMove(e);
-  }
- 
-  handleUp = (event) => {
-    event.preventDefault();
-    this.setTime(event.nativeEvent, true);
-  };
- 
-  handleMove = (e) => {
-    e.preventDefault();
-    // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari
-    if (e.buttons === 1 || e.nativeEvent.which === 1) {
-      this.setTime(e.nativeEvent, false);
-    }
-  };
- 
-  hasSelected = () => {
-    const { type, value } = this.props;
- 
-    if (type === clockType.HOURS) {
-      return true;
-    }
- 
-    return value % 5 === 0;
-  }
- 
-  render() {
-    const {
-      classes, value, children, type,
-    } = this.props;
- 
-    return (
-      <div className={classes.container}>
-        <div
-          className={classes.clock}
-        >
-          <div
-            className={classes.squareMask}
-            onTouchMove={this.handleTouchMove}
-            onTouchEnd={this.handleTouchEnd}
-            onMouseUp={this.handleUp}
-            onMouseMove={this.handleMove}
-          />
- 
-          <ClockPointer
-            max={type === clockType.HOURS ? 12 : 60}
-            hasSelected={this.hasSelected()}
-            value={value}
-          />
- 
-          { children }
-        </div>
-      </div>
-    );
-  }
-}
- 
-const styles = theme => ({
-  container: {
-    display: 'flex',
-    justifyContent: 'center',
-    alignItems: 'flex-end',
-    marginTop: 40,
-  },
-  clock: {
-    backgroundColor: 'rgba(0,0,0,.07)',
-    borderRadius: '50%',
-    height: 260,
-    width: 260,
-    position: 'relative',
-    pointerEvents: 'none',
-  },
-  squareMask: {
-    width: '100%',
-    height: '100%',
-    position: 'absolute',
-    pointerEvents: 'auto',
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersClock' })(Clock);
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html b/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html deleted file mode 100644 index 82f1fecf93bd0a..00000000000000 --- a/coverage/lcov-report/src/TimePicker/ClockNumber.jsx.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - Code coverage report for src/TimePicker/ClockNumber.jsx - - - - - - - -
-
-

- All files / src/TimePicker ClockNumber.jsx -

-
-
- 37.5% - Statements - 3/8 -
-
- 50% - Branches - 1/2 -
-
- 33.33% - Functions - 1/3 -
-
- 28.57% - Lines - 2/7 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80  -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
- 
-import classnames from 'classnames';
-import { withStyles } from 'material-ui';
-import * as clockType from '../constants/clock-types';
- 
-const positions = [
-  [0, 5],
-  [55, 19.6],
-  [94.4, 59.5],
-  [109, 114],
-  [94.4, 168.5],
-  [54.5, 208.4],
-  [0, 223],
-  [-54.5, 208.4],
-  [-94.4, 168.5],
-  [-109, 114],
-  [-94.4, 59.5],
-  [-54.5, 19.6],
-];
- 
-class ClockNumber extends Component {
-  static propTypes = {
-    index: PropTypes.number.isRequired,
-    label: PropTypes.string.isRequired,
-    selected: PropTypes.bool.isRequired,
-    classes: PropTypes.object.isRequired,
-  }
- 
-  getTransformStyle = (index) => {
-    const position = positions[index];
- 
-    return {
-      transform: `translate(${position[0]}px, ${position[1]}px`,
-    };
-  }
- 
-  render() {
-    const {
-      selected, label, index, classes,
-    } = this.props;
- 
-    const className = classnames(classes.clockNumber, {
-      [classes.selected]: selected,
-    });
- 
-    return (
-      <div
-        className={className}
-        style={this.getTransformStyle(index)}
-      >
-        { label }
-      </div>
-    );
-  }
-}
- 
-const styles = theme => ({
-  clockNumber: {
-    width: 32,
-    height: 32,
-    position: 'absolute',
-    left: 'calc(50% - 16px)',
-    display: 'inline-flex',
-    justifyContent: 'center',
-    alignItems: 'center',
-    borderRadius: '50%',
-    color: theme.palette.type === 'light'
-      ? theme.palette.text.primary
-      : theme.palette.text.hint
-  },
-  selected: {
-    color: 'white',
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersClockNumber' })(ClockNumber);
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html b/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html deleted file mode 100644 index 5a02737dfe9f14..00000000000000 --- a/coverage/lcov-report/src/TimePicker/ClockPointer.jsx.html +++ /dev/null @@ -1,257 +0,0 @@ - - - - Code coverage report for src/TimePicker/ClockPointer.jsx - - - - - - - -
-
-

- All files / src/TimePicker ClockPointer.jsx -

-
-
- 28.57% - Statements - 2/7 -
-
- 100% - Branches - 0/0 -
-
- 33.33% - Functions - 1/3 -
-
- 16.67% - Lines - 1/6 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import { withStyles } from 'material-ui';
-import classnames from 'classnames';
- 
-class ClockPointer extends Component {
-  static propTypes = {
-    classes: PropTypes.object.isRequired,
-    value: PropTypes.number.isRequired,
-    hasSelected: PropTypes.bool.isRequired,
-    max: PropTypes.number.isRequired,
-  }
- 
-  getAngleStyle = () => {
-    const { value, max } = this.props;
-    const angle = (360 / max) * value;
- 
-    return {
-      transform: `rotateZ(${angle}deg)`,
-    };
-  }
- 
-  render() {
-    const { classes, hasSelected } = this.props;
- 
-    return (
-      <div
-        className={classes.pointer}
-        style={this.getAngleStyle()}
-      >
-        <div className={classnames(classes.thumb, { [classes.noPoint]: hasSelected })} />
-      </div>
-    );
-  }
-}
- 
-const styles = theme => ({
-  pointer: {
-    width: 2,
-    backgroundColor: theme.palette.primary[500],
-    height: '40%',
-    position: 'absolute',
-    left: 'calc(50% - 1px)',
-    bottom: '50%',
-    transformOrigin: 'center bottom 0px',
-  },
-  thumb: {
-    width: 4,
-    height: 4,
-    backgroundColor: theme.palette.common.white,
-    borderRadius: '100%',
-    position: 'absolute',
-    top: -21,
-    left: -15,
-    border: `14px solid ${theme.palette.primary[500]}`,
-    boxSizing: 'content-box',
-  },
-  noPoint: {
-    backgroundColor: theme.palette.primary[500],
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersClockPointer' })(ClockPointer);
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/HourView.jsx.html b/coverage/lcov-report/src/TimePicker/HourView.jsx.html deleted file mode 100644 index bec1258a573949..00000000000000 --- a/coverage/lcov-report/src/TimePicker/HourView.jsx.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - Code coverage report for src/TimePicker/HourView.jsx - - - - - - - -
-
-

- All files / src/TimePicker HourView.jsx -

-
-
- 66.67% - Statements - 4/6 -
-
- 100% - Branches - 0/0 -
-
- 50% - Functions - 1/2 -
-
- 66.67% - Lines - 4/6 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import Clock from './Clock';
-import { HOURS } from '../constants/clock-types';
-import ClockNumber from './ClockNumber';
- 
-export default class HourView extends Component {
-  static propTypes = {
-    date: PropTypes.object.isRequired,
-    onChange: PropTypes.func.isRequired,
-  }
- 
-  handleChange = (hours) => {
-    const updatedDate = this.props.date.clone().hour(hours);
-    this.props.onChange(updatedDate);
-  }
- 
-  render() {
-    const { date } = this.props;
- 
-    const value = date.get('hours');
-    const ampmValue = Number(date.format('hh'));
- 
-    return (
-      <Clock
-        type={HOURS}
-        onChange={this.handleChange}
-        value={value}
-      >
-        <ClockNumber label="12" selected={ampmValue === 12} index={0} />
-        <ClockNumber label="1" selected={ampmValue === 1} index={1} />
-        <ClockNumber label="2" selected={ampmValue === 2} index={2} />
-        <ClockNumber label="3" selected={ampmValue === 3} index={3} />
-        <ClockNumber label="4" selected={ampmValue === 4} index={4} />
-        <ClockNumber label="5" selected={ampmValue === 5} index={5} />
-        <ClockNumber label="6" selected={ampmValue === 6} index={6} />
-        <ClockNumber label="7" selected={ampmValue === 7} index={7} />
-        <ClockNumber label="8" selected={ampmValue === 8} index={8} />
-        <ClockNumber label="9" selected={ampmValue === 9} index={9} />
-        <ClockNumber label="10" selected={ampmValue === 10} index={10} />
-        <ClockNumber label="11" selected={ampmValue === 11} index={11} />
-      </Clock>
-    );
-  }
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html b/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html deleted file mode 100644 index 4c2d152af0f78c..00000000000000 --- a/coverage/lcov-report/src/TimePicker/MinutesView.jsx.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - Code coverage report for src/TimePicker/MinutesView.jsx - - - - - - - -
-
-

- All files / src/TimePicker MinutesView.jsx -

-
-
- 50% - Statements - 2/4 -
-
- 100% - Branches - 0/0 -
-
- 50% - Functions - 1/2 -
-
- 50% - Lines - 2/4 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import Clock from './Clock';
-import { MINUTES } from '../constants/clock-types';
-import ClockNumber from './ClockNumber';
- 
-export default class MinutesView extends Component {
-  static propTypes = {
-    date: PropTypes.object.isRequired,
-    onChange: PropTypes.func.isRequired,
-  }
- 
-  handleChange = (minutes) => {
-    const updatedDate = this.props.date.clone().minutes(minutes);
-    this.props.onChange(updatedDate);
-  }
- 
-  render() {
-    const value = this.props.date.get('minutes');
- 
-    return (
-      <Clock
-        type={MINUTES}
-        onChange={this.handleChange}
-        value={value}
-      >
-        <ClockNumber label="00" selected={value === 0} index={0} />
-        <ClockNumber label="05" selected={value === 5} index={1} />
-        <ClockNumber label="10" selected={value === 10} index={2} />
-        <ClockNumber label="15" selected={value === 15} index={3} />
-        <ClockNumber label="20" selected={value === 20} index={4} />
-        <ClockNumber label="25" selected={value === 25} index={5} />
-        <ClockNumber label="30" selected={value === 30} index={6} />
-        <ClockNumber label="35" selected={value === 35} index={7} />
-        <ClockNumber label="40" selected={value === 40} index={8} />
-        <ClockNumber label="45" selected={value === 45} index={9} />
-        <ClockNumber label="50" selected={value === 50} index={10} />
-        <ClockNumber label="55" selected={value === 55} index={11} />
-      </Clock>
-    );
-  }
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html b/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html deleted file mode 100644 index 45983e9716b98a..00000000000000 --- a/coverage/lcov-report/src/TimePicker/TimePicker.jsx.html +++ /dev/null @@ -1,479 +0,0 @@ - - - - Code coverage report for src/TimePicker/TimePicker.jsx - - - - - - - -
-
-

- All files / src/TimePicker TimePicker.jsx -

-
-
- 13.33% - Statements - 2/15 -
-
- 0% - Branches - 0/6 -
-
- 12.5% - Functions - 1/8 -
-
- 7.14% - Lines - 1/14 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import { withStyles } from 'material-ui';
-import PickerToolbar from '../_shared/PickerToolbar';
-import ToolbarButton from '../_shared/ToolbarButton';
-import HourView from './HourView';
-import MinutesView from './MinutesView';
- 
-class TimePicker extends Component {
-  static propTypes = {
-    date: PropTypes.object.isRequired,
-    onChange: PropTypes.func.isRequired,
-    classes: PropTypes.object.isRequired,
-  }
- 
-  state = {
-    isHourViewShown: true,
-    meridiemMode: this.props.date.format('a'),
-  }
- 
-  setMeridiemMode = mode => () => {
-    this.setState(
-      { meridiemMode: mode },
-      () => this.handleChange(this.props.date),
-    );
-  }
- 
-  handleChange = (time) => {
-    const { meridiemMode } = this.state;
- 
-    if (time.format('a') !== meridiemMode) {
-      const hours = meridiemMode === 'am'
-        ? time.hours() - 12
-        : time.hours() + 12;
- 
-      time = time.clone().hours(hours);
-    }
- 
-    this.props.onChange(time);
-  }
- 
-  openMinutesView = () => {
-    this.setState({ isHourViewShown: false });
-  }
- 
-  openHourView = () => {
-    this.setState({ isHourViewShown: true });
-  }
- 
-  render() {
-    const { classes, date } = this.props;
-    const { isHourViewShown, meridiemMode } = this.state;
- 
-    return (
-      <div className={classes.container}>
-        <PickerToolbar className={classes.toolbar}>
-          <ToolbarButton
-            type="display3"
-            onClick={this.openHourView}
-            selected={isHourViewShown}
-            label={date.format('hh')}
-          />
- 
-          <ToolbarButton
-            type="display3"
-            label=":"
-            selected={false}
-            className={classes.separator}
-          />
- 
-          <ToolbarButton
-            type="display3"
-            onClick={this.openMinutesView}
-            selected={!isHourViewShown}
-            label={date.format('mm')}
-          />
- 
-          <div className={classes.ampmSelection}>
-            <ToolbarButton
-              className={classes.ampmLabel}
-              selected={meridiemMode === 'am'}
-              type="subheading"
-              label="AM"
-              onClick={this.setMeridiemMode('am')}
-            />
-            <ToolbarButton
-              className={classes.ampmLabel}
-              selected={meridiemMode === 'pm'}
-              type="subheading"
-              label="PM"
-              onClick={this.setMeridiemMode('pm')}
-            />
-          </div>
-        </PickerToolbar>
- 
-        {
-          isHourViewShown
-            ?
-              <HourView
-                date={date}
-                onChange={this.handleChange}
-              />
-            :
-              <MinutesView
-                date={date}
-                onChange={this.handleChange}
-              />
-        }
-      </div>
- 
-    );
-  }
-}
- 
-const styles = theme => ({
-  container: {
-    width: 300,
-    height: 420,
-  },
-  toolbar: {
-    flexDirection: 'row',
-    alignItems: 'center',
-    paddingLeft: 50,
-  },
-  separator: {
-    margin: '0 2px 0 4px',
-    cursor: 'default',
-  },
-  ampmSelection: {
-    marginLeft: 20,
-    marginRight: -20,
-  },
-  ampmLabel: {
-    fontSize: 18,
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersTimePicker' })(TimePicker);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html b/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html deleted file mode 100644 index 1f0778e3e1f8fa..00000000000000 --- a/coverage/lcov-report/src/TimePicker/TimePickerModal.jsx.html +++ /dev/null @@ -1,311 +0,0 @@ - - - - Code coverage report for src/TimePicker/TimePickerModal.jsx - - - - - - - -
-
-

- All files / src/TimePicker TimePickerModal.jsx -

-
-
- 27.27% - Statements - 3/11 -
-
- 0% - Branches - 0/2 -
-
- 16.67% - Functions - 1/6 -
-
- 27.27% - Lines - 3/11 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, { PureComponent } from 'react';
-import PropTypes from 'prop-types';
-import moment from 'moment';
- 
-import DateTextField from '../_shared/DateTextField';
-import ModalDialog from '../_shared/ModalDialog';
-import TimePicker from './TimePicker';
- 
-export default class TimePickerModal extends PureComponent {
-  static propTypes = {
-    value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
-    format: PropTypes.string,
-    onChange: PropTypes.func.isRequired,
-    autoOk: PropTypes.bool,
-  }
- 
-  static defaultProps = {
-    value: null,
-    format: 'hh:mm A',
-    autoOk: false,
-  }
- 
-  state = {
-    open: false,
-    time: moment(this.props.value),
-  }
- 
-  togglePicker = () => {
-    this.setState({ open: !this.state.open });
-  }
- 
-  handleChange = (time) => {
-    this.setState({ time }, () => {
-      if (this.props.autoOk) {
-        this.handleAccept();
-      }
-    });
-  }
- 
-  handleAccept = () => {
-    this.props.onChange(this.state.time);
-    this.togglePicker(); // close
-  }
- 
-  handleDismiss = () => {
-    this.setState({
-      time: moment(this.props.value),
-    });
- 
-    this.togglePicker();
-  }
- 
-  render() {
-    const { time } = this.state;
-    const {
-      value, format, autoOk, onChange,
-      ...other
-    } = this.props;
- 
-    return (
-      <span>
-        <DateTextField
-          value={value}
-          format={format}
-          onClick={this.togglePicker}
-          {...other}
-        />
- 
-        <ModalDialog
-          open={this.state.open}
-          onAccept={this.handleAccept}
-          onDismiss={this.handleDismiss}
-        >
-          <TimePicker
-            date={time}
-            onChange={this.handleChange}
-          />
-        </ModalDialog>
-      </span>
-    );
-  }
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/index.html b/coverage/lcov-report/src/TimePicker/index.html deleted file mode 100644 index 4c54ddbc474bf2..00000000000000 --- a/coverage/lcov-report/src/TimePicker/index.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - Code coverage report for src/TimePicker - - - - - - - -
-
-

- All files src/TimePicker -

-
-
- 24.66% - Statements - 18/73 -
-
- 4.55% - Branches - 1/22 -
-
- 21.88% - Functions - 7/32 -
-
- 20.29% - Lines - 14/69 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Clock.jsx
9.09%2/220%0/1212.5%1/84.76%1/21
ClockNumber.jsx
37.5%3/850%1/233.33%1/328.57%2/7
ClockPointer.jsx
28.57%2/7100%0/033.33%1/316.67%1/6
HourView.jsx
66.67%4/6100%0/050%1/266.67%4/6
MinutesView.jsx
50%2/4100%0/050%1/250%2/4
TimePicker.jsx
13.33%2/150%0/612.5%1/87.14%1/14
TimePickerModal.jsx
27.27%3/110%0/216.67%1/627.27%3/11
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/utils/index.html b/coverage/lcov-report/src/TimePicker/utils/index.html deleted file mode 100644 index d1905ebe7c38a6..00000000000000 --- a/coverage/lcov-report/src/TimePicker/utils/index.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - Code coverage report for src/TimePicker/utils - - - - - - - -
-
-

- All files src/TimePicker/utils -

-
-
- 38.1% - Statements - 8/21 -
-
- 0% - Branches - 0/5 -
-
- 0% - Functions - 0/4 -
-
- 40% - Lines - 8/20 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
time-utils.js
38.1%8/210%0/50%0/440%8/20
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html b/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html deleted file mode 100644 index a96e4c45791a67..00000000000000 --- a/coverage/lcov-report/src/TimePicker/utils/time-utils.js.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - Code coverage report for src/TimePicker/utils/time-utils.js - - - - - - - -
-
-

- All files / src/TimePicker/utils time-utils.js -

-
-
- 38.1% - Statements - 8/21 -
-
- 0% - Branches - 0/5 -
-
- 0% - Functions - 0/4 -
-
- 40% - Lines - 8/20 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -435x -  -  -  -  -5x -  -  -  -  -5x -5x -  -5x -  -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -5x -  -  -  -  -  - 
const center = {
-  x: 260 / 2,
-  y: 260 / 2,
-};
- 
-const basePoint = {
-  x: center.x,
-  y: 0,
-};
- 
-const cx = basePoint.x - center.x;
-const cy = basePoint.y - center.y;
- 
-const rad2deg = rad => rad * 57.29577951308232;
- 
-const getAngleValue = (step, offsetX, offsetY) => {
-  const x = offsetX - center.x;
-  const y = offsetY - center.y;
- 
-  const atan = Math.atan2(cx, cy) - Math.atan2(x, y);
- 
-  let deg = rad2deg(atan);
-  deg = Math.round(deg / step) * step;
-  deg %= 360;
- 
-  const value = Math.floor(deg / step) || 0;
- 
-  return value;
-};
- 
-export const getHours = (offsetX, offsetY) => {
-  const value = getAngleValue(30, offsetX, offsetY) || 12;
- 
-  return value % 12;
-};
- 
-export const getMinutes = (offsetX, offsetY, step = 6) => {
-  const value = getAngleValue(step, offsetX, offsetY);
- 
-  return value;
-};
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/_shared/DateTextField.jsx.html b/coverage/lcov-report/src/_shared/DateTextField.jsx.html deleted file mode 100644 index 6aa04e6f76fd03..00000000000000 --- a/coverage/lcov-report/src/_shared/DateTextField.jsx.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - Code coverage report for src/_shared/DateTextField.jsx - - - - - - - -
-
-

- All files / src/_shared DateTextField.jsx -

-
-
- 44.44% - Statements - 4/9 -
-
- 0% - Branches - 0/4 -
-
- 50% - Functions - 2/4 -
-
- 44.44% - Lines - 4/9 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -1x -  -  -  -  -  -  -  -  - 
import React, { Component } from 'react';
-import PropTypes from 'prop-types';
-import moment from 'moment';
-import { TextField } from 'material-ui';
- 
-export default class DateTextField extends Component {
-  static propTypes = {
-    value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired,
-    format: PropTypes.string.isRequired,
-    onChange: PropTypes.func,
-  }
- 
-  shouldComponentUpdate = nextProps => (
-    this.props.value !== nextProps.value ||
-    this.props.format !== nextProps.format
-  )
- 
-  getDisplayDate = () => {
-    const { value, format } = this.props;
- 
-    return moment(value).format(format);
-  }
- 
-  handleChange = (e) => {
-    const { value } = e.target;
-    const momentValue = moment(value);
- 
-    if (momentValue.isValid()) {
-      this.props.onChange(momentValue);
-    }
-  }
- 
-  render() {
-    const { value, format, ...other } = this.props;
- 
-    return (
-      <TextField
-        value={this.getDisplayDate()}
-        onChange={this.handleChange}
-        {...other}
-      />
-    );
-  }
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/_shared/ModalDialog.jsx.html b/coverage/lcov-report/src/_shared/ModalDialog.jsx.html deleted file mode 100644 index 35ff821a523c57..00000000000000 --- a/coverage/lcov-report/src/_shared/ModalDialog.jsx.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - Code coverage report for src/_shared/ModalDialog.jsx - - - - - - - -
-
-

- All files / src/_shared ModalDialog.jsx -

-
-
- 60% - Statements - 3/5 -
-
- 100% - Branches - 0/0 -
-
- 0% - Functions - 0/1 -
-
- 60% - Lines - 3/5 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40  -  -  -  -3x -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -3x -  -  -  -  -  -  -  - 
import React from 'react';
-import PropTypes from 'prop-types';
-import { Dialog, DialogActions, DialogContent, Button, withStyles } from 'material-ui';
- 
-const styles = {
-  dialog: {
-    '&:first-child': {
-      padding: 0,
-    },
-  },
-};
- 
-const ModalDialog = (props) => {
-  const {
-    children, classes, onAccept, onDismiss, ...other
-  } = props;
- 
-  return (
-    <Dialog {...other}>
-      <DialogContent className={classes.dialog}>
-        { children }
-      </DialogContent>
- 
-      <DialogActions>
-        <Button color="primary" onClick={onAccept}> OK </Button>
-        <Button color="primary" onClick={onDismiss}> Cancel </Button>
-      </DialogActions>
-    </Dialog>
-  );
-};
- 
-ModalDialog.propTypes = {
-  children: PropTypes.node.isRequired,
-  onAccept: PropTypes.func.isRequired,
-  onDismiss: PropTypes.func.isRequired,
-  classes: PropTypes.object.isRequired,
-};
- 
-export default withStyles(styles, { name: 'MuiPickersModal' })(ModalDialog);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html b/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html deleted file mode 100644 index 124ef63decada8..00000000000000 --- a/coverage/lcov-report/src/_shared/PickerToolbar.jsx.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - Code coverage report for src/_shared/PickerToolbar.jsx - - - - - - - -
-
-

- All files / src/_shared PickerToolbar.jsx -

-
-
- 71.43% - Statements - 5/7 -
-
- 100% - Branches - 0/0 -
-
- 50% - Functions - 1/2 -
-
- 66.67% - Lines - 4/6 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -5x -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import PropTypes from 'prop-types';
-import classnames from 'classnames';
-import { Toolbar, withStyles } from 'material-ui';
- 
-const PickerToolbar = (props) => {
-  const {
-    children, className, classes, ...other
-  } = props;
- 
-  return (
-    <Toolbar className={classnames(classes.toolbar, className)} {...other}>
-      { children }
-    </Toolbar>
-  );
-};
- 
-PickerToolbar.propTypes = {
-  children: PropTypes.arrayOf(PropTypes.node).isRequired,
-  className: PropTypes.string,
-  classes: PropTypes.object.isRequired,
-};
- 
-PickerToolbar.defaultProps = {
-  className: '',
-};
- 
-const styles = theme => ({
-  toolbar: {
-    display: 'flex',
-    flexDirection: 'column',
-    alignItems: 'flex-start',
-    justifyContent: 'center',
-    backgroundColor: theme.palette.primary[500],
-    height: 100,
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersToolbar' })(PickerToolbar);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html b/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html deleted file mode 100644 index 1bf378baeb9e1e..00000000000000 --- a/coverage/lcov-report/src/_shared/ToolbarButton.jsx.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Code coverage report for src/_shared/ToolbarButton.jsx - - - - - - - -
-
-

- All files / src/_shared ToolbarButton.jsx -

-
-
- 66.67% - Statements - 4/6 -
-
- 100% - Branches - 0/0 -
-
- 50% - Functions - 1/2 -
-
- 60% - Lines - 3/5 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -  -  -  -  -  -  -5x -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import PropTypes from 'prop-types';
-import classnames from 'classnames';
-import { withStyles, Typography } from 'material-ui';
- 
-const ToolbarButton = (props) => {
-  const {
-    classes, selected, label, className, ...other
-  } = props;
- 
-  return (
-    <Typography
-      className={classnames(classes.toolbarBtn, className, {
-        [classes.toolbarBtnSelected]: selected,
-      })}
-      {...other}
-    >
-      { label }
-    </Typography>
-  );
-};
- 
-ToolbarButton.propTypes = {
-  selected: PropTypes.bool.isRequired,
-  label: PropTypes.string.isRequired,
-  classes: PropTypes.object.isRequired,
-  className: PropTypes.string,
-};
- 
-const styles = theme => ({
-  toolbarBtn: {
-    cursor: 'pointer',
-    color: theme.palette.common.lightWhite,
-  },
-  toolbarBtnSelected: {
-    color: theme.palette.common.white,
-  },
-});
- 
-export default withStyles(styles, { name: 'MuiPickersToolbarButton' })(ToolbarButton);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/_shared/index.html b/coverage/lcov-report/src/_shared/index.html deleted file mode 100644 index ac421cdc00b1ab..00000000000000 --- a/coverage/lcov-report/src/_shared/index.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - Code coverage report for src/_shared - - - - - - - -
-
-

- All files src/_shared -

-
-
- 59.26% - Statements - 16/27 -
-
- 0% - Branches - 0/4 -
-
- 44.44% - Functions - 4/9 -
-
- 56% - Lines - 14/25 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
DateTextField.jsx
44.44%4/90%0/450%2/444.44%4/9
ModalDialog.jsx
60%3/5100%0/00%0/160%3/5
PickerToolbar.jsx
71.43%5/7100%0/050%1/266.67%4/6
ToolbarButton.jsx
66.67%4/6100%0/050%1/260%3/5
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/constants/clock-types.js.html b/coverage/lcov-report/src/constants/clock-types.js.html deleted file mode 100644 index 712a9b830940b4..00000000000000 --- a/coverage/lcov-report/src/constants/clock-types.js.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - Code coverage report for src/constants/clock-types.js - - - - - - - -
-
-

- All files / src/constants clock-types.js -

-
-
- 100% - Statements - 2/2 -
-
- 100% - Branches - 0/0 -
-
- 100% - Functions - 0/0 -
-
- 100% - Lines - 2/2 -
-
-
-
-

-
-
1 -2 -3 -4 -56x -  -6x -  - 
export const HOURS = 'hours';
- 
-export const MINUTES = 'minutes';
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/src/constants/index.html b/coverage/lcov-report/src/constants/index.html deleted file mode 100644 index 5a263b041a16d6..00000000000000 --- a/coverage/lcov-report/src/constants/index.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - Code coverage report for src/constants - - - - - - - -
-
-

- All files src/constants -

-
-
- 100% - Statements - 2/2 -
-
- 100% - Branches - 0/0 -
-
- 100% - Functions - 0/0 -
-
- 100% - Lines - 2/2 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
clock-types.js
100%2/2100%0/0100%0/0100%2/2
-
-
- - - - - - - diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index 2760cfa3542975..00000000000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,559 +0,0 @@ -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/__tests__/setup.js -FNF:0 -FNH:0 -DA:1,16 -DA:2,16 -DA:5,16 -LF:3 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/Calendar.jsx -FN:31,(anonymous_0) -FN:35,(anonymous_1) -FN:39,(anonymous_2) -FN:45,(anonymous_3) -FN:52,(anonymous_4) -FN:58,(anonymous_5) -FN:69,(anonymous_6) -FN:77,(anonymous_7) -FN:96,(anonymous_8) -FNF:9 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:1,(anonymous_8) -DA:10,3 -DA:32,0 -DA:36,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:44,0 -DA:46,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:57,0 -DA:59,0 -DA:65,0 -DA:69,0 -DA:78,0 -DA:79,0 -DA:81,0 -DA:96,3 -LF:19 -LH:2 -BRDA:62,0,0,0 -BRDA:62,0,1,0 -BRDA:62,0,2,0 -BRDA:62,0,3,0 -BRDA:62,0,4,0 -BRDA:62,0,5,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/CalendarHeader.jsx -FN:6,(anonymous_0) -FN:9,(anonymous_1) -FN:10,(anonymous_2) -FN:29,(anonymous_3) -FN:43,(anonymous_4) -FNF:5 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:1,(anonymous_4) -DA:6,4 -DA:7,0 -DA:9,0 -DA:10,0 -DA:12,0 -DA:30,0 -DA:37,4 -DA:43,4 -LF:8 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePicker.jsx -FN:35,(anonymous_0) -FN:39,(anonymous_1) -FN:43,(anonymous_2) -FN:47,(anonymous_3) -FN:51,(anonymous_4) -FN:55,(anonymous_5) -FN:104,(anonymous_6) -FNF:7 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:1,(anonymous_6) -DA:36,0 -DA:40,0 -DA:44,0 -DA:48,0 -DA:52,0 -DA:58,0 -DA:59,0 -DA:61,0 -DA:104,2 -LF:9 -LH:1 -BRDA:80,0,0,0 -BRDA:80,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/DatePickerModal.jsx -FN:38,(anonymous_0) -FN:42,(anonymous_1) -FN:43,(anonymous_2) -FN:50,(anonymous_3) -FN:55,(anonymous_4) -FN:63,(anonymous_5) -FNF:6 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:1,(anonymous_5) -DA:39,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:51,0 -DA:52,0 -DA:56,0 -DA:60,0 -DA:64,1 -DA:68,1 -DA:70,1 -LF:11 -LH:3 -BRDA:44,0,0,0 -BRDA:44,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/DatePicker/YearSelection.jsx -FN:21,(anonymous_0) -FN:32,(anonymous_1) -FN:39,(anonymous_2) -FN:49,(anonymous_3) -FN:62,(anonymous_4) -FN:63,(anonymous_5) -FN:75,(anonymous_6) -FNF:7 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:1,(anonymous_6) -DA:8,3 -DA:22,0 -DA:23,0 -DA:25,0 -DA:26,0 -DA:33,0 -DA:35,0 -DA:36,0 -DA:42,0 -DA:43,0 -DA:45,0 -DA:50,0 -DA:51,0 -DA:56,0 -DA:62,0 -DA:63,0 -DA:75,3 -LF:17 -LH:2 -BRDA:25,0,0,0 -BRDA:25,0,1,0 -BRDA:27,1,0,0 -BRDA:27,1,1,0 -BRDA:53,2,0,0 -BRDA:53,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/Clock.jsx -FN:18,(anonymous_0) -FN:35,(anonymous_1) -FN:39,(anonymous_2) -FN:43,(anonymous_3) -FN:48,(anonymous_4) -FN:56,(anonymous_5) -FN:66,(anonymous_6) -FN:97,(anonymous_7) -FNF:8 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:1,(anonymous_7) -DA:19,0 -DA:21,0 -DA:22,0 -DA:24,0 -DA:25,0 -DA:28,0 -DA:32,0 -DA:36,0 -DA:40,0 -DA:44,0 -DA:45,0 -DA:49,0 -DA:51,0 -DA:52,0 -DA:57,0 -DA:59,0 -DA:60,0 -DA:63,0 -DA:69,0 -DA:71,0 -DA:97,5 -LF:21 -LH:1 -BRDA:21,0,0,0 -BRDA:21,0,1,0 -BRDA:28,1,0,0 -BRDA:28,1,1,0 -BRDA:51,2,0,0 -BRDA:51,2,1,0 -BRDA:51,3,0,0 -BRDA:51,3,1,0 -BRDA:59,4,0,0 -BRDA:59,4,1,0 -BRDA:85,5,0,0 -BRDA:85,5,1,0 -BRF:12 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockNumber.jsx -FN:31,(anonymous_0) -FN:39,(anonymous_1) -FN:59,(anonymous_2) -FNF:3 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:1,(anonymous_2) -DA:8,5 -DA:32,0 -DA:34,0 -DA:42,0 -DA:44,0 -DA:48,0 -DA:59,5 -LF:7 -LH:2 -BRDA:69,0,0,1 -BRDA:69,0,1,0 -BRF:2 -BRH:1 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/ClockPointer.jsx -FN:14,(anonymous_0) -FN:23,(anonymous_1) -FN:37,(anonymous_2) -FNF:3 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:1,(anonymous_2) -DA:15,0 -DA:16,0 -DA:18,0 -DA:24,0 -DA:26,0 -DA:37,6 -LF:6 -LH:1 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/HourView.jsx -FN:13,(anonymous_0) -FN:18,(anonymous_1) -FNF:2 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:1,(anonymous_1) -DA:14,0 -DA:15,0 -DA:19,1 -DA:21,1 -DA:22,1 -DA:24,1 -LF:6 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/MinutesView.jsx -FN:13,(anonymous_0) -FN:18,(anonymous_1) -FNF:2 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:1,(anonymous_1) -DA:14,0 -DA:15,0 -DA:19,1 -DA:21,1 -LF:4 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePicker.jsx -FN:21,(anonymous_0) -FN:21,(anonymous_1) -FN:24,(anonymous_2) -FN:28,(anonymous_3) -FN:42,(anonymous_4) -FN:46,(anonymous_5) -FN:50,(anonymous_6) -FN:115,(anonymous_7) -FNF:8 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:1,(anonymous_7) -DA:21,0 -DA:22,0 -DA:24,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:36,0 -DA:39,0 -DA:43,0 -DA:47,0 -DA:51,0 -DA:52,0 -DA:54,0 -DA:115,2 -LF:14 -LH:1 -BRDA:31,0,0,0 -BRDA:31,0,1,0 -BRDA:32,1,0,0 -BRDA:32,1,1,0 -BRDA:97,2,0,0 -BRDA:97,2,1,0 -BRF:6 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/TimePickerModal.jsx -FN:28,(anonymous_0) -FN:32,(anonymous_1) -FN:33,(anonymous_2) -FN:40,(anonymous_3) -FN:45,(anonymous_4) -FN:53,(anonymous_5) -FNF:6 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:1,(anonymous_5) -DA:29,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:41,0 -DA:42,0 -DA:46,0 -DA:50,0 -DA:54,1 -DA:58,1 -DA:60,1 -LF:11 -LH:3 -BRDA:34,0,0,0 -BRDA:34,0,1,0 -BRF:2 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/TimePicker/utils/time-utils.js -FN:14,(anonymous_0) -FN:16,(anonymous_1) -FN:31,(anonymous_2) -FN:37,(anonymous_3) -FNF:4 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -DA:1,5 -DA:6,5 -DA:11,5 -DA:12,5 -DA:14,5 -DA:16,5 -DA:17,0 -DA:18,0 -DA:20,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:26,0 -DA:28,0 -DA:31,5 -DA:32,0 -DA:34,0 -DA:37,5 -DA:38,0 -DA:40,0 -LF:20 -LH:8 -BRDA:26,0,0,0 -BRDA:26,0,1,0 -BRDA:32,1,0,0 -BRDA:32,1,1,0 -BRDA:37,2,0,0 -BRF:5 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/DateTextField.jsx -FN:13,(anonymous_0) -FN:18,(anonymous_1) -FN:24,(anonymous_2) -FN:33,(anonymous_3) -FNF:4 -FNH:2 -FNDA:0,(anonymous_0) -FNDA:1,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:1,(anonymous_3) -DA:14,0 -DA:19,1 -DA:21,1 -DA:25,0 -DA:26,0 -DA:28,0 -DA:29,0 -DA:34,1 -DA:36,1 -LF:9 -LH:4 -BRDA:14,0,0,0 -BRDA:14,0,1,0 -BRDA:28,1,0,0 -BRDA:28,1,1,0 -BRF:4 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/ModalDialog.jsx -FN:13,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:5,3 -DA:13,3 -DA:16,0 -DA:18,0 -DA:32,3 -LF:5 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/PickerToolbar.jsx -FN:6,(anonymous_0) -FN:28,(anonymous_1) -FNF:2 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:1,(anonymous_1) -DA:6,5 -DA:9,0 -DA:11,0 -DA:18,5 -DA:24,5 -DA:28,5 -LF:6 -LH:4 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/_shared/ToolbarButton.jsx -FN:6,(anonymous_0) -FN:30,(anonymous_1) -FNF:2 -FNH:1 -FNDA:0,(anonymous_0) -FNDA:1,(anonymous_1) -DA:6,5 -DA:9,0 -DA:11,0 -DA:23,5 -DA:30,5 -LF:5 -LH:3 -BRF:0 -BRH:0 -end_of_record -TN: -SF:/Users/dmitrij/pat/material-ui-pickers/src/constants/clock-types.js -FNF:0 -FNH:0 -DA:1,6 -DA:3,6 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record From b4d6e67f90e055fa7f279c0b6dddfb00f7adc47a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 26 Oct 2017 10:37:32 +0300 Subject: [PATCH 0033/1801] Remove iojs from travis.yml --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 689b9c3d2bd7e1..c47d1a41e7b65a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: node_js node_js: - - "iojs" - "8" script: From 2f3b0f41debf414957ee8beb9f9086ec329b0613 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 26 Oct 2017 15:43:39 +0300 Subject: [PATCH 0034/1801] Update version, change react peer dependency version --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 232065eb441ce2..fadb020045777c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", @@ -26,12 +26,12 @@ "url": "https://github.com/dmtrKovalenko/material-ui-pickers" }, "author": { - "name": "Your name", - "email": "your email" + "name": "Dmitriy Kovalenko", + "email": "dmtr.kovalenko@outlook.com" }, "peerDependencies": { - "react": "^16.0.0", - "react-dom": "^16.0.0", + "react": "^15.6.2 || ^16.0.0", + "react-dom": "^15.6.2 || ^16.0.0", "prop-types": "^15.6.0", "material-ui": "^1.0.0-beta.18", "classnames": "^2.2.5" From d2c68d8122a015c5afe79746fae3fec3a286fd24 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 26 Oct 2017 16:22:06 +0300 Subject: [PATCH 0035/1801] Remove outline from timepicker clock --- src/TimePicker/Clock.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index e431c54dc12158..8bb37b4f1295da 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -116,6 +116,7 @@ const styles = () => ({ height: '100%', position: 'absolute', pointerEvents: 'auto', + outline: 'none', }, }); From 42f6730758587cb628ee4b113d062755dba621b3 Mon Sep 17 00:00:00 2001 From: Taylor Fuqua Date: Thu, 26 Oct 2017 15:15:00 -0400 Subject: [PATCH 0036/1801] Update ModalDialog.jsx button alignment --- src/_shared/ModalDialog.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_shared/ModalDialog.jsx b/src/_shared/ModalDialog.jsx index d628e4b11b1d60..fdcd0e95680807 100644 --- a/src/_shared/ModalDialog.jsx +++ b/src/_shared/ModalDialog.jsx @@ -22,8 +22,8 @@ const ModalDialog = (props) => { - + ); From 7c43b9d9e4cb9b46477429d55a1c65054f0d2dec Mon Sep 17 00:00:00 2001 From: Taylor Fuqua Date: Fri, 27 Oct 2017 10:00:27 -0400 Subject: [PATCH 0037/1801] Update tabIndex on cancel button --- src/_shared/ModalDialog.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_shared/ModalDialog.jsx b/src/_shared/ModalDialog.jsx index fdcd0e95680807..a04a50cf81fc52 100644 --- a/src/_shared/ModalDialog.jsx +++ b/src/_shared/ModalDialog.jsx @@ -22,7 +22,7 @@ const ModalDialog = (props) => { - + From dccb1323f1f05684c986be386d423204b8d74668 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Oct 2017 19:19:19 +0300 Subject: [PATCH 0038/1801] Add datetimepicker vith header nav --- docs/src/Demo/Demo.jsx | 14 ++- package-lock.json | 87 ++++++++------- src/DatePicker/DatePicker.jsx | 9 +- src/DatePicker/DatePickerModal.jsx | 43 ++++---- src/DateTimePicker/DateTimePicker.jsx | 83 ++++++++++++++ src/DateTimePicker/DateTimePickerHeader.jsx | 113 ++++++++++++++++++++ src/DateTimePicker/DateTimePickerModal.jsx | 77 +++++++++++++ src/DateTimePicker/DateTimePickerTabs.jsx | 60 +++++++++++ src/TimePicker/Clock.jsx | 1 + src/TimePicker/HourView.jsx | 20 +++- src/TimePicker/TimePicker.jsx | 30 ++---- src/TimePicker/TimePickerModal.jsx | 43 +++----- src/TimePicker/utils/time-utils.js | 12 +++ src/_shared/ModalDialog.jsx | 9 +- src/constants/date-picker-view.js | 8 ++ src/index.js | 3 + src/wrappers/ModalWrapper.jsx | 64 +++++++++++ 17 files changed, 553 insertions(+), 123 deletions(-) create mode 100644 src/DateTimePicker/DateTimePicker.jsx create mode 100644 src/DateTimePicker/DateTimePickerHeader.jsx create mode 100644 src/DateTimePicker/DateTimePickerModal.jsx create mode 100644 src/DateTimePicker/DateTimePickerTabs.jsx create mode 100644 src/constants/date-picker-view.js create mode 100644 src/wrappers/ModalWrapper.jsx diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index b475a8ee624a78..1d7acd3d6ad939 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types' import { AppBar, Toolbar, IconButton, Typography, withStyles, Button, Tooltip } from 'material-ui' -import { TimePicker, DatePicker } from 'material-ui-pickers' +import { TimePicker, DatePicker, DateTimePicker } from 'material-ui-pickers' import Github from './GithubIcon' import './Demo.css'; import moment from 'moment'; @@ -104,9 +104,21 @@ class Demo extends Component { + +
+ + Date & Time picker + + + +
diff --git a/package-lock.json b/package-lock.json index c411c99bd9cc0a..5076389dc955f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.5", + "version": "1.0.0-alpha.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -249,7 +249,8 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true }, "asn1": { "version": "0.2.3", @@ -2400,6 +2401,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", + "dev": true, "requires": { "foreach": "2.0.5", "object-keys": "1.0.11" @@ -2630,6 +2632,7 @@ "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "dev": true, "requires": { "iconv-lite": "0.4.19" } @@ -2670,19 +2673,6 @@ "rst-selector-parser": "2.2.3" } }, - "enzyme-adapter-react-15": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-15/-/enzyme-adapter-react-15-1.0.2.tgz", - "integrity": "sha512-po99rkF/m3m0I23sGTNqz/7a/qTESaYZtxEQUVVyGUfBpInn49xUsIeZsn1u5jxrIrFLupVFN2DdF+qhulPZDg==", - "requires": { - "enzyme-adapter-utils": "1.0.1", - "lodash": "4.17.4", - "object.assign": "4.0.4", - "object.values": "1.0.4", - "prop-types": "15.6.0", - "react-test-renderer": "15.6.2" - } - }, "enzyme-adapter-react-16": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.2.tgz", @@ -2713,6 +2703,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.0.1.tgz", "integrity": "sha1-/NgSIzOaVaMS91UmQeBFxAQIQAk=", + "dev": true, "requires": { "lodash": "4.17.4", "object.assign": "4.0.4", @@ -2741,6 +2732,7 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", + "dev": true, "requires": { "es-to-primitive": "1.1.1", "function-bind": "1.1.1", @@ -2753,6 +2745,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", + "dev": true, "requires": { "is-callable": "1.1.3", "is-date-object": "1.0.1", @@ -3370,6 +3363,7 @@ "version": "0.8.16", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", + "dev": true, "requires": { "core-js": "1.2.7", "isomorphic-fetch": "2.2.1", @@ -3383,7 +3377,8 @@ "core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", + "dev": true } } }, @@ -3506,7 +3501,8 @@ "foreach": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -4451,7 +4447,8 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "function.prototype.name": { "version": "1.0.3", @@ -4640,6 +4637,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "dev": true, "requires": { "function-bind": "1.1.1" } @@ -4792,7 +4790,8 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true }, "ieee754": { "version": "1.1.8", @@ -4962,7 +4961,8 @@ "is-callable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=" + "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "dev": true }, "is-ci": { "version": "1.0.10", @@ -4976,7 +4976,8 @@ "is-date-object": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true }, "is-dotfile": { "version": "1.0.3", @@ -5125,6 +5126,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, "requires": { "has": "1.0.1" } @@ -5141,7 +5143,8 @@ "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "is-subset": { "version": "0.1.1", @@ -5152,7 +5155,8 @@ "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=" + "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", + "dev": true }, "is-typedarray": { "version": "1.0.0", @@ -5197,6 +5201,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "dev": true, "requires": { "node-fetch": "1.7.3", "whatwg-fetch": "2.0.3" @@ -6106,7 +6111,8 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true }, "js-yaml": { "version": "3.10.0", @@ -6439,7 +6445,8 @@ "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true }, "lodash.cond": { "version": "4.5.2", @@ -6463,6 +6470,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -6761,6 +6769,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dev": true, "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -6899,7 +6908,8 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-is": { "version": "1.0.1", @@ -6910,12 +6920,14 @@ "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=" + "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", + "dev": true }, "object.assign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", + "dev": true, "requires": { "define-properties": "1.1.2", "function-bind": "1.1.1", @@ -6948,6 +6960,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", + "dev": true, "requires": { "define-properties": "1.1.2", "es-abstract": "1.9.0", @@ -7335,6 +7348,7 @@ "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, "requires": { "asap": "2.0.6" } @@ -7343,6 +7357,7 @@ "version": "15.6.0", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "dev": true, "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -7594,15 +7609,6 @@ "react-event-listener": "0.5.1" } }, - "react-test-renderer": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-15.6.2.tgz", - "integrity": "sha1-0DM0NPwsQ4CSaWyncNpe1IA376g=", - "requires": { - "fbjs": "0.8.16", - "object-assign": "4.1.1" - } - }, "react-transition-group": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", @@ -8117,7 +8123,8 @@ "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "setprototypeof": { "version": "1.1.0", @@ -8712,7 +8719,8 @@ "ua-parser-js": { "version": "0.7.17", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==", + "dev": true }, "uglify-js": { "version": "2.8.29", @@ -9028,7 +9036,8 @@ "whatwg-fetch": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", + "dev": true }, "whatwg-url": { "version": "4.8.0", diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index b86a892c434918..bb5f1216ad2a3a 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -18,6 +18,7 @@ class DatePicker extends PureComponent { disableFuture: PropTypes.bool, animateYearScrolling: PropTypes.bool, openToYearSelection: PropTypes.bool, + children: PropTypes.node, } static defaultProps = { @@ -26,6 +27,7 @@ class DatePicker extends PureComponent { disableFuture: false, animateYearScrolling: true, openToYearSelection: false, + children: null, } state = { @@ -76,6 +78,8 @@ class DatePicker extends PureComponent { /> + { this.props.children } + { showYearSelection ? @@ -102,10 +106,7 @@ class DatePicker extends PureComponent { } const styles = () => ({ - container: { - width: 300, - height: 420, - }, + }); export default withStyles(styles, { name: 'MuiPickersDatePicker' })(DatePicker); diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index 409028193923a4..8679c423ad5bf1 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -2,8 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import DateTextField from '../_shared/DateTextField'; -import ModalDialog from '../_shared/ModalDialog'; +import ModalWrapper from '../wrappers/ModalWrapper'; import DatePicker from './DatePicker'; export default class DatePickerModal extends PureComponent { @@ -76,30 +75,24 @@ export default class DatePickerModal extends PureComponent { } = this.props; return ( - - + - - - - - + ); } } diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx new file mode 100644 index 00000000000000..0a3759cffb8020 --- /dev/null +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -0,0 +1,83 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { withStyles } from 'material-ui'; + +import YearSelection from '../DatePicker/YearSelection'; +import Calendar from '../DatePicker/Calendar'; +import HourView from '../TimePicker/HourView'; +import MinutesView from '../TimePicker/MinutesView'; +import DateTimePickerTabs from './DateTimePickerTabs'; +import DatetimePickerHeader from './DateTimePickerHeader'; + +import * as viewType from '../constants/date-picker-view'; + +class DateTimePicker extends Component { + static propTypes = { + date: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + } + + state = { + openView: viewType.DATE, + meridiemMode: 'am', + } + + setMeridiemMode = mode => () => { + this.setState({ meridiemMode: mode }); + } + + handleViewChange = view => () => { + this.setState({ openView: view }); + } + + handleChange = (time) => { + this.props.onChange(time); + } + + handleTabChange = (openView) => { + this.setState({ openView }); + } + + render() { + const { openView, meridiemMode } = this.state; + const { date, classes } = this.props; + + return ( +
+ + + + + { + openView === viewType.YEAR && + + } { + openView === viewType.DATE && + + } { + openView === viewType.HOUR && + + } { + openView === viewType.MINUTES && + + } +
+ ); + } +} + +const styles = () => ({ + +}); + +export default withStyles(styles)(DateTimePicker); diff --git a/src/DateTimePicker/DateTimePickerHeader.jsx b/src/DateTimePicker/DateTimePickerHeader.jsx new file mode 100644 index 00000000000000..2754032d281658 --- /dev/null +++ b/src/DateTimePicker/DateTimePickerHeader.jsx @@ -0,0 +1,113 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { withStyles } from 'material-ui'; +import PickerToolbar from '../_shared/PickerToolbar'; +import ToolbarButton from '../_shared/ToolbarButton'; +import * as viewType from '../constants/date-picker-view'; + +const DateTimePickerHeader = (props) => { + const { + date, classes, openView, meridiemMode, onOpenViewChange, setMeridiemMode, + } = props; + + return ( + +
+ + + +
+ +
+ + + + + + +
+ + +
+
+
+ ); +}; + +DateTimePickerHeader.propTypes = { + date: PropTypes.object.isRequired, + classes: PropTypes.object.isRequired, + meridiemMode: PropTypes.string.isRequired, + openView: PropTypes.string.isRequired, + onOpenViewChange: PropTypes.func.isRequired, + setMeridiemMode: PropTypes.func.isRequired, +}; + +const styles = () => ({ + toolbar: { + flexDirection: 'row', + alignItems: 'center', + paddingLeft: 16, + paddingRight: 16, + }, + separator: { + margin: '0 4px 0 2px', + cursor: 'default', + }, + ampmSelection: { + marginLeft: 10, + marginRight: -10, + }, + ampmLabel: { + fontSize: 18, + }, + dateHeader: { + width: '42%', + height: 65, + }, + timeHeader: { + height: 65, + display: 'flex', + justifyContent: 'flex-end', + alignItems: 'flex-end', + }, +}); + +export default withStyles(styles)(DateTimePickerHeader); diff --git a/src/DateTimePicker/DateTimePickerModal.jsx b/src/DateTimePicker/DateTimePickerModal.jsx new file mode 100644 index 00000000000000..02f3b8edaedfd7 --- /dev/null +++ b/src/DateTimePicker/DateTimePickerModal.jsx @@ -0,0 +1,77 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import moment from 'moment'; +import { withStyles } from 'material-ui'; + +import ModalWrapper from '../wrappers/ModalWrapper'; +import DateTimePicker from './DateTimePicker'; + +class DateTimePickerModal extends Component { + static propTypes = { + value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), + format: PropTypes.string, + onChange: PropTypes.func.isRequired, + autoOk: PropTypes.bool, + classes: PropTypes.array.isRequired, + } + + static defaultProps = { + value: new Date(), + format: 'MMMM Do hh:mm a', + autoOk: false, + } + + state = { + date: moment(this.props.value), + } + + handleAccept = () => { + this.props.onChange(this.state.date); + } + + handleDismiss = () => { + this.setState({ date: moment(this.props.value) }); + } + + handleChange = (date) => { + this.props.onChange(date); + } + + render() { + const { date } = this.state; + const { + value, + format, + autoOk, + classes, + ...other + } = this.props; + + return ( + + + + ); + } +} + +const styles = { + dialogContent: { + height: 470, + width: 310, + }, +}; + +export default withStyles(styles)(DateTimePickerModal); + diff --git a/src/DateTimePicker/DateTimePickerTabs.jsx b/src/DateTimePicker/DateTimePickerTabs.jsx new file mode 100644 index 00000000000000..55d6f6adad5e72 --- /dev/null +++ b/src/DateTimePicker/DateTimePickerTabs.jsx @@ -0,0 +1,60 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import { Paper, Tab, Tabs, Icon, withStyles } from 'material-ui'; +import * as viewType from '../constants/date-picker-view'; + +const viewToTabIndex = (openView) => { + if (openView === viewType.DATE || openView === viewType.YEAR) { + return 'date'; + } + + return 'time'; +}; + +const tabIndexToView = (tab) => { + if (tab === 'date') { + return viewType.DATE; + } + + return viewType.HOUR; +}; + +const DateTimePickerTabs = (props) => { + const { view, onChange, classes } = props; + + const handleChange = (e, value) => { + if (value !== viewToTabIndex(view)) { + onChange(tabIndexToView(value)); + } + }; + + return ( + + + date_range } /> + access_time } /> + + + ); +}; + +DateTimePickerTabs.propTypes = { + view: PropTypes.string.isRequired, + onChange: PropTypes.func.isRequired, + classes: PropTypes.object.isRequired, +}; + +const styles = theme => ({ + tabs: { + backgroundColor: theme.palette.primary[500], + color: theme.palette.common.white, + }, +}); + +export default withStyles(styles)(DateTimePickerTabs); + diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index 8bb37b4f1295da..ffa731b7f58eb6 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -47,6 +47,7 @@ class Clock extends Component { handleMove = (e) => { e.preventDefault(); + e.stopPropagation(); // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari if (e.buttons === 1 || e.nativeEvent.which === 1) { this.setTime(e.nativeEvent, false); diff --git a/src/TimePicker/HourView.jsx b/src/TimePicker/HourView.jsx index 0bd265790f887f..4d17ef0dbe32db 100644 --- a/src/TimePicker/HourView.jsx +++ b/src/TimePicker/HourView.jsx @@ -1,18 +1,30 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import Clock from './Clock'; import { HOURS } from '../constants/clock-types'; import ClockNumber from './ClockNumber'; +import { convertToMeridiem } from './utils/time-utils'; -export default class HourView extends Component { +export default class HourView extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, + meridiemMode: PropTypes.string.isRequired, + } + + componentDidUpdate = (prevProps) => { + if (this.props.meridiemMode !== prevProps.meridiemMode) { + this.handleChange(this.props.date.hours()); + } } handleChange = (hours) => { - const updatedDate = this.props.date.clone().hour(hours); - this.props.onChange(updatedDate); + const { meridiemMode } = this.props; + + const updatedTime = this.props.date.clone().hour(hours); + const withMeridiem = convertToMeridiem(updatedTime, meridiemMode); + + this.props.onChange(withMeridiem); } render() { diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index b5d57975aa6e90..b7504fa1328e30 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -11,6 +11,11 @@ class TimePicker extends Component { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, classes: PropTypes.object.isRequired, + children: PropTypes.node, + } + + static defaultProps = { + children: null, } state = { @@ -19,23 +24,10 @@ class TimePicker extends Component { } setMeridiemMode = mode => () => { - this.setState( - { meridiemMode: mode }, - () => this.handleChange(this.props.date), - ); + this.setState({ meridiemMode: mode }); } handleChange = (time) => { - const { meridiemMode } = this.state; - - if (time.format('a') !== meridiemMode) { - const hours = meridiemMode === 'am' - ? time.hours() - 12 - : time.hours() + 12; - - time = time.clone().hours(hours); - } - this.props.onChange(time); } @@ -83,6 +75,7 @@ class TimePicker extends Component { label="AM" onClick={this.setMeridiemMode('am')} /> + + { this.props.children } + { isHourViewShown ? : @@ -113,17 +109,13 @@ class TimePicker extends Component { } const styles = () => ({ - container: { - width: 300, - height: 420, - }, toolbar: { flexDirection: 'row', alignItems: 'center', paddingLeft: 50, }, separator: { - margin: '0 2px 0 4px', + margin: '0 4px 0 2px', cursor: 'default', }, ampmSelection: { diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx index 10f6c5c5a0c330..a5426baa9fa76d 100644 --- a/src/TimePicker/TimePickerModal.jsx +++ b/src/TimePicker/TimePickerModal.jsx @@ -2,6 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; +import ModalWrapper from '../wrappers/ModalWrapper'; import DateTextField from '../_shared/DateTextField'; import ModalDialog from '../_shared/ModalDialog'; import TimePicker from './TimePicker'; @@ -21,14 +22,9 @@ export default class TimePickerModal extends PureComponent { } state = { - open: false, time: moment(this.props.value), } - togglePicker = () => { - this.setState({ open: !this.state.open }); - } - handleChange = (time) => { this.setState({ time }, () => { if (this.props.autoOk) { @@ -39,15 +35,10 @@ export default class TimePickerModal extends PureComponent { handleAccept = () => { this.props.onChange(this.state.time); - this.togglePicker(); // close } handleDismiss = () => { - this.setState({ - time: moment(this.props.value), - }); - - this.togglePicker(); + this.setState({ time: moment(this.props.value) }); } render() { @@ -58,25 +49,19 @@ export default class TimePickerModal extends PureComponent { } = this.props; return ( - - + - - - - - + ); } } diff --git a/src/TimePicker/utils/time-utils.js b/src/TimePicker/utils/time-utils.js index c8837aa3c9d14e..5f84705b081aeb 100644 --- a/src/TimePicker/utils/time-utils.js +++ b/src/TimePicker/utils/time-utils.js @@ -40,3 +40,15 @@ export const getMinutes = (offsetX, offsetY, step = 6) => { return value; }; +export const convertToMeridiem = (time, meridiem) => { + if (time.format('a') !== meridiem) { + const hours = meridiem === 'am' + ? time.hours() - 12 + : time.hours() + 12; + + return time.clone().hours(hours); + } + + return time; +}; + diff --git a/src/_shared/ModalDialog.jsx b/src/_shared/ModalDialog.jsx index d628e4b11b1d60..5ab35df2b2017a 100644 --- a/src/_shared/ModalDialog.jsx +++ b/src/_shared/ModalDialog.jsx @@ -1,9 +1,13 @@ import React from 'react'; import PropTypes from 'prop-types'; +import classnames from 'classnames'; import { Dialog, DialogActions, DialogContent, Button, withStyles } from 'material-ui'; const styles = { dialog: { + width: 300, + height: 420, + '&:first-child': { padding: 0, }, @@ -12,12 +16,12 @@ const styles = { const ModalDialog = (props) => { const { - children, classes, onAccept, onDismiss, ...other + children, classes, onAccept, onDismiss, dialogContentClassName, ...other } = props; return ( - + { children } @@ -34,6 +38,7 @@ ModalDialog.propTypes = { onAccept: PropTypes.func.isRequired, onDismiss: PropTypes.func.isRequired, classes: PropTypes.object.isRequired, + dialogContentClassName: PropTypes.string, }; export default withStyles(styles, { name: 'MuiPickersModal' })(ModalDialog); diff --git a/src/constants/date-picker-view.js b/src/constants/date-picker-view.js new file mode 100644 index 00000000000000..cd89cab59e37fc --- /dev/null +++ b/src/constants/date-picker-view.js @@ -0,0 +1,8 @@ +export const YEAR = 'year'; + +export const DATE = 'date'; + +export const HOUR = 'hour'; + +export const MINUTES = 'minutes'; + diff --git a/src/index.js b/src/index.js index ae8d7c1693edf9..d36e19631a4cf8 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,6 @@ export { default as DatePicker } from './DatePicker/DatePickerModal.jsx'; export { default as TimePicker } from './TimePicker/TimePickerModal.jsx'; + +export { default as DateTimePicker } from './DateTimePicker/DateTimePickerModal.jsx'; + diff --git a/src/wrappers/ModalWrapper.jsx b/src/wrappers/ModalWrapper.jsx new file mode 100644 index 00000000000000..675ad08fef8701 --- /dev/null +++ b/src/wrappers/ModalWrapper.jsx @@ -0,0 +1,64 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import ModalDialog from '../_shared/ModalDialog'; +import DateTextField from '../_shared/DateTextField'; + +export default class ModalWrapper extends Component { + static propTypes = { + children: PropTypes.node.isRequired, + value: PropTypes.string.isRequired, + format: PropTypes.string.isRequired, + onAccept: PropTypes.func.isRequired, + onDismiss: PropTypes.func.isRequired, + date: PropTypes.object.isRequired, + dialogContentClassName: PropTypes.string, + } + + static defaultProps = { + dialogContentClassName: '', + } + + state = { + open: false, + } + + togglePicker = () => { + this.setState({ open: !this.state.open }); + } + + handleAccept = () => { + this.togglePicker(); // close + this.props.onAccept(); + } + + handleDismiss = () => { + this.togglePicker(); + this.props.onDismiss(); + } + + render() { + const { + value, format, children, dialogContentClassName, ...other + } = this.props; + + return ( +
+ + + + { children } + +
+ ); + } +} From e78a2daae3372b21c53a6fc47cc9f6f2aa4c3f2b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Oct 2017 22:44:46 +0300 Subject: [PATCH 0039/1801] Pass all available props to components via datetimepicker --- docs/src/Demo/Demo.jsx | 2 + src/DatePicker/Calendar.jsx | 13 ++- src/DatePicker/DatePicker.jsx | 16 +++- src/DatePicker/DatePickerModal.jsx | 45 +++++----- src/DatePicker/YearSelection.jsx | 20 ++++- src/DateTimePicker/DateTimePicker.jsx | 98 ++++++++++++++++++---- src/DateTimePicker/DateTimePickerModal.jsx | 18 +++- src/DateTimePicker/DateTimePickerView.jsx | 27 ++++++ src/TimePicker/Clock.jsx | 4 +- src/TimePicker/HourView.jsx | 4 +- src/TimePicker/MinutesView.jsx | 4 +- src/TimePicker/TimePickerModal.jsx | 11 ++- src/_shared/DateTextField.jsx | 12 ++- src/wrappers/ModalWrapper.jsx | 15 +++- 14 files changed, 225 insertions(+), 64 deletions(-) create mode 100644 src/DateTimePicker/DateTimePickerView.jsx diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 1d7acd3d6ad939..68abd9d80fb3d5 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -115,6 +115,8 @@ class Demo extends Component { diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index a004560c9c57a4..4bb395cc0245c5 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -16,12 +16,13 @@ class Calendar extends PureComponent { maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, - disableFuture: PropTypes.bool.isRequired, + disableFuture: PropTypes.bool, } static defaultProps = { minDate: '1900-01-01', maxDate: '2100-01-01', + disableFuture: false, } state = { @@ -29,7 +30,12 @@ class Calendar extends PureComponent { } onDateSelect = (day) => { - this.props.onChange(day); + const { date } = this.props; + const updatedDate = day.clone() + .hours(date.hours()) + .minutes(date.minutes()); + + this.props.onChange(updatedDate); } handleChangeMonth = (newMonth) => { @@ -61,6 +67,7 @@ class Calendar extends PureComponent { renderDays = (week) => { const { classes, date } = this.props; + const selectedDate = date.clone().startOf('day').format(); const end = week.clone().endOf('week'); const currentMonthNumber = this.state.currentMonth.get('month'); @@ -68,7 +75,7 @@ class Calendar extends PureComponent { .map((day) => { const dayClass = classnames(classes.day, { [classes.hidden]: day.get('month') !== currentMonthNumber, - [classes.selected]: day.toString() === date.toString(), + [classes.selected]: day.format() === selectedDate, [classes.disabled]: this.shouldDisableDate(day), }); diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index bb5f1216ad2a3a..f8251fed1de10c 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -11,8 +11,18 @@ import ToolbarButton from '../_shared/ToolbarButton'; class DatePicker extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, - minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), - maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + minDate: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), + maxDate: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), classes: PropTypes.shape({}).isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool, @@ -25,7 +35,7 @@ class DatePicker extends PureComponent { minDate: '1900-01-01', maxDate: '2100-01-01', disableFuture: false, - animateYearScrolling: true, + animateYearScrolling: undefined, openToYearSelection: false, children: null, } diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index 8679c423ad5bf1..38f5104d833d7b 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -7,9 +7,24 @@ import DatePicker from './DatePicker'; export default class DatePickerModal extends PureComponent { static propTypes = { - minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), - maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), - value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), + value: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), + minDate: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), + maxDate: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), format: PropTypes.string, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, @@ -19,25 +34,20 @@ export default class DatePickerModal extends PureComponent { } static defaultProps = { - minDate: '1900-01-01', - maxDate: '2100-01-01', - value: null, + value: new Date(), format: 'MMMM Do', autoOk: false, - disableFuture: false, - animateYearScrolling: false, - openToYearSelection: false, + minDate: undefined, + maxDate: undefined, + disableFuture: undefined, + animateYearScrolling: undefined, + openToYearSelection: undefined, } state = { - open: false, date: moment(this.props.value), } - togglePicker = () => { - this.setState({ open: !this.state.open }); - } - handleChange = (date) => { this.setState({ date }, () => { if (this.props.autoOk) { @@ -48,15 +58,10 @@ export default class DatePickerModal extends PureComponent { handleAccept = () => { this.props.onChange(this.state.date); - this.togglePicker(); // close } handleDismiss = () => { - this.setState({ - date: moment(this.props.value), - }); - - this.togglePicker(); + this.setState({ date: moment(this.props.value) }); } render() { diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index 05df6722861ec3..a51a376a41a8d9 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -10,12 +10,26 @@ const moment = extendMoment(Moment); class YearSelection extends PureComponent { static propTypes = { date: PropTypes.shape({}).isRequired, - minDate: PropTypes.shape({}).isRequired, - maxDate: PropTypes.shape({}).isRequired, + minDate: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]).isRequired, + maxDate: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]).isRequired, classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool.isRequired, - animateYearScrolling: PropTypes.bool.isRequired, + animateYearScrolling: PropTypes.bool, + } + + static defaultProps = { + animateYearScrolling: false, } componentDidMount = () => { diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx index 0a3759cffb8020..644848479ab8dc 100644 --- a/src/DateTimePicker/DateTimePicker.jsx +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; +import View from './DateTimePickerView'; import YearSelection from '../DatePicker/YearSelection'; import Calendar from '../DatePicker/Calendar'; import HourView from '../TimePicker/HourView'; @@ -14,13 +15,50 @@ import * as viewType from '../constants/date-picker-view'; class DateTimePicker extends Component { static propTypes = { date: PropTypes.object.isRequired, - classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, + autoSubmit: PropTypes.bool, + openTo: PropTypes.string, + disableFuture: PropTypes.bool, + minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + } + + static defaultProps = { + minDate: '1900-01-01', + maxDate: '2100-01-01', + autoSubmit: true, + openTo: viewType.DATE, + disableFuture: false, } state = { - openView: viewType.DATE, - meridiemMode: 'am', + openView: this.props.openTo, + meridiemMode: this.props.date.format('a'), + } + + onYearChange = (time) => { + this.handleChange(time); + if (this.props.autoSubmit) { + this.handleViewChange(viewType.DATE)(); + } + } + + onDateChange = (time) => { + this.handleChange(time); + if (this.props.autoSubmit) { + this.handleViewChange(viewType.HOUR)(); + } + } + + onHourChange = (time, isFinish) => { + this.handleChange(time); + if (isFinish && this.props.autoSubmit) { + this.handleViewChange(viewType.MINUTES)(); + } + } + + onMinutesChange = (time, isFinish) => { + this.handleChange(time, isFinish); } setMeridiemMode = mode => () => { @@ -41,7 +79,12 @@ class DateTimePicker extends Component { render() { const { openView, meridiemMode } = this.state; - const { date, classes } = this.props; + const { + date, + minDate, + maxDate, + disableFuture, + } = this.props; return (
@@ -58,19 +101,40 @@ class DateTimePicker extends Component { onChange={this.handleTabChange} /> - { - openView === viewType.YEAR && - - } { - openView === viewType.DATE && - - } { - openView === viewType.HOUR && - - } { - openView === viewType.MINUTES && - - } + + + + + + + + + + + + + + +
); } diff --git a/src/DateTimePicker/DateTimePickerModal.jsx b/src/DateTimePicker/DateTimePickerModal.jsx index 02f3b8edaedfd7..077a3dcb45cf9f 100644 --- a/src/DateTimePicker/DateTimePickerModal.jsx +++ b/src/DateTimePicker/DateTimePickerModal.jsx @@ -8,17 +8,26 @@ import DateTimePicker from './DateTimePicker'; class DateTimePickerModal extends Component { static propTypes = { - value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), + value: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), format: PropTypes.string, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, - classes: PropTypes.array.isRequired, + classes: PropTypes.object.isRequired, + autoSubmit: PropTypes.bool, + openTo: PropTypes.string, } static defaultProps = { value: new Date(), format: 'MMMM Do hh:mm a', autoOk: false, + autoSubmit: undefined, + openTo: undefined, } state = { @@ -34,7 +43,7 @@ class DateTimePickerModal extends Component { } handleChange = (date) => { - this.props.onChange(date); + this.setState({ date }); } render() { @@ -43,7 +52,9 @@ class DateTimePickerModal extends Component { value, format, autoOk, + openTo, classes, + autoSubmit, ...other } = this.props; @@ -59,6 +70,7 @@ class DateTimePickerModal extends Component { > diff --git a/src/DateTimePicker/DateTimePickerView.jsx b/src/DateTimePicker/DateTimePickerView.jsx new file mode 100644 index 00000000000000..bbba2971e35b21 --- /dev/null +++ b/src/DateTimePicker/DateTimePickerView.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import classnames from 'classnames'; +import { withStyles } from 'material-ui'; + +const DateTimePickerView = ({ + view, selected, children, classes, +}) => ( +
+ { children } +
+); + +DateTimePickerView.propTypes = { + view: PropTypes.string.isRequired, + selected: PropTypes.string.isRequired, + children: PropTypes.node.isRequired, + classes: PropTypes.object.isRequired, +}; + +const styles = { + hidden: { + display: 'none', + }, +}; + +export default withStyles(styles, { name: 'MuiPickerDTPickerView ' })(DateTimePickerView); diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index ffa731b7f58eb6..651719299ed696 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -15,7 +15,7 @@ class Clock extends Component { children: PropTypes.arrayOf(PropTypes.node).isRequired, } - setTime(e) { + setTime(e, isFinish = false) { let { offsetX, offsetY } = e; if (typeof offsetX === 'undefined') { @@ -29,7 +29,7 @@ class Clock extends Component { ? getMinutes(offsetX, offsetY) : getHours(offsetX, offsetY); - this.props.onChange(value); + this.props.onChange(value, isFinish); } handleTouchMove = (e) => { diff --git a/src/TimePicker/HourView.jsx b/src/TimePicker/HourView.jsx index 4d17ef0dbe32db..db142eafac9b35 100644 --- a/src/TimePicker/HourView.jsx +++ b/src/TimePicker/HourView.jsx @@ -18,13 +18,13 @@ export default class HourView extends PureComponent { } } - handleChange = (hours) => { + handleChange = (hours, isFinish) => { const { meridiemMode } = this.props; const updatedTime = this.props.date.clone().hour(hours); const withMeridiem = convertToMeridiem(updatedTime, meridiemMode); - this.props.onChange(withMeridiem); + this.props.onChange(withMeridiem, isFinish); } render() { diff --git a/src/TimePicker/MinutesView.jsx b/src/TimePicker/MinutesView.jsx index b2989a9dc91e29..5057a7dc2ec949 100644 --- a/src/TimePicker/MinutesView.jsx +++ b/src/TimePicker/MinutesView.jsx @@ -10,9 +10,9 @@ export default class MinutesView extends Component { onChange: PropTypes.func.isRequired, } - handleChange = (minutes) => { + handleChange = (minutes, isFinish) => { const updatedDate = this.props.date.clone().minutes(minutes); - this.props.onChange(updatedDate); + this.props.onChange(updatedDate, isFinish); } render() { diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx index a5426baa9fa76d..21aa16ea92065a 100644 --- a/src/TimePicker/TimePickerModal.jsx +++ b/src/TimePicker/TimePickerModal.jsx @@ -3,20 +3,23 @@ import PropTypes from 'prop-types'; import moment from 'moment'; import ModalWrapper from '../wrappers/ModalWrapper'; -import DateTextField from '../_shared/DateTextField'; -import ModalDialog from '../_shared/ModalDialog'; import TimePicker from './TimePicker'; export default class TimePickerModal extends PureComponent { static propTypes = { - value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), + value: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]), format: PropTypes.string, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, } static defaultProps = { - value: null, + value: new Date(), format: 'hh:mm A', autoOk: false, } diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index a347c3fa5e8ef2..7a083ea52feab0 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -5,9 +5,14 @@ import { TextField } from 'material-ui'; export default class DateTextField extends Component { static propTypes = { - value: PropTypes.oneOfType([PropTypes.object, PropTypes.string]).isRequired, + value: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]).isRequired, format: PropTypes.string.isRequired, - onChange: PropTypes.func.isRequired, + // onChange: PropTypes.func.isRequired, } shouldComponentUpdate = nextProps => ( @@ -26,7 +31,8 @@ export default class DateTextField extends Component { const momentValue = moment(value); if (momentValue.isValid()) { - this.props.onChange(momentValue); + console.warn('Currently not supported keyboad input'); + // this.props.onChange(momentValue); } } diff --git a/src/wrappers/ModalWrapper.jsx b/src/wrappers/ModalWrapper.jsx index 675ad08fef8701..8d376045188682 100644 --- a/src/wrappers/ModalWrapper.jsx +++ b/src/wrappers/ModalWrapper.jsx @@ -5,8 +5,13 @@ import DateTextField from '../_shared/DateTextField'; export default class ModalWrapper extends Component { static propTypes = { + value: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.string, + PropTypes.number, + PropTypes.instanceOf(Date), + ]).isRequired, children: PropTypes.node.isRequired, - value: PropTypes.string.isRequired, format: PropTypes.string.isRequired, onAccept: PropTypes.func.isRequired, onDismiss: PropTypes.func.isRequired, @@ -38,7 +43,13 @@ export default class ModalWrapper extends Component { render() { const { - value, format, children, dialogContentClassName, ...other + value, + format, + children, + dialogContentClassName, + onAccept, + onDismiss, + ...other } = this.props; return ( From ec5514a7d4ad0f4992a051c8ba453f014c31c05c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 12:56:09 +0300 Subject: [PATCH 0040/1801] Finish datetime picker configuration --- docs/src/Demo/Demo.jsx | 12 +++--- src/DatePicker/Calendar.jsx | 5 ++- src/DatePicker/DatePicker.jsx | 17 ++------ src/DatePicker/DatePickerModal.jsx | 28 +++++------- src/DatePicker/YearSelection.jsx | 35 +++++++-------- src/DateTimePicker/DateTimePicker.jsx | 48 ++++++--------------- src/DateTimePicker/DateTimePickerHeader.jsx | 10 +++-- src/DateTimePicker/DateTimePickerModal.jsx | 37 ++++++++++++---- src/DateTimePicker/DateTimePickerView.jsx | 4 +- src/TimePicker/TimePicker.jsx | 15 +++++-- src/TimePicker/TimePickerModal.jsx | 10 ++++- src/_shared/DateTextField.jsx | 1 + src/constants/prop-types.js | 13 ++++++ src/wrappers/ModalWrapper.jsx | 12 ++---- 14 files changed, 127 insertions(+), 120 deletions(-) create mode 100644 src/constants/prop-types.js diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 68abd9d80fb3d5..1de6afedbe0884 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -90,7 +90,7 @@ class Demo extends Component { Date picker - - @@ -114,9 +114,9 @@ class Demo extends Component { Date & Time picker - diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index 4bb395cc0245c5..a34772ae93eea8 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -6,14 +6,15 @@ import Moment from 'moment'; import { extendMoment } from 'moment-range'; import classnames from 'classnames'; import CalendarHeader from './CalendarHeader'; +import DomainPropTypes from '../constants/prop-types'; const moment = extendMoment(Moment); class Calendar extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, - minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), - maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + minDate: DomainPropTypes.date, + maxDate: DomainPropTypes.date, classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool, diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index f8251fed1de10c..408fd09b53d087 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -7,23 +7,14 @@ import Calendar from './Calendar'; import YearSelection from './YearSelection'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; +import DomainPropTypes from '../constants/prop-types'; class DatePicker extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, - minDate: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]), - maxDate: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]), - classes: PropTypes.shape({}).isRequired, + minDate: DomainPropTypes.date, + maxDate: DomainPropTypes.date, + classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool, animateYearScrolling: PropTypes.bool, diff --git a/src/DatePicker/DatePickerModal.jsx b/src/DatePicker/DatePickerModal.jsx index 38f5104d833d7b..a5ebb1d3a52c8f 100644 --- a/src/DatePicker/DatePickerModal.jsx +++ b/src/DatePicker/DatePickerModal.jsx @@ -4,27 +4,13 @@ import moment from 'moment'; import ModalWrapper from '../wrappers/ModalWrapper'; import DatePicker from './DatePicker'; +import DomainPropTypes from '../constants/prop-types'; export default class DatePickerModal extends PureComponent { static propTypes = { - value: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]), - minDate: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]), - maxDate: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]), + value: DomainPropTypes.date, + minDate: DomainPropTypes.date, + maxDate: DomainPropTypes.date, format: PropTypes.string, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, @@ -52,6 +38,7 @@ export default class DatePickerModal extends PureComponent { this.setState({ date }, () => { if (this.props.autoOk) { this.handleAccept(); + this.togglePicker(); } }); } @@ -64,6 +51,10 @@ export default class DatePickerModal extends PureComponent { this.setState({ date: moment(this.props.value) }); } + togglePicker = () => { + this.wrapper.togglePicker(); + } + render() { const { date } = this.state; const { @@ -81,6 +72,7 @@ export default class DatePickerModal extends PureComponent { return ( { this.wrapper = node; }} value={value} format={format} onAccept={this.handleAccept} diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index a51a376a41a8d9..e4fe35f503baca 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -4,24 +4,15 @@ import Moment from 'moment'; import classnames from 'classnames'; import { extendMoment } from 'moment-range'; import { withStyles } from 'material-ui'; +import DomainPropTypes from '../constants/prop-types'; const moment = extendMoment(Moment); class YearSelection extends PureComponent { static propTypes = { date: PropTypes.shape({}).isRequired, - minDate: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]).isRequired, - maxDate: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]).isRequired, + minDate: DomainPropTypes.date.isRequired, + maxDate: DomainPropTypes.date.isRequired, classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool.isRequired, @@ -33,14 +24,7 @@ class YearSelection extends PureComponent { } componentDidMount = () => { - const { animateYearScrolling } = this.props; - const currentYearElement = document.getElementsByClassName(this.props.classes.selectedYear)[0]; - - if (currentYearElement) { - currentYearElement.scrollIntoView({ - behavior: animateYearScrolling ? 'smooth' : 'auto', - }); - } + this.scrollToCurrentYear(); } onYearSelect = (year) => { @@ -50,6 +34,17 @@ class YearSelection extends PureComponent { onChange(newDate); } + scrollToCurrentYear = () => { + const { animateYearScrolling, classes } = this.props; + const currentYearElement = document.getElementsByClassName(classes.selectedYear)[0]; + + if (currentYearElement) { + currentYearElement.scrollIntoView({ + behavior: animateYearScrolling ? 'smooth' : 'auto', + }); + } + } + render() { const { minDate, maxDate, date, classes, disableFuture, diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx index 644848479ab8dc..46d6102372271e 100644 --- a/src/DateTimePicker/DateTimePicker.jsx +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -10,6 +10,7 @@ import MinutesView from '../TimePicker/MinutesView'; import DateTimePickerTabs from './DateTimePickerTabs'; import DatetimePickerHeader from './DateTimePickerHeader'; +import DomainPropTypes from '../constants/prop-types'; import * as viewType from '../constants/date-picker-view'; class DateTimePicker extends Component { @@ -17,10 +18,10 @@ class DateTimePicker extends Component { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, autoSubmit: PropTypes.bool, - openTo: PropTypes.string, + openTo: PropTypes.oneOf(Object.values(viewType)), disableFuture: PropTypes.bool, - minDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), - maxDate: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.number]), + minDate: DomainPropTypes.date, + maxDate: DomainPropTypes.date, } static defaultProps = { @@ -36,45 +37,24 @@ class DateTimePicker extends Component { meridiemMode: this.props.date.format('a'), } - onYearChange = (time) => { + onChange = nextView => (time, isFinish = true) => { this.handleChange(time); - if (this.props.autoSubmit) { - this.handleViewChange(viewType.DATE)(); - } - } - - onDateChange = (time) => { - this.handleChange(time); - if (this.props.autoSubmit) { - this.handleViewChange(viewType.HOUR)(); - } - } - onHourChange = (time, isFinish) => { - this.handleChange(time); if (isFinish && this.props.autoSubmit) { - this.handleViewChange(viewType.MINUTES)(); + this.handleViewChange(nextView); } } - onMinutesChange = (time, isFinish) => { - this.handleChange(time, isFinish); - } - setMeridiemMode = mode => () => { this.setState({ meridiemMode: mode }); } - handleViewChange = view => () => { + handleViewChange = (view) => { this.setState({ openView: view }); } - handleChange = (time) => { - this.props.onChange(time); - } - - handleTabChange = (openView) => { - this.setState({ openView }); + handleChange = (time, isFinish = false) => { + this.props.onChange(time, isFinish); } render() { @@ -98,7 +78,7 @@ class DateTimePicker extends Component { @@ -106,7 +86,7 @@ class DateTimePicker extends Component { date={date} minDate={minDate} maxDate={maxDate} - onChange={this.onYearChange} + onChange={this.onChange(viewType.DATE)} disableFuture={disableFuture} /> @@ -116,7 +96,7 @@ class DateTimePicker extends Component { date={date} minDate={minDate} maxDate={maxDate} - onChange={this.onDateChange} + onChange={this.onChange(viewType.HOUR)} disableFuture={disableFuture} /> @@ -125,14 +105,14 @@ class DateTimePicker extends Component { diff --git a/src/DateTimePicker/DateTimePickerHeader.jsx b/src/DateTimePicker/DateTimePickerHeader.jsx index 2754032d281658..0616bc85ce7e6d 100644 --- a/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/src/DateTimePicker/DateTimePickerHeader.jsx @@ -10,19 +10,21 @@ const DateTimePickerHeader = (props) => { date, classes, openView, meridiemMode, onOpenViewChange, setMeridiemMode, } = props; + const changeOpenView = view => () => onOpenViewChange(view); + return (
@@ -31,7 +33,7 @@ const DateTimePickerHeader = (props) => {
@@ -45,7 +47,7 @@ const DateTimePickerHeader = (props) => { diff --git a/src/DateTimePicker/DateTimePickerModal.jsx b/src/DateTimePicker/DateTimePickerModal.jsx index 077a3dcb45cf9f..2d5640a51d569b 100644 --- a/src/DateTimePicker/DateTimePickerModal.jsx +++ b/src/DateTimePicker/DateTimePickerModal.jsx @@ -3,23 +3,22 @@ import PropTypes from 'prop-types'; import moment from 'moment'; import { withStyles } from 'material-ui'; +import DomainPropTypes from '../constants/prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; import DateTimePicker from './DateTimePicker'; class DateTimePickerModal extends Component { static propTypes = { - value: PropTypes.oneOfType([ - PropTypes.object, - PropTypes.string, - PropTypes.number, - PropTypes.instanceOf(Date), - ]), + value: DomainPropTypes.date, format: PropTypes.string, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, classes: PropTypes.object.isRequired, autoSubmit: PropTypes.bool, + disableFuture: PropTypes.bool, openTo: PropTypes.string, + minDate: DomainPropTypes.date, + maxDate: DomainPropTypes.date, } static defaultProps = { @@ -28,6 +27,9 @@ class DateTimePickerModal extends Component { autoOk: false, autoSubmit: undefined, openTo: undefined, + disableFuture: undefined, + minDate: undefined, + maxDate: undefined, } state = { @@ -42,8 +44,17 @@ class DateTimePickerModal extends Component { this.setState({ date: moment(this.props.value) }); } - handleChange = (date) => { - this.setState({ date }); + handleChange = (date, isFinish) => { + this.setState({ date }, () => { + if (isFinish && this.props.autoOk) { + this.handleAccept(); + this.togglePicker(); + } + }); + } + + togglePicker = () => { + this.wrapper.togglePicker(); } render() { @@ -54,12 +65,16 @@ class DateTimePickerModal extends Component { autoOk, openTo, classes, + minDate, + maxDate, autoSubmit, + disableFuture, ...other } = this.props; return ( { this.wrapper = node; }} value={value} format={format} onAccept={this.handleAccept} @@ -70,8 +85,12 @@ class DateTimePickerModal extends Component { > ); @@ -85,5 +104,5 @@ const styles = { }, }; -export default withStyles(styles)(DateTimePickerModal); +export default withStyles(styles, { name: 'MuiPickerDTPickerModal' })(DateTimePickerModal); diff --git a/src/DateTimePicker/DateTimePickerView.jsx b/src/DateTimePicker/DateTimePickerView.jsx index bbba2971e35b21..76a1c70c303bfd 100644 --- a/src/DateTimePicker/DateTimePickerView.jsx +++ b/src/DateTimePicker/DateTimePickerView.jsx @@ -20,7 +20,9 @@ DateTimePickerView.propTypes = { const styles = { hidden: { - display: 'none', + pointerEvents: 'none', + visibility: 'hidden', // required for saving scrolls state + position: 'absolute', // remove relation for layout }, }; diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index b7504fa1328e30..a3fa374840ab24 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -27,7 +27,16 @@ class TimePicker extends Component { this.setState({ meridiemMode: mode }); } - handleChange = (time) => { + handleChange = openMinutes => (time, isFinish) => { + if (isFinish) { + if (!openMinutes) { + this.props.onChange(time, isFinish); + return; + } + + this.openMinutesView(); + } + this.props.onChange(time); } @@ -94,12 +103,12 @@ class TimePicker extends Component { : }
diff --git a/src/TimePicker/TimePickerModal.jsx b/src/TimePicker/TimePickerModal.jsx index 21aa16ea92065a..401e97576227e7 100644 --- a/src/TimePicker/TimePickerModal.jsx +++ b/src/TimePicker/TimePickerModal.jsx @@ -28,10 +28,11 @@ export default class TimePickerModal extends PureComponent { time: moment(this.props.value), } - handleChange = (time) => { + handleChange = (time, isFinish) => { this.setState({ time }, () => { - if (this.props.autoOk) { + if (isFinish && this.props.autoOk) { this.handleAccept(); + this.togglePicker(); } }); } @@ -44,6 +45,10 @@ export default class TimePickerModal extends PureComponent { this.setState({ time: moment(this.props.value) }); } + togglePicker = () => { + this.wrapper.togglePicker(); + } + render() { const { time } = this.state; const { @@ -53,6 +58,7 @@ export default class TimePickerModal extends PureComponent { return ( { this.wrapper = node; }} value={value} format={format} onAccept={this.handleAccept} diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index 7a083ea52feab0..1f870dc2022623 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -41,6 +41,7 @@ export default class DateTextField extends Component { return ( Date: Sat, 28 Oct 2017 14:59:42 +0300 Subject: [PATCH 0041/1801] Fix linting problems --- src/_shared/ModalDialog.jsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/_shared/ModalDialog.jsx b/src/_shared/ModalDialog.jsx index 5ab35df2b2017a..fd15152ebc0182 100644 --- a/src/_shared/ModalDialog.jsx +++ b/src/_shared/ModalDialog.jsx @@ -41,4 +41,8 @@ ModalDialog.propTypes = { dialogContentClassName: PropTypes.string, }; +ModalDialog.defaultProps = { + dialogContentClassName: '', +}; + export default withStyles(styles, { name: 'MuiPickersModal' })(ModalDialog); From 0700750e651845ec615c182aa42aa9c830e182d5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 15:08:00 +0300 Subject: [PATCH 0042/1801] Add renering unit tests --- __tests__/DateTimePicker/DateTimePicker.test.js | 16 ++++++++++++++++ .../DateTimePicker/DateTimePickerHeader.test.js | 16 ++++++++++++++++ .../DateTimePicker/DateTimePickerModal.test.js | 16 ++++++++++++++++ .../DateTimePicker/DateTimePickerTabs.test.js | 16 ++++++++++++++++ .../DateTimePicker/DateTimePickerView.test.js | 16 ++++++++++++++++ 5 files changed, 80 insertions(+) create mode 100644 __tests__/DateTimePicker/DateTimePicker.test.js create mode 100644 __tests__/DateTimePicker/DateTimePickerHeader.test.js create mode 100644 __tests__/DateTimePicker/DateTimePickerModal.test.js create mode 100644 __tests__/DateTimePicker/DateTimePickerTabs.test.js create mode 100644 __tests__/DateTimePicker/DateTimePickerView.test.js diff --git a/__tests__/DateTimePicker/DateTimePicker.test.js b/__tests__/DateTimePicker/DateTimePicker.test.js new file mode 100644 index 00000000000000..03af1610f0c8c9 --- /dev/null +++ b/__tests__/DateTimePicker/DateTimePicker.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DateTimePicker from '../../src/DateTimePicker/DateTimePicker'; + +describe('DateTimePicker', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DateTimePicker/DateTimePickerHeader.test.js b/__tests__/DateTimePicker/DateTimePickerHeader.test.js new file mode 100644 index 00000000000000..0a1658ad678b36 --- /dev/null +++ b/__tests__/DateTimePicker/DateTimePickerHeader.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DateTimePickerHeader from '../../src/DateTimePicker/DateTimePickerHeader'; + +describe('DateTimePickerHed', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DateTimePicker/DateTimePickerModal.test.js b/__tests__/DateTimePicker/DateTimePickerModal.test.js new file mode 100644 index 00000000000000..0506c694781073 --- /dev/null +++ b/__tests__/DateTimePicker/DateTimePickerModal.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DateTimePickerModal from '../../src/DateTimePicker/DateTimePickerModal'; + +describe('DateTimePickerModal', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DateTimePicker/DateTimePickerTabs.test.js b/__tests__/DateTimePicker/DateTimePickerTabs.test.js new file mode 100644 index 00000000000000..4282e5e2020976 --- /dev/null +++ b/__tests__/DateTimePicker/DateTimePickerTabs.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DateTimePickerTabs from '../../src/DateTimePicker/DateTimePickerTabs'; + +describe('DateTimePickerTabs', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); diff --git a/__tests__/DateTimePicker/DateTimePickerView.test.js b/__tests__/DateTimePicker/DateTimePickerView.test.js new file mode 100644 index 00000000000000..623808ba5b815f --- /dev/null +++ b/__tests__/DateTimePicker/DateTimePickerView.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import DateTimePickerView from '../../src/DateTimePicker/DateTimePickerView'; + +describe('DateTimePickerView', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); From 31809bb3d61e5db18b404562c6938cac45f9d6e5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 15:11:37 +0300 Subject: [PATCH 0043/1801] Add renering unit tests --- __tests__/DateTimePicker/DateTimePickerHeader.test.js | 2 +- __tests__/DateTimePicker/DateTimePickerModal.test.js | 2 +- __tests__/DateTimePicker/DateTimePickerTabs.test.js | 2 +- __tests__/DateTimePicker/DateTimePickerView.test.js | 2 +- src/DateTimePicker/DateTimePickerHeader.jsx | 2 +- src/DateTimePicker/DateTimePickerModal.jsx | 2 +- src/DateTimePicker/DateTimePickerTabs.jsx | 2 +- src/DateTimePicker/DateTimePickerView.jsx | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/__tests__/DateTimePicker/DateTimePickerHeader.test.js b/__tests__/DateTimePicker/DateTimePickerHeader.test.js index 0a1658ad678b36..b10ff45791cd55 100644 --- a/__tests__/DateTimePicker/DateTimePickerHeader.test.js +++ b/__tests__/DateTimePicker/DateTimePickerHeader.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import DateTimePickerHeader from '../../src/DateTimePicker/DateTimePickerHeader'; +import { DateTimePickerHeader } from '../../src/DateTimePicker/DateTimePickerHeader'; describe('DateTimePickerHed', () => { let component; diff --git a/__tests__/DateTimePicker/DateTimePickerModal.test.js b/__tests__/DateTimePicker/DateTimePickerModal.test.js index 0506c694781073..b8ebc8a6ed20fc 100644 --- a/__tests__/DateTimePicker/DateTimePickerModal.test.js +++ b/__tests__/DateTimePicker/DateTimePickerModal.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import DateTimePickerModal from '../../src/DateTimePicker/DateTimePickerModal'; +import { DateTimePickerModal } from '../../src/DateTimePicker/DateTimePickerModal'; describe('DateTimePickerModal', () => { let component; diff --git a/__tests__/DateTimePicker/DateTimePickerTabs.test.js b/__tests__/DateTimePicker/DateTimePickerTabs.test.js index 4282e5e2020976..796e0b2440c062 100644 --- a/__tests__/DateTimePicker/DateTimePickerTabs.test.js +++ b/__tests__/DateTimePicker/DateTimePickerTabs.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import DateTimePickerTabs from '../../src/DateTimePicker/DateTimePickerTabs'; +import { DateTimePickerTabs } from '../../src/DateTimePicker/DateTimePickerTabs'; describe('DateTimePickerTabs', () => { let component; diff --git a/__tests__/DateTimePicker/DateTimePickerView.test.js b/__tests__/DateTimePicker/DateTimePickerView.test.js index 623808ba5b815f..54df587c7e1cc6 100644 --- a/__tests__/DateTimePicker/DateTimePickerView.test.js +++ b/__tests__/DateTimePicker/DateTimePickerView.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from 'enzyme'; -import DateTimePickerView from '../../src/DateTimePicker/DateTimePickerView'; +import { DateTimePickerView } from '../../src/DateTimePicker/DateTimePickerView'; describe('DateTimePickerView', () => { let component; diff --git a/src/DateTimePicker/DateTimePickerHeader.jsx b/src/DateTimePicker/DateTimePickerHeader.jsx index 0616bc85ce7e6d..918c41077f81a6 100644 --- a/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/src/DateTimePicker/DateTimePickerHeader.jsx @@ -5,7 +5,7 @@ import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import * as viewType from '../constants/date-picker-view'; -const DateTimePickerHeader = (props) => { +export const DateTimePickerHeader = (props) => { const { date, classes, openView, meridiemMode, onOpenViewChange, setMeridiemMode, } = props; diff --git a/src/DateTimePicker/DateTimePickerModal.jsx b/src/DateTimePicker/DateTimePickerModal.jsx index 2d5640a51d569b..49f61f8c0ad61d 100644 --- a/src/DateTimePicker/DateTimePickerModal.jsx +++ b/src/DateTimePicker/DateTimePickerModal.jsx @@ -7,7 +7,7 @@ import DomainPropTypes from '../constants/prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; import DateTimePicker from './DateTimePicker'; -class DateTimePickerModal extends Component { +export class DateTimePickerModal extends Component { static propTypes = { value: DomainPropTypes.date, format: PropTypes.string, diff --git a/src/DateTimePicker/DateTimePickerTabs.jsx b/src/DateTimePicker/DateTimePickerTabs.jsx index 55d6f6adad5e72..0ba9d15e7d5f2a 100644 --- a/src/DateTimePicker/DateTimePickerTabs.jsx +++ b/src/DateTimePicker/DateTimePickerTabs.jsx @@ -19,7 +19,7 @@ const tabIndexToView = (tab) => { return viewType.HOUR; }; -const DateTimePickerTabs = (props) => { +export const DateTimePickerTabs = (props) => { const { view, onChange, classes } = props; const handleChange = (e, value) => { diff --git a/src/DateTimePicker/DateTimePickerView.jsx b/src/DateTimePicker/DateTimePickerView.jsx index 76a1c70c303bfd..ee9e1475f82c70 100644 --- a/src/DateTimePicker/DateTimePickerView.jsx +++ b/src/DateTimePicker/DateTimePickerView.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import classnames from 'classnames'; import { withStyles } from 'material-ui'; -const DateTimePickerView = ({ +export const DateTimePickerView = ({ view, selected, children, classes, }) => (
From d2beeb4c62ed8a67805e8a4e12f0317b67e6419d Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 16:30:25 +0300 Subject: [PATCH 0044/1801] Add renering unit tests --- .eslintrc | 3 ++- __tests__/DatePicker/Calendar.test.js | 5 +++-- __tests__/DatePicker/CalendarHeader.test.js | 5 +++-- __tests__/DatePicker/DatePicker.test.js | 5 +++-- __tests__/DatePicker/YearSelection.test.js | 5 +++-- __tests__/DateTimePicker/DateTimePicker.test.js | 8 ++++++-- __tests__/DateTimePicker/DateTimePickerHeader.test.js | 9 +++++++-- __tests__/DateTimePicker/DateTimePickerModal.test.js | 2 +- __tests__/DateTimePicker/DateTimePickerTabs.test.js | 2 +- __tests__/DateTimePicker/DateTimePickerView.test.js | 2 +- __tests__/TimePicker/Clock.test.js | 4 ++-- __tests__/TimePicker/ClockNumber.test.js | 4 ++-- __tests__/TimePicker/ClockPointer.test.js | 4 ++-- __tests__/TimePicker/TimePicker.test.js | 8 ++++++-- src/DatePicker/Calendar.jsx | 2 +- src/DatePicker/CalendarHeader.jsx | 2 +- src/DatePicker/DatePicker.jsx | 2 +- src/DatePicker/YearSelection.jsx | 2 +- src/DateTimePicker/DateTimePicker.jsx | 2 +- src/TimePicker/Clock.jsx | 2 +- src/TimePicker/ClockNumber.jsx | 2 +- src/TimePicker/ClockPointer.jsx | 2 +- src/TimePicker/TimePicker.jsx | 2 +- 23 files changed, 51 insertions(+), 33 deletions(-) diff --git a/.eslintrc b/.eslintrc index f1cdfe8d309bc2..0ff4136c1762f2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,7 +4,8 @@ "rules": { "react/forbid-prop-types": 0, "react/jsx-filename-extension": 0, - "no-param-reassign": 0 + "no-param-reassign": 0, + "import/no-named-as-default": 0 }, "globals": { "document": true diff --git a/__tests__/DatePicker/Calendar.test.js b/__tests__/DatePicker/Calendar.test.js index 11472285fe5168..afe954f4d1d7c2 100644 --- a/__tests__/DatePicker/Calendar.test.js +++ b/__tests__/DatePicker/Calendar.test.js @@ -1,12 +1,13 @@ import React from 'react'; +import moment from 'moment'; import { shallow } from 'enzyme'; -import Calendar from '../../src/DatePicker/Calendar'; +import { Calendar } from '../../src/DatePicker/Calendar'; describe('Calendar', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DatePicker/CalendarHeader.test.js b/__tests__/DatePicker/CalendarHeader.test.js index 8b0e9a8b53857a..95c69acdf81ec6 100644 --- a/__tests__/DatePicker/CalendarHeader.test.js +++ b/__tests__/DatePicker/CalendarHeader.test.js @@ -1,12 +1,13 @@ import React from 'react'; +import moment from 'moment'; import { shallow } from 'enzyme'; -import CalendarHeader from '../../src/DatePicker/CalendarHeader'; +import { CalendarHeader } from '../../src/DatePicker/CalendarHeader'; describe('CalendarHeader', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DatePicker/DatePicker.test.js b/__tests__/DatePicker/DatePicker.test.js index ad49ba7c6820ff..35f89d48e72edb 100644 --- a/__tests__/DatePicker/DatePicker.test.js +++ b/__tests__/DatePicker/DatePicker.test.js @@ -1,12 +1,13 @@ import React from 'react'; +import moment from 'moment'; import { shallow } from 'enzyme'; -import DatePicker from '../../src/DatePicker/DatePicker'; +import { DatePicker } from '../../src/DatePicker/DatePicker'; describe('DatePicker', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DatePicker/YearSelection.test.js b/__tests__/DatePicker/YearSelection.test.js index 34472508823823..bfd5b9deb2bdd6 100644 --- a/__tests__/DatePicker/YearSelection.test.js +++ b/__tests__/DatePicker/YearSelection.test.js @@ -1,12 +1,13 @@ import React from 'react'; import { shallow } from 'enzyme'; -import YearSelection from '../../src/DatePicker/YearSelection'; +import moment from 'moment'; +import { YearSelection } from '../../src/DatePicker/YearSelection'; describe('YearSelection', () => { let component; beforeEach(() => { - component = shallow( ); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DateTimePicker/DateTimePicker.test.js b/__tests__/DateTimePicker/DateTimePicker.test.js index 03af1610f0c8c9..e0bc3e593f648a 100644 --- a/__tests__/DateTimePicker/DateTimePicker.test.js +++ b/__tests__/DateTimePicker/DateTimePicker.test.js @@ -1,12 +1,16 @@ import React from 'react'; +import moment from 'moment'; import { shallow } from 'enzyme'; -import DateTimePicker from '../../src/DateTimePicker/DateTimePicker'; +import { DateTimePicker } from '../../src/DateTimePicker/DateTimePicker'; describe('DateTimePicker', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DateTimePicker/DateTimePickerHeader.test.js b/__tests__/DateTimePicker/DateTimePickerHeader.test.js index b10ff45791cd55..fa407788077811 100644 --- a/__tests__/DateTimePicker/DateTimePickerHeader.test.js +++ b/__tests__/DateTimePicker/DateTimePickerHeader.test.js @@ -1,12 +1,17 @@ import React from 'react'; +import moment from 'moment'; import { shallow } from 'enzyme'; import { DateTimePickerHeader } from '../../src/DateTimePicker/DateTimePickerHeader'; -describe('DateTimePickerHed', () => { +describe('DateTimePickerHeader', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow( jest.fn()} + date={moment('01-01-2017')} + classes={{}} + />); }); it('Should renders', () => { diff --git a/__tests__/DateTimePicker/DateTimePickerModal.test.js b/__tests__/DateTimePicker/DateTimePickerModal.test.js index b8ebc8a6ed20fc..02e8859ae4244d 100644 --- a/__tests__/DateTimePicker/DateTimePickerModal.test.js +++ b/__tests__/DateTimePicker/DateTimePickerModal.test.js @@ -6,7 +6,7 @@ describe('DateTimePickerModal', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DateTimePicker/DateTimePickerTabs.test.js b/__tests__/DateTimePicker/DateTimePickerTabs.test.js index 796e0b2440c062..fac6c0682c97b1 100644 --- a/__tests__/DateTimePicker/DateTimePickerTabs.test.js +++ b/__tests__/DateTimePicker/DateTimePickerTabs.test.js @@ -6,7 +6,7 @@ describe('DateTimePickerTabs', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/DateTimePicker/DateTimePickerView.test.js b/__tests__/DateTimePicker/DateTimePickerView.test.js index 54df587c7e1cc6..10fa9b985330ed 100644 --- a/__tests__/DateTimePicker/DateTimePickerView.test.js +++ b/__tests__/DateTimePicker/DateTimePickerView.test.js @@ -6,7 +6,7 @@ describe('DateTimePickerView', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/TimePicker/Clock.test.js b/__tests__/TimePicker/Clock.test.js index b22d26b358a1d0..058a2bcc095665 100644 --- a/__tests__/TimePicker/Clock.test.js +++ b/__tests__/TimePicker/Clock.test.js @@ -1,12 +1,12 @@ import React from 'react'; import { shallow } from 'enzyme'; -import Clock from '../../src/TimePicker/Clock'; +import { Clock } from '../../src/TimePicker/Clock'; describe('Clock', () => { let component; beforeEach(() => { - component = shallow( ); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/TimePicker/ClockNumber.test.js b/__tests__/TimePicker/ClockNumber.test.js index f12a30ec4fd548..e694aa84c061b0 100644 --- a/__tests__/TimePicker/ClockNumber.test.js +++ b/__tests__/TimePicker/ClockNumber.test.js @@ -1,12 +1,12 @@ import React from 'react'; import { shallow } from 'enzyme'; -import ClockNumber from '../../src/TimePicker/ClockNumber'; +import { ClockNumber } from '../../src/TimePicker/ClockNumber'; describe('ClockNumber', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/TimePicker/ClockPointer.test.js b/__tests__/TimePicker/ClockPointer.test.js index 2ba310a1a5463e..0e920afec6d03e 100644 --- a/__tests__/TimePicker/ClockPointer.test.js +++ b/__tests__/TimePicker/ClockPointer.test.js @@ -1,12 +1,12 @@ import React from 'react'; import { shallow } from 'enzyme'; -import ClockPointer from '../../src/TimePicker/ClockPointer'; +import { ClockPointer } from '../../src/TimePicker/ClockPointer'; describe('ClockPointer', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/__tests__/TimePicker/TimePicker.test.js b/__tests__/TimePicker/TimePicker.test.js index 24041094b3805b..8f4d12b0a5d16c 100644 --- a/__tests__/TimePicker/TimePicker.test.js +++ b/__tests__/TimePicker/TimePicker.test.js @@ -1,12 +1,16 @@ import React from 'react'; +import moment from 'moment'; import { shallow } from 'enzyme'; -import TimePicker from '../../src/TimePicker/TimePicker'; +import { TimePicker } from '../../src/TimePicker/TimePicker'; describe('TimePicker', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index a34772ae93eea8..8d3299602c6dd7 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -10,7 +10,7 @@ import DomainPropTypes from '../constants/prop-types'; const moment = extendMoment(Moment); -class Calendar extends PureComponent { +export class Calendar extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, minDate: DomainPropTypes.date, diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 7518276da48641..446a87e58923cf 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import moment from 'moment'; import { withStyles, IconButton } from 'material-ui'; -const CalendarHeader = (props) => { +export const CalendarHeader = (props) => { const { classes, currentMonth, onMonthChange } = props; const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months')); diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 408fd09b53d087..441447f206ab5a 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -9,7 +9,7 @@ import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import DomainPropTypes from '../constants/prop-types'; -class DatePicker extends PureComponent { +export class DatePicker extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, minDate: DomainPropTypes.date, diff --git a/src/DatePicker/YearSelection.jsx b/src/DatePicker/YearSelection.jsx index e4fe35f503baca..bd6c4f86adac07 100644 --- a/src/DatePicker/YearSelection.jsx +++ b/src/DatePicker/YearSelection.jsx @@ -8,7 +8,7 @@ import DomainPropTypes from '../constants/prop-types'; const moment = extendMoment(Moment); -class YearSelection extends PureComponent { +export class YearSelection extends PureComponent { static propTypes = { date: PropTypes.shape({}).isRequired, minDate: DomainPropTypes.date.isRequired, diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx index 46d6102372271e..99987966011f8c 100644 --- a/src/DateTimePicker/DateTimePicker.jsx +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -13,7 +13,7 @@ import DatetimePickerHeader from './DateTimePickerHeader'; import DomainPropTypes from '../constants/prop-types'; import * as viewType from '../constants/date-picker-view'; -class DateTimePicker extends Component { +export class DateTimePicker extends Component { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index 651719299ed696..2364791dfb991a 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -6,7 +6,7 @@ import ClockPointer from './ClockPointer'; import * as clockType from '../constants/clock-types'; import { getMinutes, getHours } from './utils/time-utils'; -class Clock extends Component { +export class Clock extends Component { static propTypes = { type: PropTypes.oneOf(Object.values(clockType)).isRequired, classes: PropTypes.object.isRequired, diff --git a/src/TimePicker/ClockNumber.jsx b/src/TimePicker/ClockNumber.jsx index 59ceede87f0464..62db92f9a3cb8c 100644 --- a/src/TimePicker/ClockNumber.jsx +++ b/src/TimePicker/ClockNumber.jsx @@ -19,7 +19,7 @@ const positions = [ [-54.5, 19.6], ]; -class ClockNumber extends Component { +export class ClockNumber extends Component { static propTypes = { index: PropTypes.number.isRequired, label: PropTypes.string.isRequired, diff --git a/src/TimePicker/ClockPointer.jsx b/src/TimePicker/ClockPointer.jsx index c628476c7ebf12..7d6f764fd08d56 100644 --- a/src/TimePicker/ClockPointer.jsx +++ b/src/TimePicker/ClockPointer.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; import classnames from 'classnames'; -class ClockPointer extends Component { +export class ClockPointer extends Component { static propTypes = { classes: PropTypes.object.isRequired, value: PropTypes.number.isRequired, diff --git a/src/TimePicker/TimePicker.jsx b/src/TimePicker/TimePicker.jsx index a3fa374840ab24..674a92c52c7791 100644 --- a/src/TimePicker/TimePicker.jsx +++ b/src/TimePicker/TimePicker.jsx @@ -6,7 +6,7 @@ import ToolbarButton from '../_shared/ToolbarButton'; import HourView from './HourView'; import MinutesView from './MinutesView'; -class TimePicker extends Component { +export class TimePicker extends Component { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, From 085c49c707e20561e559ec53065374a32825b6a5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 16:36:56 +0300 Subject: [PATCH 0045/1801] Add unit tests for new components --- __tests__/TimePicker/utils/time-utils.test.js | 18 ++++++++++++++++++ __tests__/wrappers/ModalWrapper.test.js | 16 ++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 __tests__/TimePicker/utils/time-utils.test.js create mode 100644 __tests__/wrappers/ModalWrapper.test.js diff --git a/__tests__/TimePicker/utils/time-utils.test.js b/__tests__/TimePicker/utils/time-utils.test.js new file mode 100644 index 00000000000000..ea80691f14faf9 --- /dev/null +++ b/__tests__/TimePicker/utils/time-utils.test.js @@ -0,0 +1,18 @@ +import moment from 'moment'; +import { getHours, getMinutes, convertToMeridiem } from '../../../src/TimePicker/utils/time-utils'; + +describe('Time utils', () => { + it('Should properly calculate hours', () => { + expect(getHours(25, 50)).toBe(10); + }); + + it('Should properly calculate minutes', () => { + expect(getMinutes(25, 50)).toBe(51); + }); + + it('Should convert time to meridiem', () => { + const time = convertToMeridiem(moment('2017-01-01T16:00'), 'am'); + expect(time.hours()).toBe(4); + }); +}); + diff --git a/__tests__/wrappers/ModalWrapper.test.js b/__tests__/wrappers/ModalWrapper.test.js new file mode 100644 index 00000000000000..a94327a06324df --- /dev/null +++ b/__tests__/wrappers/ModalWrapper.test.js @@ -0,0 +1,16 @@ +import React from 'react'; +import { shallow } from 'enzyme'; +import ModalWrapper from '../../src/wrappers/ModalWrapper'; + +describe('ModalWrapper', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + console.log(component.debug()); // TODO REMOVE ME + expect(component).toBeTruthy(); + }); +}); From b2d63c61cdb3b31f35158a98d8483b69b5db0126 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 18:33:07 +0300 Subject: [PATCH 0046/1801] Update demo for datetime pickers --- docs/src/Demo/Demo.css | 3 ++ docs/src/Demo/Demo.jsx | 50 ++++++++++++++++++---- src/DateTimePicker/DateTimePicker.jsx | 14 ++++-- src/DateTimePicker/DateTimePickerModal.jsx | 12 +++++- 4 files changed, 66 insertions(+), 13 deletions(-) diff --git a/docs/src/Demo/Demo.css b/docs/src/Demo/Demo.css index ec9b5132a26a66..5a15328cf9c23b 100644 --- a/docs/src/Demo/Demo.css +++ b/docs/src/Demo/Demo.css @@ -32,6 +32,9 @@ main { display: flex; justify-content: center; flex-wrap: wrap; + min-height: 160px; + padding-top: 40px; + margin: 30px auto 50px; } .picker { diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 1de6afedbe0884..e30d63c8d6db1a 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -37,7 +37,7 @@ class Demo extends Component { const { selectedDate } = this.state return ( -
+
@@ -76,15 +76,15 @@ class Demo extends Component {
- + Here you are! - + Basic usage -
+
Date picker @@ -108,15 +108,34 @@ class Demo extends Component { onChange={this.handleTimeChange} />
- +
+ + + Date & Time pickers + + +
+
+ + Default + + + +
+
- Date & Time picker + Custom @@ -157,10 +176,25 @@ const styles = theme => ({ example: { marginTop: '40px' }, + main: { + backgroundColor: theme.palette.background.paper, + marginBottom: -50 + }, + pickers: { + display: 'flex', + justifyContent: 'center', + flexWrap: 'wrap', + minHeight: 160, + paddingTop: 40, + margin: '30px auto 50px', + backgroundColor: theme.palette.background.default, + }, content: { - paddingTop: '30px', + paddingTop: '60px', backgroundColor: theme.palette.background.paper, minHeight: 'calc(100vh - 63px)', + maxWidth: 900, + margin: '0 auto', '@media(max-width: 600px)': { minHeight: 'calc(100vh - 55px)' } diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx index 99987966011f8c..84fabd65f76ef5 100644 --- a/src/DateTimePicker/DateTimePicker.jsx +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -22,6 +22,7 @@ export class DateTimePicker extends Component { disableFuture: PropTypes.bool, minDate: DomainPropTypes.date, maxDate: DomainPropTypes.date, + showTabs: PropTypes.bool, } static defaultProps = { @@ -30,6 +31,7 @@ export class DateTimePicker extends Component { autoSubmit: true, openTo: viewType.DATE, disableFuture: false, + showTabs: true, } state = { @@ -63,6 +65,7 @@ export class DateTimePicker extends Component { date, minDate, maxDate, + showTabs, disableFuture, } = this.props; @@ -76,10 +79,13 @@ export class DateTimePicker extends Component { onOpenViewChange={this.handleViewChange} /> - + { + showTabs && + + } { this.wrapper = node; }} @@ -80,7 +86,7 @@ export class DateTimePickerModal extends Component { onAccept={this.handleAccept} onDismiss={this.handleDismiss} date={date} - dialogContentClassName={classes.dialogContent} + dialogContentClassName={dialogClassName} {...other} > ); @@ -102,6 +109,9 @@ const styles = { height: 470, width: 310, }, + noTabs: { + height: 422, + }, }; export default withStyles(styles, { name: 'MuiPickerDTPickerModal' })(DateTimePickerModal); From 79da148553e5c534a4153f4e8d1fd6f6aae53c7a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 28 Oct 2017 19:02:50 +0300 Subject: [PATCH 0047/1801] Update documentation --- README.md | 48 ++++++++++++++++++++++++++++++++++++------ docs/public/index.html | 3 +-- 2 files changed, 42 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index f893c4caf722ad..ec3e6b18f7dd4e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Material-UI picker +# Material-UI pickers +[![npm package](https://img.shields.io/npm/v/material-ui-pickers.svg)](https://www.npmjs.org/package/material-ui-pickers) +[![Build Status](https://api.travis-ci.org/dmtrKovalenko/material-ui-pickers.svg?branch=master)](https://travis-ci.org/dmtrKovalenko/material-ui-pickers) > Components, that implements material design date and time pickers for material-ui v1 ## [Click here for demo](https://material-ui-pic.firebaseapp.com/) @@ -12,14 +14,22 @@ Available as npm package npm install material-ui-pickers -S ``` +We are using material-ui-icons font to display icons. We are working on additional way to pass icons,but for now its required. Just add this to your html +```html + +``` + ### Usage Here is a quick example of how to use this package ```jsx +import { TimePicker, DatePicker, DateTimePicker } from 'material-ui-pickers' + class App extends Component { state = { selectedDate: new Date(), - selectedTime: new Date() + selectedTime: new Date(), + selectedDateTime: new Date() } handleDateChange = date => { @@ -30,8 +40,12 @@ class App extends Component { this.setState({ selectedTime: time }) } + handleDateTimeChange = dateTime => { + this.setState({ selectedDateTime: dateTime }) + } + render() { - const { selectedDate, selectedTime } = this.state + const { selectedDate, selectedTime, selectedDateTime } = this.state return (
@@ -44,6 +58,11 @@ class App extends Component { value={selectedTime} onChange={this.handleDateChange} /> + +
) } @@ -54,24 +73,39 @@ class App extends Component { Here is a list of available props #### Datepicker +* date - string, number, Date object, Moment object ([anything](https://momentjs.com/docs/#/parsing/), that can be parsed by moment) + Prop | Type | Default | Definition ------------ | ------------- | ------------- | ------------- -value | string, number, Date object, Moment object | null | Datepicker value +value | date | new Date() | Datepicker value format | string | 'MMMM Do' | Moment format string for input autoOk | boolean | false | Auto accept date on selection disableFuture | boolean | false | Disable future dates animateYearScrolling | boolean | false | Will animate year selection (note that will work for browser supports scrollIntoView api) openToYearSelection | boolean | false | Open datepicker from year selection -minDate | string, number, Date object, Moment object | '1900-01-01' | Minimum selectable date -maxDate | string, number, Date object, Moment object | '2100-01-01' | Maximum selectable date +minDate | date | '1900-01-01' | Minimum selectable date +maxDate | date | '2100-01-01' | Maximum selectable date #### Timepicker Prop | Type | Default | Definition ------------ | ------------- | ------------- | ------------- -value | string, number, Date object, Moment object | null | Timepicker value +value | date | new Date() | Timepicker value format | string | 'MMMM Do' | Moment format string for input autoOk | boolean | false | Auto accept time on selection +#### DateTimepicker +Prop | Type | Default | Definition +------------ | ------------- | ------------- | ------------- +value | date | new Date() | Timepicker value +format | string | 'MMMM Do hh:mm a' | Moment format string for input +autoOk | boolean | false | Auto accept time on selection +autoSubmit | boolean | true | On change show next time input (year -> date -> hour -> minute) +showTabs | boolean | false | Show date/time tabs +openTo | one of 'year', 'date', 'hour', 'minutes' | 'date' | Open to particular view +animateYearScrolling | boolean | false | Will animate year selection +minDate | date | '1900-01-01' | Minimum selectable date +maxDate | date | '2100-01-01' | Maximum selectable date + ### Known Issues 1. 24 hour displaying for timepicker (now supporting only am/pm) 2. DateTime picker (wrapper above date and time) diff --git a/docs/public/index.html b/docs/public/index.html index f6fd44bc5ab190..e26a21896e997a 100644 --- a/docs/public/index.html +++ b/docs/public/index.html @@ -11,8 +11,7 @@ - + + + +- [ ] I have changed my target branch to **develop** :facepunch: + +# From f3febdb491b4c769669ea84c1dbbbe0357083c5a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 7 Nov 2017 11:56:45 +0200 Subject: [PATCH 0084/1801] Update PULL_REQUEST_TEMPLATE.md --- PULL_REQUEST_TEMPLATE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 5fd42c956e68d0..138d35eb90e695 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -4,3 +4,5 @@ - [ ] I have changed my target branch to **develop** :facepunch: # + +## Description From d0ff3f72b101e1c7742590ef77ab6e9e0ce58454 Mon Sep 17 00:00:00 2001 From: BGuthrieJr Date: Thu, 2 Nov 2017 01:15:01 -0400 Subject: [PATCH 0085/1801] feat: custom icons for calendar nav --- package.json | 2 +- src/DateTimePicker/DateTimePickerWrapper.jsx | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index fb5b14b331e06b..4777137ca788f8 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "homepage": "https://material-ui-pic.firebaseapp.com/", "repository": { "type": "git", - "url": "https://github.com/dmtrKovalenko/material-ui-pickers" + "url": "https://github.com/bguthriejr/material-ui-pickers" }, "author": { "name": "Dmitriy Kovalenko", diff --git a/src/DateTimePicker/DateTimePickerWrapper.jsx b/src/DateTimePicker/DateTimePickerWrapper.jsx index 405c89a4453c3f..ad82bf69b67cbf 100644 --- a/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -94,8 +94,11 @@ export class DateTimePickerWrapper extends PickerBase { showTabs={showTabs} leftArrowIcon={leftArrowIcon} rightArrowIcon={rightArrowIcon} +<<<<<<< HEAD dateRangeIcon={dateRangeIcon} timeIcon={timeIcon} +======= +>>>>>>> d1a457c... feat: custom icons for calendar nav /> ); From a924bb262054964baee27ff8b4cc0ae0a3f7fa23 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 7 Nov 2017 11:56:45 +0200 Subject: [PATCH 0086/1801] Update PULL_REQUEST_TEMPLATE.md --- PULL_REQUEST_TEMPLATE.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 5fd42c956e68d0..138d35eb90e695 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -4,3 +4,5 @@ - [ ] I have changed my target branch to **develop** :facepunch: # + +## Description From e20ddfcb676b801734762e11eb3b8c89068177b4 Mon Sep 17 00:00:00 2001 From: BGuthrieJr Date: Fri, 3 Nov 2017 17:02:26 -0400 Subject: [PATCH 0087/1801] fix: custom icons use node instead of string --- .gitignore | 2 +- docs/src/Demo/Demo.jsx | 12 +++++++----- package.json | 2 +- src/DatePicker/Calendar.jsx | 6 +++--- src/DatePicker/CalendarHeader.jsx | 10 +++++----- src/DatePicker/DatePicker.jsx | 4 ++-- src/DatePicker/DatePickerWrapper.jsx | 4 ++-- src/DateTimePicker/DateTimePicker.jsx | 8 ++++---- src/DateTimePicker/DateTimePickerTabs.jsx | 10 +++++----- src/DateTimePicker/DateTimePickerWrapper.jsx | 11 ++++------- 10 files changed, 34 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index 91a73bf14316f7..c64ab901806bbb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,7 @@ # dependencies /node_modules -# build +# build /dist # logs diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index f29855adee3502..ca217f271298f3 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; -import PropTypes from 'prop-types' -import { +import PropTypes from 'prop-types'; +import { AppBar, Toolbar, IconButton, Typography, withStyles, Button, Tooltip, Icon, InputAdornment } from 'material-ui' import { TimePicker, DatePicker, DateTimePicker } from 'material-ui-pickers' @@ -128,6 +128,8 @@ class Demo extends Component { add_alarm} + rightArrowIcon={snooze} />
@@ -145,15 +147,15 @@ class Demo extends Component { autoSubmit={false} value={this.state.selectedDate} onChange={this.handleDateChange} - leftArrowIcon="add_alarm" - rightArrowIcon="snooze" + leftArrowIcon={add_alarm} + rightArrowIcon={snooze} InputProps={{ endAdornment: ( add_alarm ) - }} + }} />
diff --git a/package.json b/package.json index 4777137ca788f8..fb5b14b331e06b 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "homepage": "https://material-ui-pic.firebaseapp.com/", "repository": { "type": "git", - "url": "https://github.com/bguthriejr/material-ui-pickers" + "url": "https://github.com/dmtrKovalenko/material-ui-pickers" }, "author": { "name": "Dmitriy Kovalenko", diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index e8013a90995ad3..5af8199ad06487 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -18,8 +18,8 @@ export class Calendar extends Component { classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disableFuture: PropTypes.bool, - leftArrowIcon: PropTypes.string, - rightArrowIcon: PropTypes.string, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, } static defaultProps = { @@ -119,7 +119,7 @@ export class Calendar extends Component { const styles = theme => ({ calendar: { - marginTop: 10, + marginTop: 5, }, hidden: { opacity: 0, diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 11190a300c557b..18da0a01495212 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import { withStyles, IconButton } from 'material-ui'; +import { withStyles, IconButton, Icon } from 'material-ui'; export const CalendarHeader = (props) => { const { @@ -19,7 +19,7 @@ export const CalendarHeader = (props) => {
- { leftArrowIcon } + {leftArrowIcon}
@@ -27,7 +27,7 @@ export const CalendarHeader = (props) => {
- { rightArrowIcon } + {rightArrowIcon}
@@ -44,8 +44,8 @@ CalendarHeader.propTypes = { currentMonth: PropTypes.object.isRequired, onMonthChange: PropTypes.func.isRequired, classes: PropTypes.object.isRequired, - leftArrowIcon: PropTypes.string, - rightArrowIcon: PropTypes.string, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, }; CalendarHeader.defaultProps = { diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index b57c9629680a03..3deece8d180798 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -20,8 +20,8 @@ export class DatePicker extends PureComponent { animateYearScrolling: PropTypes.bool, openToYearSelection: PropTypes.bool, children: PropTypes.node, - leftArrowIcon: PropTypes.string, - rightArrowIcon: PropTypes.string, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, } static defaultProps = { diff --git a/src/DatePicker/DatePickerWrapper.jsx b/src/DatePicker/DatePickerWrapper.jsx index 4816bef22704c5..dbc97a52caea20 100644 --- a/src/DatePicker/DatePickerWrapper.jsx +++ b/src/DatePicker/DatePickerWrapper.jsx @@ -19,8 +19,8 @@ export default class DatePickerWrapper extends PickerBase { openToYearSelection: PropTypes.bool, returnMoment: PropTypes.bool, invalidLabel: PropTypes.string, - leftArrowIcon: PropTypes.string, - rightArrowIcon: PropTypes.string, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, } static defaultProps = { diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx index 0b6ac0af603725..bb2914440da156 100644 --- a/src/DateTimePicker/DateTimePicker.jsx +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -24,10 +24,10 @@ export class DateTimePicker extends Component { minDate: DomainPropTypes.date, maxDate: DomainPropTypes.date, showTabs: PropTypes.bool, - leftArrowIcon: PropTypes.string, - rightArrowIcon: PropTypes.string, - dateRangeIcon: PropTypes.string, - timeIcon: PropTypes.string, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, + dateRangeIcon: PropTypes.node, + timeIcon: PropTypes.node, } static defaultProps = { diff --git a/src/DateTimePicker/DateTimePickerTabs.jsx b/src/DateTimePicker/DateTimePickerTabs.jsx index 8cbeb4f3f56e9f..930681b1bf760e 100644 --- a/src/DateTimePicker/DateTimePickerTabs.jsx +++ b/src/DateTimePicker/DateTimePickerTabs.jsx @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Paper, Tab, Tabs, withStyles, withTheme } from 'material-ui'; +import { Paper, Tab, Tabs, withStyles, withTheme, Icon } from 'material-ui'; import * as viewType from '../constants/date-picker-view'; const viewToTabIndex = (openView) => { @@ -57,13 +57,13 @@ DateTimePickerTabs.propTypes = { onChange: PropTypes.func.isRequired, classes: PropTypes.object.isRequired, theme: PropTypes.object.isRequired, - dateRangeIcon: PropTypes.string, - timeIcon: PropTypes.string, + dateRangeIcon: PropTypes.node, + timeIcon: PropTypes.node, }; DateTimePickerTabs.defaultProps = { - dateRangeIcon: 'date_range', - timeIcon: 'access_time', + dateRangeIcon: "date_range", + timeIcon: "access_time", }; const styles = theme => ({ diff --git a/src/DateTimePicker/DateTimePickerWrapper.jsx b/src/DateTimePicker/DateTimePickerWrapper.jsx index ad82bf69b67cbf..c16027364622d7 100644 --- a/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -24,10 +24,10 @@ export class DateTimePickerWrapper extends PickerBase { showTabs: PropTypes.bool, returnMoment: PropTypes.bool, invalidLabel: PropTypes.string, - leftArrowIcon: PropTypes.string, - rightArrowIcon: PropTypes.string, - dateRangeIcon: PropTypes.string, - timeIcon: PropTypes.string, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, + dateRangeIcon: PropTypes.node, + timeIcon: PropTypes.node, } static defaultProps = { @@ -94,11 +94,8 @@ export class DateTimePickerWrapper extends PickerBase { showTabs={showTabs} leftArrowIcon={leftArrowIcon} rightArrowIcon={rightArrowIcon} -<<<<<<< HEAD dateRangeIcon={dateRangeIcon} timeIcon={timeIcon} -======= ->>>>>>> d1a457c... feat: custom icons for calendar nav /> ); From 219aba2381c6168b6a7316126a5c05ff8132cc8e Mon Sep 17 00:00:00 2001 From: BGuthrieJr Date: Tue, 7 Nov 2017 14:31:13 -0500 Subject: [PATCH 0088/1801] fix: icons and quotes --- src/DatePicker/CalendarHeader.jsx | 2 +- src/DateTimePicker/DateTimePickerTabs.jsx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 18da0a01495212..a8189c56bb00d2 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import { withStyles, IconButton, Icon } from 'material-ui'; +import { withStyles, IconButton } from 'material-ui'; export const CalendarHeader = (props) => { const { diff --git a/src/DateTimePicker/DateTimePickerTabs.jsx b/src/DateTimePicker/DateTimePickerTabs.jsx index 930681b1bf760e..3736e9ccf6d376 100644 --- a/src/DateTimePicker/DateTimePickerTabs.jsx +++ b/src/DateTimePicker/DateTimePickerTabs.jsx @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Paper, Tab, Tabs, withStyles, withTheme, Icon } from 'material-ui'; +import { Paper, Tab, Tabs, withStyles, withTheme } from 'material-ui'; import * as viewType from '../constants/date-picker-view'; const viewToTabIndex = (openView) => { @@ -62,8 +62,8 @@ DateTimePickerTabs.propTypes = { }; DateTimePickerTabs.defaultProps = { - dateRangeIcon: "date_range", - timeIcon: "access_time", + dateRangeIcon: 'date_range', + timeIcon: 'access_time', }; const styles = theme => ({ From e347d33a95922672156c14c3c80938de45042de8 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 8 Nov 2017 17:49:04 +0200 Subject: [PATCH 0089/1801] #38 Fix incorrect validation for min/max dates --- docs/src/Demo/Demo.jsx | 4 ++-- src/DatePicker/Calendar.jsx | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index ca217f271298f3..70e6d6fc2bcf30 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -128,8 +128,8 @@ class Demo extends Component { add_alarm} - rightArrowIcon={snooze} + leftArrowIcon={ keyboard_arrow_left } + rightArrowIcon={ keyboard_arrow_right } />
diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index 5af8199ad06487..e02dc97ccc6c42 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -47,12 +47,20 @@ export class Calendar extends Component { this.setState({ currentMonth: newMonth }); } + validateMinMaxDate = (day) => { + const { minDate, maxDate } = this.props; + const startOfDay = date => moment(date).startOf('day'); + + return ( + (minDate && day.isBefore(startOfDay(minDate))) || + (maxDate && day.isAfter(startOfDay(maxDate))) + ); + } + shouldDisableDate = (day) => { - const { disableFuture, minDate, maxDate } = this.props; + const { disableFuture } = this.props; return ( - (disableFuture && day.isAfter(moment())) || - (minDate && day.isBefore(minDate)) || - (maxDate && day.isAfter(maxDate)) + (disableFuture && day.isAfter(moment())) || this.validateMinMaxDate(day) ); } From 5a749bbb3028375de7497af1de9693a5d90bdd82 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 8 Nov 2017 18:01:21 +0200 Subject: [PATCH 0090/1801] :tada: Update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fb5b14b331e06b..232ae2b3df0fc4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.12", + "version": "1.0.0-alpha.13", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", From b7a1b3bd3c9075547bd4b816ce8bc9a90afcdf02 Mon Sep 17 00:00:00 2001 From: Noah Potter Date: Tue, 7 Nov 2017 19:48:24 -0700 Subject: [PATCH 0091/1801] Merge remote-tracking branch 'master/develop' into feature/add-custom-day Conflicts: src/DatePicker/Calendar.jsx src/DatePicker/DatePicker.jsx src/DatePicker/DatePickerWrapper.jsx src/DateTimePicker/DateTimePicker.jsx src/DateTimePicker/DateTimePickerWrapper.jsx --- docs/src/Demo/Demo.jsx | 132 ++++++++++++++++++- src/DatePicker/Calendar.jsx | 34 +++-- src/DatePicker/DatePicker.jsx | 4 + src/DatePicker/DatePickerWrapper.jsx | 9 ++ src/DateTimePicker/DateTimePicker.jsx | 4 + src/DateTimePicker/DateTimePickerWrapper.jsx | 8 ++ src/_shared/DateTextField.jsx | 16 ++- src/wrappers/ModalWrapper.jsx | 4 + 8 files changed, 199 insertions(+), 12 deletions(-) diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 70e6d6fc2bcf30..b2f117bd7b7e04 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -14,13 +14,17 @@ class Demo extends Component { } state = { - selectedDate: new Date(), + selectedDate: moment(), } handleDateChange = date => { this.setState({ selectedDate: date }) } + handleWeekChange = date => { + this.setState({ selectedDate: date.clone().startOf('week') }) + } + scrollToContent = () => { const contentEl = document.getElementById('content'); contentEl.scrollIntoView({ @@ -33,6 +37,63 @@ class Demo extends Component { this.setState({ selectedDate: moment('2015-02-02 12:44') }) } + renderWrappedDefaultDay = (date, selectedDate, dayInCurrentMonth) => { + const { classes } = this.props + + const startDate = selectedDate.clone().day(0).startOf('day') + const endDate = selectedDate.clone().day(6).endOf('day') + + const dayIsBetween = ( + date.isSame(startDate) || + date.isSame(endDate) || + (date.isAfter(startDate) && date.isBefore(endDate)) + ) + + const firstDay = date.isSame(startDate, 'day') + const lastDay = date.isSame(endDate, 'day') + + const wrapperClassName = [ + dayIsBetween ? classes.highlight : null, + firstDay ? classes.firstHighlight : null, + lastDay ? classes.endHighlight : null, + ].join(' ') + + const dayClassName = [ + classes.day, + (!dayInCurrentMonth) && classes.nonCurrentMonthDay, + (!dayInCurrentMonth && dayIsBetween) && classes.highlightNonCurrentMonthDay, + ].join(' ') + + return ( +
+ + { date.format('DD')} + +
+ ) + } + + formatWeekSelectLabel = (date, invalidLabel) => { + return date && date.isValid() + ? `Week of ${date.clone().startOf('week').format('MMM Do')}` + : invalidLabel + } + + renderCustomDayForDateTime = (date, selectedDate, dayInCurrentMonth, dayComponent) => { + const { classes } = this.props + + const dayClassName = [ + (date.isSame(selectedDate, 'day')) && classes.customDayHighlight, + ].join(' ') + + return ( +
+ {dayComponent} +
+
+ ) + } + render() { const { classes } = this.props const { selectedDate } = this.state @@ -159,6 +220,37 @@ class Demo extends Component { />
+ + + Custom Day Element + + +
+
+ + Week picker + + + +
+ +
+ + DateTime picker + + + +
+
); @@ -207,6 +299,44 @@ const styles = theme => ({ margin: '30px auto 50px', backgroundColor: theme.palette.background.default, }, + dayWrapper: { + position: 'relative', + }, + day: { + width: 36, + height: 36, + fontSize: 14, + margin: '0 2px', + color: theme.palette.text.primary, + }, + customDayHighlight: { + position: 'absolute', + top: 0, + bottom: 0, + left: '2px', + right: '2px', + border: '2px solid #6270bf', + borderRadius: '50%', + }, + nonCurrentMonthDay: { + color: '#BCBCBC', + }, + highlightNonCurrentMonthDay: { + color: '#676767', + }, + highlight: { + background: '#9fa8da', + }, + firstHighlight: { + extend: 'highlight', + borderTopLeftRadius: '50%', + borderBottomLeftRadius: '50%', + }, + endHighlight: { + extend: 'highlight', + borderTopRightRadius: '50%', + borderBottomRightRadius: '50%', + }, content: { paddingTop: '60px', backgroundColor: theme.palette.background.paper, diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index e02dc97ccc6c42..930dc27f0eab53 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -20,6 +20,7 @@ export class Calendar extends Component { disableFuture: PropTypes.bool, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, + renderDay: PropTypes.func, } static defaultProps = { @@ -28,6 +29,7 @@ export class Calendar extends Component { disableFuture: false, leftArrowIcon: undefined, rightArrowIcon: undefined, + renderDay: undefined, } state = { @@ -78,28 +80,42 @@ export class Calendar extends Component { } renderDays = (week) => { - const { classes, date } = this.props; + const { classes, date, renderDay } = this.props; - const selectedDate = date.clone().startOf('day').format(); + const selectedDate = date.clone().startOf('day'); + const formattedSelectedDate = selectedDate.format(); const end = week.clone().endOf('week'); const currentMonthNumber = this.state.currentMonth.get('month'); return Array.from(moment.range(week, end).by('day')) .map((day) => { + const dayInCurrentMonth = day.get('month') === currentMonthNumber; + const dayClass = classnames(classes.day, { - [classes.hidden]: day.get('month') !== currentMonthNumber, - [classes.selected]: day.format() === selectedDate, + [classes.hidden]: !dayInCurrentMonth, + [classes.selected]: day.format() === formattedSelectedDate, [classes.disabled]: this.shouldDisableDate(day), }); + let dayComponent = ( + + { day.format('DD')} + + ); + + if (renderDay) { + dayComponent = renderDay(day, selectedDate, dayInCurrentMonth, dayComponent); + } + return ( - this.onDateSelect(day)} + onClick={() => dayInCurrentMonth && this.onDateSelect(day)} + onKeyPress={() => dayInCurrentMonth && this.onDateSelect(day)} + role="presentation" > - { day.format('DD')} - + {dayComponent} +
); }); } diff --git a/src/DatePicker/DatePicker.jsx b/src/DatePicker/DatePicker.jsx index 3deece8d180798..d573c0d69dd1f6 100644 --- a/src/DatePicker/DatePicker.jsx +++ b/src/DatePicker/DatePicker.jsx @@ -22,6 +22,7 @@ export class DatePicker extends PureComponent { children: PropTypes.node, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, + renderDay: PropTypes.func, } static defaultProps = { @@ -33,6 +34,7 @@ export class DatePicker extends PureComponent { children: null, leftArrowIcon: undefined, rightArrowIcon: undefined, + renderDay: undefined, } state = { @@ -73,6 +75,7 @@ export class DatePicker extends PureComponent { animateYearScrolling, leftArrowIcon, rightArrowIcon, + renderDay, } = this.props; const { showYearSelection } = this.state; @@ -116,6 +119,7 @@ export class DatePicker extends PureComponent { maxDate={this.maxDate} leftArrowIcon={leftArrowIcon} rightArrowIcon={rightArrowIcon} + renderDay={renderDay} /> } diff --git a/src/DatePicker/DatePickerWrapper.jsx b/src/DatePicker/DatePickerWrapper.jsx index dbc97a52caea20..b565cf7a99ed7c 100644 --- a/src/DatePicker/DatePickerWrapper.jsx +++ b/src/DatePicker/DatePickerWrapper.jsx @@ -21,6 +21,9 @@ export default class DatePickerWrapper extends PickerBase { invalidLabel: PropTypes.string, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.string, + renderDay: PropTypes.func, + labelFunc: PropTypes.func, } static defaultProps = { @@ -36,6 +39,8 @@ export default class DatePickerWrapper extends PickerBase { invalidLabel: undefined, leftArrowIcon: undefined, rightArrowIcon: undefined, + renderDay: undefined, + labelFunc: undefined, } render() { @@ -54,6 +59,8 @@ export default class DatePickerWrapper extends PickerBase { invalidLabel, leftArrowIcon, rightArrowIcon, + renderDay, + labelFunc, ...other } = this.props; @@ -65,6 +72,7 @@ export default class DatePickerWrapper extends PickerBase { onAccept={this.handleAccept} onDismiss={this.handleDismiss} invalidLabel={invalidLabel} + labelFunc={labelFunc} {...other} >
); diff --git a/src/DateTimePicker/DateTimePicker.jsx b/src/DateTimePicker/DateTimePicker.jsx index bb2914440da156..a64958f91c3d82 100644 --- a/src/DateTimePicker/DateTimePicker.jsx +++ b/src/DateTimePicker/DateTimePicker.jsx @@ -28,6 +28,7 @@ export class DateTimePicker extends Component { rightArrowIcon: PropTypes.node, dateRangeIcon: PropTypes.node, timeIcon: PropTypes.node, + renderDay: PropTypes.func, } static defaultProps = { @@ -41,6 +42,7 @@ export class DateTimePicker extends Component { rightArrowIcon: undefined, dateRangeIcon: undefined, timeIcon: undefined, + renderDay: undefined, } state = { @@ -84,6 +86,7 @@ export class DateTimePicker extends Component { rightArrowIcon, dateRangeIcon, timeIcon, + renderDay, } = this.props; return ( @@ -125,6 +128,7 @@ export class DateTimePicker extends Component { disableFuture={disableFuture} leftArrowIcon={leftArrowIcon} rightArrowIcon={rightArrowIcon} + renderDay={renderDay} /> diff --git a/src/DateTimePicker/DateTimePickerWrapper.jsx b/src/DateTimePicker/DateTimePickerWrapper.jsx index c16027364622d7..d9f4979e4858e5 100644 --- a/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -28,6 +28,8 @@ export class DateTimePickerWrapper extends PickerBase { rightArrowIcon: PropTypes.node, dateRangeIcon: PropTypes.node, timeIcon: PropTypes.node, + renderDay: PropTypes.func, + labelFunc: PropTypes.func, } static defaultProps = { @@ -46,6 +48,8 @@ export class DateTimePickerWrapper extends PickerBase { rightArrowIcon: undefined, dateRangeIcon: undefined, timeIcon: undefined, + renderDay: undefined, + labelFunc: undefined, } render() { @@ -67,6 +71,8 @@ export class DateTimePickerWrapper extends PickerBase { rightArrowIcon, dateRangeIcon, timeIcon, + renderDay, + labelFunc, ...other } = this.props; @@ -81,6 +87,7 @@ export class DateTimePickerWrapper extends PickerBase { onDismiss={this.handleDismiss} dialogContentClassName={dialogClassName} invalidLabel={invalidLabel} + labelFunc={labelFunc} {...other} > ); diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index f9cbda136ef957..2fc09cc4104882 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -15,12 +15,14 @@ export default class DateTextField extends Component { format: PropTypes.string.isRequired, onClick: PropTypes.func.isRequired, invalidLabel: PropTypes.string, + labelFunc: PropTypes.func, } static defaultProps = { disabled: false, invalidLabel: 'Unknown', value: new Date(), + labelFunc: undefined, } shouldComponentUpdate = nextProps => ( @@ -29,9 +31,19 @@ export default class DateTextField extends Component { ) getDisplayDate = () => { - const { value, format, invalidLabel } = this.props; + const { + value, + format, + invalidLabel, + labelFunc, + } = this.props; + const date = moment(value); + if (labelFunc) { + return labelFunc(date, invalidLabel); + } + return date.isValid() ? date.format(format) : invalidLabel; @@ -58,7 +70,7 @@ export default class DateTextField extends Component { render() { const { - value, format, disabled, onClick, invalidLabel, ...other + value, format, disabled, onClick, invalidLabel, labelFunc, ...other } = this.props; return ( diff --git a/src/wrappers/ModalWrapper.jsx b/src/wrappers/ModalWrapper.jsx index f4eefaa5b904f0..496ca7b39d78c2 100644 --- a/src/wrappers/ModalWrapper.jsx +++ b/src/wrappers/ModalWrapper.jsx @@ -13,12 +13,14 @@ export default class ModalWrapper extends PureComponent { onDismiss: PropTypes.func.isRequired, dialogContentClassName: PropTypes.string, invalidLabel: PropTypes.string, + labelFunc: PropTypes.func, } static defaultProps = { dialogContentClassName: '', invalidLabel: undefined, value: new Date(), + labelFunc: undefined, } state = { @@ -48,6 +50,7 @@ export default class ModalWrapper extends PureComponent { onAccept, onDismiss, invalidLabel, + labelFunc, ...other } = this.props; @@ -58,6 +61,7 @@ export default class ModalWrapper extends PureComponent { format={format} onClick={this.togglePicker} invalidLabel={invalidLabel} + labelFunc={labelFunc} {...other} /> From 4356864945f0e49e48439663f9ea307103d65689 Mon Sep 17 00:00:00 2001 From: Noah Potter Date: Wed, 8 Nov 2017 09:59:43 -0700 Subject: [PATCH 0092/1801] Update DatePickerWrapper.jsx --- src/DatePicker/DatePickerWrapper.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/DatePicker/DatePickerWrapper.jsx b/src/DatePicker/DatePickerWrapper.jsx index b565cf7a99ed7c..58b25a85e710f9 100644 --- a/src/DatePicker/DatePickerWrapper.jsx +++ b/src/DatePicker/DatePickerWrapper.jsx @@ -21,7 +21,6 @@ export default class DatePickerWrapper extends PickerBase { invalidLabel: PropTypes.string, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, - rightArrowIcon: PropTypes.string, renderDay: PropTypes.func, labelFunc: PropTypes.func, } From 6f8a6be91a565ca0f7188f4800fef89749b159a6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 12 Nov 2017 18:18:43 +0200 Subject: [PATCH 0093/1801] Move demo examples to separate files --- docs/package-lock.json | 248 ++++++++++++++++++++++-------- docs/package.json | 7 +- docs/src/Demo/Demo.css | 15 -- docs/src/Demo/Demo.jsx | 286 +++++------------------------------ docs/src/Demo/GithubIcon.jsx | 12 -- docs/src/index.css | 5 + 6 files changed, 236 insertions(+), 337 deletions(-) delete mode 100644 docs/src/Demo/GithubIcon.jsx diff --git a/docs/package-lock.json b/docs/package-lock.json index 64cfc9ed6f9f35..d3042dd37ffb91 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -57,6 +57,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, "requires": { "acorn": "3.3.0" }, @@ -64,7 +65,8 @@ "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true } } }, @@ -145,7 +147,8 @@ "ansi-escapes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==" + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", + "dev": true }, "ansi-html": { "version": "0.0.7", @@ -194,6 +197,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.0.tgz", "integrity": "sha512-/r2lHl09V3o74+2MLKEdewoj37YZqiQZnfen1O4iNlrOjUgeKuu1U2yF3iKh6HJxqF+OXkLMfQv65Z/cvxD6vA==", + "dev": true, "requires": { "ast-types-flow": "0.0.7" } @@ -309,7 +313,8 @@ "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true }, "async": { "version": "2.5.0", @@ -356,6 +361,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=", + "dev": true, "requires": { "ast-types-flow": "0.0.7" } @@ -1474,6 +1480,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, "requires": { "callsites": "0.2.0" } @@ -1481,7 +1488,8 @@ "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true }, "camel-case": { "version": "3.0.0", @@ -1626,7 +1634,8 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true }, "clap": { "version": "1.2.3", @@ -1804,6 +1813,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3", @@ -2253,7 +2263,8 @@ "damerau-levenshtein": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", - "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=" + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", + "dev": true }, "dashdash": { "version": "1.14.1", @@ -2444,6 +2455,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", + "dev": true, "requires": { "esutils": "2.0.2", "isarray": "1.0.0" @@ -2577,7 +2589,8 @@ "emoji-regex": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", - "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==" + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", + "dev": true }, "emojis-list": { "version": "2.1.0", @@ -2767,19 +2780,20 @@ } }, "eslint": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.4.1.tgz", - "integrity": "sha1-mc1+r8/8ov+Zpcj18qR01jZLS9M=", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.11.0.tgz", + "integrity": "sha512-UWbhQpaKlm8h5x/VLwm0S1kheMrDj8jPwhnBMjr/Dlo3qqT7MvcN/UfKAR3E1N4lr4YNtOvS4m3hwsrVc/ky7g==", + "dev": true, "requires": { "ajv": "5.3.0", "babel-code-frame": "6.26.0", - "chalk": "1.1.3", + "chalk": "2.3.0", "concat-stream": "1.6.0", "cross-spawn": "5.1.0", - "debug": "2.6.9", + "debug": "3.1.0", "doctrine": "2.0.0", "eslint-scope": "3.7.1", - "espree": "3.5.1", + "espree": "3.5.2", "esquery": "1.0.0", "estraverse": "4.2.0", "esutils": "2.0.2", @@ -2787,12 +2801,12 @@ "functional-red-black-tree": "1.0.1", "glob": "7.1.2", "globals": "9.18.0", - "ignore": "3.3.6", + "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "3.3.0", "is-resolvable": "1.0.0", "js-yaml": "3.10.0", - "json-stable-stringify": "1.0.1", + "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.4", "minimatch": "3.0.4", @@ -2800,31 +2814,87 @@ "natural-compare": "1.4.0", "optionator": "0.8.2", "path-is-inside": "1.0.2", - "pluralize": "4.0.0", + "pluralize": "7.0.0", "progress": "2.0.0", "require-uncached": "1.0.3", "semver": "5.4.1", + "strip-ansi": "4.0.0", "strip-json-comments": "2.0.1", "table": "4.0.2", "text-table": "0.2.0" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "dev": true }, "js-yaml": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "dev": true, "requires": { "argparse": "1.0.9", "esprima": "4.0.0" } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } } } }, + "eslint-config-airbnb": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", + "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", + "dev": true, + "requires": { + "eslint-config-airbnb-base": "12.1.0" + } + }, + "eslint-config-airbnb-base": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", + "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", + "dev": true, + "requires": { + "eslint-restricted-globals": "0.1.1" + } + }, "eslint-config-react-app": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-2.0.1.tgz", @@ -2967,9 +3037,10 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz", - "integrity": "sha512-5I9SpoP7gT4wBFOtXT8/tXNPYohHBVfyVfO17vkbC7r9kEIxYJF12D3pKqhk8+xnk12rfxKClS3WCFpVckFTPQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.2.tgz", + "integrity": "sha1-ZZJ3p1iwNsMFp+ShMFfDAc075z8=", + "dev": true, "requires": { "aria-query": "0.7.0", "array-includes": "3.0.3", @@ -2981,31 +3052,60 @@ } }, "eslint-plugin-react": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz", - "integrity": "sha1-J3cKzzn1/UnNCvQIPOWBBOs5DUw=", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.4.0.tgz", + "integrity": "sha512-tvjU9u3VqmW2vVuYnE8Qptq+6ji4JltjOjJ9u7VAOxVYkUkyBZWRvNYKbDv5fN+L6wiA+4we9+qQahZ0m63XEA==", + "dev": true, "requires": { "doctrine": "2.0.0", "has": "1.0.1", - "jsx-ast-utils": "1.4.1" + "jsx-ast-utils": "2.0.1", + "prop-types": "15.6.0" + }, + "dependencies": { + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "3.0.3" + } + } } }, + "eslint-restricted-globals": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz", + "integrity": "sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc=", + "dev": true + }, "eslint-scope": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, "requires": { "esrecurse": "4.2.0", "estraverse": "4.2.0" } }, "espree": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", - "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", + "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", + "dev": true, "requires": { - "acorn": "5.1.2", + "acorn": "5.2.1", "acorn-jsx": "3.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + } } }, "esprima": { @@ -3017,6 +3117,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "dev": true, "requires": { "estraverse": "4.2.0" } @@ -3292,6 +3393,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, "requires": { "flat-cache": "1.3.0", "object-assign": "4.1.1" @@ -3377,6 +3479,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", + "dev": true, "requires": { "circular-json": "0.3.3", "del": "2.2.2", @@ -3432,12 +3535,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, - "fs": { - "version": "0.0.1-security", - "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", - "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", - "dev": true - }, "fs-extra": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", @@ -4124,13 +4221,6 @@ } } }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, "string-width": { "version": "1.0.2", "bundled": true, @@ -4140,6 +4230,13 @@ "strip-ansi": "3.0.1" } }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, "stringstream": { "version": "0.0.5", "bundled": true, @@ -4246,7 +4343,8 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "get-caller-file": { "version": "1.0.2", @@ -4762,9 +4860,10 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "ignore": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.6.tgz", - "integrity": "sha512-HrxmNxKTGZ9a3uAl/FNG66Sdt0G9L4TtMbbUQjP1WhGmSj0FOyHvSgx7623aGJvXfPOur8MwmarlHT+37jmzlw==" + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "dev": true }, "imurmurhash": { "version": "0.1.4", @@ -4812,6 +4911,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, "requires": { "ansi-escapes": "3.0.0", "chalk": "2.3.0", @@ -4832,12 +4932,14 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "chalk": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -4848,6 +4950,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "3.0.0" } @@ -5070,6 +5173,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", + "dev": true, "requires": { "tryit": "1.0.3" } @@ -5619,6 +5723,12 @@ "jsonify": "0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -5661,7 +5771,8 @@ "jsx-ast-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=" + "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", + "dev": true }, "kind-of": { "version": "3.2.2", @@ -6638,9 +6749,10 @@ } }, "pluralize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", - "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=" + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true }, "portfinder": { "version": "1.0.13", @@ -7860,7 +7972,8 @@ "progress": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true }, "promise": { "version": "8.0.1", @@ -8187,13 +8300,10 @@ "chalk": "1.1.3", "css-loader": "0.28.4", "dotenv": "4.0.0", - "eslint": "4.4.1", "eslint-config-react-app": "2.0.1", "eslint-loader": "1.9.0", "eslint-plugin-flowtype": "2.35.0", "eslint-plugin-import": "2.7.0", - "eslint-plugin-jsx-a11y": "5.1.1", - "eslint-plugin-react": "7.1.0", "extract-text-webpack-plugin": "3.0.0", "file-loader": "0.11.2", "fs-extra": "3.0.1", @@ -8515,6 +8625,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, "requires": { "caller-path": "0.1.0", "resolve-from": "1.0.1" @@ -8545,7 +8656,8 @@ "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true }, "restore-cursor": { "version": "2.0.0", @@ -8817,6 +8929,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0" } @@ -9000,14 +9113,6 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", @@ -9040,6 +9145,14 @@ } } }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -9155,6 +9268,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, "requires": { "ajv": "5.3.0", "ajv-keywords": "2.1.0", @@ -9168,6 +9282,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -9285,7 +9400,8 @@ "tryit": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", + "dev": true }, "tty-browserify": { "version": "0.0.0", @@ -9326,7 +9442,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "ua-parser-js": { "version": "0.7.17", @@ -10106,6 +10223,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, "requires": { "mkdirp": "0.5.1" } diff --git a/docs/package.json b/docs/package.json index 7de56bedc55272..3d58b89a502dd6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -12,6 +12,11 @@ "eject": "react-scripts eject" }, "devDependencies": { - "cross-env": "^5.1.0" + "cross-env": "^5.1.0", + "eslint": "^4.8.0", + "eslint-config-airbnb": "^16.0.0", + "eslint-plugin-import": "^2.7.0", + "eslint-plugin-jsx-a11y": "^6.0.2", + "eslint-plugin-react": "^7.4.0" } } diff --git a/docs/src/Demo/Demo.css b/docs/src/Demo/Demo.css index 5a15328cf9c23b..753d42738e6e57 100644 --- a/docs/src/Demo/Demo.css +++ b/docs/src/Demo/Demo.css @@ -1,9 +1,3 @@ -*, -*::before, -*::after { - box-sizing: border-box; -} - .text-light { font-weight: 200 !important; } @@ -28,15 +22,6 @@ main { max-height: 230px } -.pickers { - display: flex; - justify-content: center; - flex-wrap: wrap; - min-height: 160px; - padding-top: 40px; - margin: 30px auto 50px; -} - .picker { display: flex; justify-content: center; diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index b2f117bd7b7e04..14ddb52994c969 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -1,103 +1,30 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import { - AppBar, Toolbar, IconButton, Typography, withStyles, Button, Tooltip, Icon, InputAdornment -} from 'material-ui' -import { TimePicker, DatePicker, DateTimePicker } from 'material-ui-pickers' -import Github from './GithubIcon' +import { AppBar, Toolbar, IconButton, Typography, withStyles, Button, Tooltip } from 'material-ui'; + +import Github from './components/GithubIcon'; +import SourcablePanel from './components/SourcablePanel'; +import BasicUsage from './Examples/BasicUsage'; +import CustomElements from './Examples/CustomElements'; +import DateTimePickers from './Examples/DateTimePickers'; import './Demo.css'; -import moment from 'moment'; class Demo extends Component { static propTypes = { + classes: PropTypes.object.isRequired, toggleThemeType: PropTypes.func.isRequired, } - state = { - selectedDate: moment(), - } - - handleDateChange = date => { - this.setState({ selectedDate: date }) - } - - handleWeekChange = date => { - this.setState({ selectedDate: date.clone().startOf('week') }) - } - scrollToContent = () => { const contentEl = document.getElementById('content'); contentEl.scrollIntoView({ behavior: 'smooth', - block: 'start' - }) - } - - changeOutside = () => { - this.setState({ selectedDate: moment('2015-02-02 12:44') }) - } - - renderWrappedDefaultDay = (date, selectedDate, dayInCurrentMonth) => { - const { classes } = this.props - - const startDate = selectedDate.clone().day(0).startOf('day') - const endDate = selectedDate.clone().day(6).endOf('day') - - const dayIsBetween = ( - date.isSame(startDate) || - date.isSame(endDate) || - (date.isAfter(startDate) && date.isBefore(endDate)) - ) - - const firstDay = date.isSame(startDate, 'day') - const lastDay = date.isSame(endDate, 'day') - - const wrapperClassName = [ - dayIsBetween ? classes.highlight : null, - firstDay ? classes.firstHighlight : null, - lastDay ? classes.endHighlight : null, - ].join(' ') - - const dayClassName = [ - classes.day, - (!dayInCurrentMonth) && classes.nonCurrentMonthDay, - (!dayInCurrentMonth && dayIsBetween) && classes.highlightNonCurrentMonthDay, - ].join(' ') - - return ( -
- - { date.format('DD')} - -
- ) - } - - formatWeekSelectLabel = (date, invalidLabel) => { - return date && date.isValid() - ? `Week of ${date.clone().startOf('week').format('MMM Do')}` - : invalidLabel - } - - renderCustomDayForDateTime = (date, selectedDate, dayInCurrentMonth, dayComponent) => { - const { classes } = this.props - - const dayClassName = [ - (date.isSame(selectedDate, 'day')) && classes.customDayHighlight, - ].join(' ') - - return ( -
- {dayComponent} -
-
- ) + block: 'start', + }); } render() { - const { classes } = this.props - const { selectedDate } = this.state - + const { classes } = this.props; return (
@@ -106,29 +33,29 @@ class Demo extends Component { menu -
+
- - + + lightbulb_outline - - - - - - - - + + + + + + + + - + Material-UI logo - + Material-UI Pickers - + Date and Time pickers for material-ui v1 @@ -137,7 +64,6 @@ class Demo extends Component { -
Here you are! @@ -151,106 +77,25 @@ class Demo extends Component { Basic usage -
-
- - Date picker - - - -
- -
- - Time picker - - - -
-
+ + + Date & Time pickers -
-
- - Default - - - keyboard_arrow_left } - rightArrowIcon={ keyboard_arrow_right } - /> -
- -
- - Custom - - - add_alarm} - rightArrowIcon={snooze} - InputProps={{ - endAdornment: ( - - add_alarm - - ) - }} - /> -
-
+ + + Custom Day Element -
-
- - Week picker - - - -
- -
- - DateTime picker - - - -
-
+ + +
); @@ -266,7 +111,7 @@ const styles = theme => ({ marginRight: 20, }, noShadow: { - boxShadow: 'unset' + boxShadow: 'unset', }, appToolbar: { backgroundColor: theme.palette.primary[500], @@ -284,58 +129,11 @@ const styles = theme => ({ marginTop: '10px', }, example: { - marginTop: '40px' + marginTop: '40px', }, main: { backgroundColor: theme.palette.background.paper, - marginBottom: -50 - }, - pickers: { - display: 'flex', - justifyContent: 'center', - flexWrap: 'wrap', - minHeight: 160, - paddingTop: 40, - margin: '30px auto 50px', - backgroundColor: theme.palette.background.default, - }, - dayWrapper: { - position: 'relative', - }, - day: { - width: 36, - height: 36, - fontSize: 14, - margin: '0 2px', - color: theme.palette.text.primary, - }, - customDayHighlight: { - position: 'absolute', - top: 0, - bottom: 0, - left: '2px', - right: '2px', - border: '2px solid #6270bf', - borderRadius: '50%', - }, - nonCurrentMonthDay: { - color: '#BCBCBC', - }, - highlightNonCurrentMonthDay: { - color: '#676767', - }, - highlight: { - background: '#9fa8da', - }, - firstHighlight: { - extend: 'highlight', - borderTopLeftRadius: '50%', - borderBottomLeftRadius: '50%', - }, - endHighlight: { - extend: 'highlight', - borderTopRightRadius: '50%', - borderBottomRightRadius: '50%', + marginBottom: -50, }, content: { paddingTop: '60px', @@ -346,13 +144,13 @@ const styles = theme => ({ display: 'flex', flexDirection: 'column', '@media(max-width: 600px)': { - minHeight: 'calc(100vh - 55px)' - } + minHeight: 'calc(100vh - 55px)', + }, }, changeOutside: { maxWidth: 200, - margin: '0 auto' - } -}) + margin: '0 auto', + }, +}); export default withStyles(styles)(Demo); diff --git a/docs/src/Demo/GithubIcon.jsx b/docs/src/Demo/GithubIcon.jsx deleted file mode 100644 index 947e3d45683c7b..00000000000000 --- a/docs/src/Demo/GithubIcon.jsx +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import SvgIcon from 'material-ui/SvgIcon'; - -const GitHub = (props) => { - return ( - - - - ); -} - -export default GitHub; \ No newline at end of file diff --git a/docs/src/index.css b/docs/src/index.css index 20762197ed88be..592ab3d2523e91 100644 --- a/docs/src/index.css +++ b/docs/src/index.css @@ -4,3 +4,8 @@ body { font-family: sans-serif; } +*, +*::before, +*::after { + box-sizing: border-box; +} From f0e1adb5feb4742919a71fb6c9472f42d9662008 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 12 Nov 2017 18:19:00 +0200 Subject: [PATCH 0094/1801] Commit new files --- docs/.eslintrc | 17 +++ docs/src/Demo/Examples/BasicUsage.jsx | 43 ++++++ docs/src/Demo/Examples/CustomElements.jsx | 154 ++++++++++++++++++++ docs/src/Demo/Examples/DateTimePickers.jsx | 59 ++++++++ docs/src/Demo/components/GithubIcon.jsx | 12 ++ docs/src/Demo/components/SourcablePanel.jsx | 34 +++++ 6 files changed, 319 insertions(+) create mode 100644 docs/.eslintrc create mode 100644 docs/src/Demo/Examples/BasicUsage.jsx create mode 100644 docs/src/Demo/Examples/CustomElements.jsx create mode 100644 docs/src/Demo/Examples/DateTimePickers.jsx create mode 100644 docs/src/Demo/components/GithubIcon.jsx create mode 100644 docs/src/Demo/components/SourcablePanel.jsx diff --git a/docs/.eslintrc b/docs/.eslintrc new file mode 100644 index 00000000000000..1cb55e195a4787 --- /dev/null +++ b/docs/.eslintrc @@ -0,0 +1,17 @@ +{ + "extends": "airbnb", + "parser": "babel-eslint", + "rules": { + "react/forbid-prop-types": 0, + "react/jsx-filename-extension": 0, + "no-param-reassign": 0, + "import/no-named-as-default": 0, + "import/no-extraneous-dependencies": 0 + }, + "globals": { + "document": true + }, + "env": { + "jest": true + } +} \ No newline at end of file diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx new file mode 100644 index 00000000000000..8514473f8bd293 --- /dev/null +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -0,0 +1,43 @@ +import React, { Component } from 'react'; +import moment from 'moment'; +import { Typography } from 'material-ui'; +import { TimePicker, DatePicker } from 'material-ui-pickers'; + +export default class BasicUsage extends Component { + state = { + selectedDate: moment(), + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + render() { + const { selectedDate } = this.state; + + return [ +
+ + Date picker + + + +
, + +
+ + Time picker + + + +
, + ]; + } +} diff --git a/docs/src/Demo/Examples/CustomElements.jsx b/docs/src/Demo/Examples/CustomElements.jsx new file mode 100644 index 00000000000000..c7d883bb95f58e --- /dev/null +++ b/docs/src/Demo/Examples/CustomElements.jsx @@ -0,0 +1,154 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import moment from 'moment'; +import { IconButton, Typography, withStyles } from 'material-ui'; +import { DateTimePicker, DatePicker } from 'material-ui-pickers'; + +const styles = theme => ({ + dayWrapper: { + position: 'relative', + }, + day: { + width: 36, + height: 36, + fontSize: 14, + margin: '0 2px', + color: theme.palette.text.primary, + }, + customDayHighlight: { + position: 'absolute', + top: 0, + bottom: 0, + left: '2px', + right: '2px', + border: '2px solid #6270bf', + borderRadius: '50%', + }, + nonCurrentMonthDay: { + color: '#BCBCBC', + }, + highlightNonCurrentMonthDay: { + color: '#676767', + }, + highlight: { + background: '#9fa8da', + }, + firstHighlight: { + extend: 'highlight', + borderTopLeftRadius: '50%', + borderBottomLeftRadius: '50%', + }, + endHighlight: { + extend: 'highlight', + borderTopRightRadius: '50%', + borderBottomRightRadius: '50%', + }, +}); + +class CustomElements extends Component { + static propTypes = { + classes: PropTypes.object.isRequired, + } + + state = { + selectedDate: moment(), + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + handleWeekChange = (date) => { + this.setState({ selectedDate: date.clone().startOf('week') }); + } + + formatWeekSelectLabel = (date, invalidLabel) => (date && date.isValid() + ? `Week of ${date.clone().startOf('week').format('MMM Do')}` + : invalidLabel) + + renderCustomDayForDateTime = (date, selectedDate, dayInCurrentMonth, dayComponent) => { + const { classes } = this.props; + + const dayClassName = [ + (date.isSame(selectedDate, 'day')) && classes.customDayHighlight, + ].join(' '); + + return ( +
+ {dayComponent} +
+
+ ); + } + + renderWrappedDefaultDay = (date, selectedDate, dayInCurrentMonth) => { + const { classes } = this.props; + + const startDate = selectedDate.clone().day(0).startOf('day'); + const endDate = selectedDate.clone().day(6).endOf('day'); + + const dayIsBetween = ( + date.isSame(startDate) || + date.isSame(endDate) || + (date.isAfter(startDate) && date.isBefore(endDate)) + ); + + const firstDay = date.isSame(startDate, 'day'); + const lastDay = date.isSame(endDate, 'day'); + + const wrapperClassName = [ + dayIsBetween ? classes.highlight : null, + firstDay ? classes.firstHighlight : null, + lastDay ? classes.endHighlight : null, + ].join(' '); + + const dayClassName = [ + classes.day, + (!dayInCurrentMonth) && classes.nonCurrentMonthDay, + (!dayInCurrentMonth && dayIsBetween) && classes.highlightNonCurrentMonthDay, + ].join(' '); + + return ( +
+ + { date.format('DD')} + +
+ ); + } + + render() { + const { selectedDate } = this.state; + + return [ +
+ + Week picker + + + +
, + +
+ + DateTime picker + + + +
, + ]; + } +} + +export default withStyles(styles)(CustomElements); + diff --git a/docs/src/Demo/Examples/DateTimePickers.jsx b/docs/src/Demo/Examples/DateTimePickers.jsx new file mode 100644 index 00000000000000..ed0c15b471bb06 --- /dev/null +++ b/docs/src/Demo/Examples/DateTimePickers.jsx @@ -0,0 +1,59 @@ +import React, { Component } from 'react'; +import moment from 'moment'; +import { DateTimePicker } from 'material-ui-pickers'; +import { IconButton, Typography, Icon, InputAdornment } from 'material-ui'; + +export default class BasicUsage extends Component { + state = { + selectedDate: moment(), + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + render() { + const { selectedDate } = this.state; + + return [ +
+ + Default + + + keyboard_arrow_left } + rightArrowIcon={ keyboard_arrow_right } + /> +
, + +
+ + Custom + + + add_alarm} + rightArrowIcon={snooze} + InputProps={{ + endAdornment: ( + + add_alarm + + ), + }} + /> +
, + ]; + } +} diff --git a/docs/src/Demo/components/GithubIcon.jsx b/docs/src/Demo/components/GithubIcon.jsx new file mode 100644 index 00000000000000..947e3d45683c7b --- /dev/null +++ b/docs/src/Demo/components/GithubIcon.jsx @@ -0,0 +1,12 @@ +import React from 'react'; +import SvgIcon from 'material-ui/SvgIcon'; + +const GitHub = (props) => { + return ( + + + + ); +} + +export default GitHub; \ No newline at end of file diff --git a/docs/src/Demo/components/SourcablePanel.jsx b/docs/src/Demo/components/SourcablePanel.jsx new file mode 100644 index 00000000000000..53da808108081a --- /dev/null +++ b/docs/src/Demo/components/SourcablePanel.jsx @@ -0,0 +1,34 @@ +import React, { Component } from 'react' +import PropTypes from 'prop-types' +import withStyles from 'material-ui/styles/withStyles'; + +class SourcablePanel extends Component { + static propTypes = { + children: PropTypes.node, + classes: PropTypes.object.isRequired, + } + + render() { + const { classes } = this.props; + return ( +
+ { this.props.children } +
+ ) + } +} + +const styles = theme => ({ + pickers: { + display: 'flex', + justifyContent: 'center', + flexWrap: 'wrap', + minHeight: 160, + paddingTop: 40, + width: '100%', + margin: '30px auto 50px', + backgroundColor: theme.palette.background.default, + }, +}) + +export default withStyles(styles)(SourcablePanel) \ No newline at end of file From 05c62e57ed1eadb75905ec0ca9fa49c00bd6fa97 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 12 Nov 2017 18:28:20 +0200 Subject: [PATCH 0095/1801] Fix not disaybling dates --- src/DatePicker/Calendar.jsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/DatePicker/Calendar.jsx b/src/DatePicker/Calendar.jsx index 930dc27f0eab53..a193a23e1b15e7 100644 --- a/src/DatePicker/Calendar.jsx +++ b/src/DatePicker/Calendar.jsx @@ -89,12 +89,13 @@ export class Calendar extends Component { return Array.from(moment.range(week, end).by('day')) .map((day) => { + // should be applied both for wrapper and button + const disabledClass = classnames({ [classes.disabled]: this.shouldDisableDate(day) }); const dayInCurrentMonth = day.get('month') === currentMonthNumber; - const dayClass = classnames(classes.day, { + const dayClass = classnames(classes.day, disabledClass, { [classes.hidden]: !dayInCurrentMonth, [classes.selected]: day.format() === formattedSelectedDate, - [classes.disabled]: this.shouldDisableDate(day), }); let dayComponent = ( @@ -112,6 +113,7 @@ export class Calendar extends Component { key={day.toString()} onClick={() => dayInCurrentMonth && this.onDateSelect(day)} onKeyPress={() => dayInCurrentMonth && this.onDateSelect(day)} + className={disabledClass} role="presentation" > {dayComponent} From 094a4933dc09d45517443b2757ce8f481c5154d5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 12 Nov 2017 18:50:18 +0200 Subject: [PATCH 0096/1801] Fix not focus shrinking for several pickers in one form --- docs/src/Demo/Demo.jsx | 25 +- docs/src/Demo/components/GithubIcon.jsx | 14 +- docs/src/Demo/components/SourcablePanel.jsx | 42 +- package-lock.json | 647 ++++++++------------ package.json | 20 +- src/wrappers/ModalWrapper.jsx | 2 +- 6 files changed, 318 insertions(+), 432 deletions(-) diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 14ddb52994c969..b8afd957ad04cd 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -69,31 +69,15 @@ class Demo extends Component { Here you are! - - - - Basic usage - - - + - - Date & Time pickers - - - + - - Custom Day Element - - - +
@@ -128,9 +112,6 @@ const styles = theme => ({ getStarted: { marginTop: '10px', }, - example: { - marginTop: '40px', - }, main: { backgroundColor: theme.palette.background.paper, marginBottom: -50, diff --git a/docs/src/Demo/components/GithubIcon.jsx b/docs/src/Demo/components/GithubIcon.jsx index 947e3d45683c7b..036168c05b2bf9 100644 --- a/docs/src/Demo/components/GithubIcon.jsx +++ b/docs/src/Demo/components/GithubIcon.jsx @@ -1,12 +1,10 @@ import React from 'react'; import SvgIcon from 'material-ui/SvgIcon'; -const GitHub = (props) => { - return ( - - - - ); -} +const GitHub = props => ( + + + +); -export default GitHub; \ No newline at end of file +export default GitHub; diff --git a/docs/src/Demo/components/SourcablePanel.jsx b/docs/src/Demo/components/SourcablePanel.jsx index 53da808108081a..2717288693471e 100644 --- a/docs/src/Demo/components/SourcablePanel.jsx +++ b/docs/src/Demo/components/SourcablePanel.jsx @@ -1,24 +1,43 @@ -import React, { Component } from 'react' -import PropTypes from 'prop-types' -import withStyles from 'material-ui/styles/withStyles'; +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { Typography, withStyles } from 'material-ui'; class SourcablePanel extends Component { static propTypes = { - children: PropTypes.node, + children: PropTypes.arrayOf(PropTypes.node).isRequired, classes: PropTypes.object.isRequired, + title: PropTypes.string.isRequired, + } + + getSource = () => { + } render() { - const { classes } = this.props; - return ( -
+ const { classes, title } = this.props; + return [ + + { title } + , + +
{ this.props.children } -
- ) +
, + ]; } } const styles = theme => ({ + exampleTitle: { + marginTop: '40px', + '@media(max-width: 600px)': { + marginLeft: 5, + }, + }, pickers: { display: 'flex', justifyContent: 'center', @@ -29,6 +48,7 @@ const styles = theme => ({ margin: '30px auto 50px', backgroundColor: theme.palette.background.default, }, -}) +}); + +export default withStyles(styles)(SourcablePanel); -export default withStyles(styles)(SourcablePanel) \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index e9e84df9c8f8de..b7986078cf1311 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,153 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.12", + "version": "1.0.0-alpha.13", "lockfileVersion": 1, "requires": true, "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.32.tgz", + "integrity": "sha512-EVq4T1a2GviKiQ75OfxNrGPPhJyXzg9jjORuuwhloZbFdrhT4FHa73sv9OFWBwX7rl2b6bxBVmfxrBQYWYz9tA==", + "dev": true, + "requires": { + "chalk": "2.3.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, + "requires": { + "color-convert": "1.9.0" + } + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true, + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" + } + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.32.tgz", + "integrity": "sha512-ysfIt7p72xm5fjSJsv7fMVN/j+EwIdqu8/MJjt6TqB4wM2r6rFRi0ujBTWDkLGQkRB/P5uDV8qcFCHAHnNzmsg==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.32", + "@babel/template": "7.0.0-beta.32", + "@babel/types": "7.0.0-beta.32" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.32.tgz", + "integrity": "sha512-bm7lIlizycJQY5SJ3HXWJV4XjSrOt1onzrDcOxUo9FEnKRZDEr/zfi5ar2s5tvvZvve/jGHwZKVKekRw2cjPCQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.32" + } + }, + "@babel/template": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.32.tgz", + "integrity": "sha512-DB9sLgX2mfE29vjAkxHlzLyWr31EO9HaYoAM/UsPSsL70Eudl0i25URwIfQT6S6ckeVFnFP1t6PhERVeV4EAHA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.32", + "@babel/types": "7.0.0-beta.32", + "babylon": "7.0.0-beta.32", + "lodash": "4.17.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.32.tgz", + "integrity": "sha512-PvAmyP2IJEBVAuE5yVzrTSWCCN9VMa1eGns8w3w6FYD/ivHSUmS7n+F40Fmjn+0nCQSUFR96wP0CqQ4jxTnF4Q==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.32.tgz", + "integrity": "sha512-dGe2CLduCIZ/iDkbmnqspQguRy5ARvI+zC8TiwFnsJ2YYO2TWK7x2aEwrbkSmi0iPlBP+Syiag7Idc1qNQq74g==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.32", + "@babel/helper-function-name": "7.0.0-beta.32", + "@babel/types": "7.0.0-beta.32", + "babylon": "7.0.0-beta.32", + "debug": "3.1.0", + "globals": "10.3.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.32.tgz", + "integrity": "sha512-PvAmyP2IJEBVAuE5yVzrTSWCCN9VMa1eGns8w3w6FYD/ivHSUmS7n+F40Fmjn+0nCQSUFR96wP0CqQ4jxTnF4Q==", + "dev": true + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-10.3.0.tgz", + "integrity": "sha512-1g6qO5vMbiPHbRTDtR9JVjRkAhkgH4nSANYGyx1eOfqgxcMnYMMD+7MjmjfzXjwFpVUE/7/NzF+jQxYE7P4r7A==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.32.tgz", + "integrity": "sha512-w8+wzVcYCMb9OfaBfay2Vg5hyj7UfBX6qQtA+kB0qsW1h1NH/7xHMwvTZNqkuFBwjz5wxGS2QmaIcC3HH+UoxA==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, "@types/node": { - "version": "6.0.90", - "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.90.tgz", - "integrity": "sha512-tXoGRVdi7wZX7P1VWoV9Wfk0uYDOAHdEYXAttuWgSrN76Q32wQlSrMX0Rgyv3RTEaQY2ZLQrzYHVM2e8rfo8sA==", + "version": "8.0.51", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.51.tgz", + "integrity": "sha512-El3+WJk2D/ppWNd2X05aiP5l2k4EwF7KwheknQZls+I26eSICoWRhRIJ56jGgw2dqNGQ5LtNajmBU2ajS28EvQ==", "dev": true }, "abab": { @@ -311,6 +451,12 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -400,116 +546,21 @@ } }, "babel-eslint": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.0.1.tgz", - "integrity": "sha512-h3moF6PCTQE06UjMMG+ydZSBvZ4Q7rqPE/5WAUOvUyHYUTqxm8JVhjZRiG1avI/tGVOK4BnZLDQapyLzh8DeKg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.0.2.tgz", + "integrity": "sha512-yyl5U088oE+419+BNLJDKVWkUokuPLQeQt9ZTy9uM9kAzbtQgyYL3JkG425B8jxXA7MwTxnDAtRLMKJNH36qjA==", "dev": true, "requires": { - "babel-code-frame": "7.0.0-beta.0", - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22" + "@babel/code-frame": "7.0.0-beta.32", + "@babel/traverse": "7.0.0-beta.32", + "@babel/types": "7.0.0-beta.32", + "babylon": "7.0.0-beta.32" }, "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "babel-code-frame": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz", - "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", - "dev": true, - "requires": { - "chalk": "2.3.0", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-messages": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-beta.0.tgz", - "integrity": "sha512-eXdShsm9ZTh9AQhlIaAn6HR3xWpxCnK9ZwIDA9QyjnwTgMctGxHHflw4b4RJ3/ZjTL0Vrmvm0tQXPkp49mTAUw==", - "dev": true - }, - "babel-traverse": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz", - "integrity": "sha512-IKzuTqUcQtMRZ0Vv5RjIrGGj33eBKmNTNeRexWSyjPPuAciyNkva1rt7WXPfHfkb+dX7coRAIUhzeTUEzhnwdA==", - "dev": true, - "requires": { - "babel-code-frame": "7.0.0-beta.0", - "babel-helper-function-name": "7.0.0-beta.0", - "babel-messages": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22", - "debug": "3.1.0", - "globals": "10.1.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", - "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", - "dev": true, - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "2.0.0" - } - }, "babylon": { - "version": "7.0.0-beta.22", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.22.tgz", - "integrity": "sha512-Yl7iT8QGrS8OfR7p6R12AJexQm+brKwrryai4VWZ7NHUbPoZ5al3+klhvl/14shXZiLa7uK//OIFuZ1/RKHgoA==", - "dev": true - }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-10.1.0.tgz", - "integrity": "sha1-RCWhiBvg0za0qCOoKnvnJdXdmHw=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "version": "7.0.0-beta.32", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.32.tgz", + "integrity": "sha512-PvAmyP2IJEBVAuE5yVzrTSWCCN9VMa1eGns8w3w6FYD/ivHSUmS7n+F40Fmjn+0nCQSUFR96wP0CqQ4jxTnF4Q==", "dev": true } } @@ -612,161 +663,6 @@ "babel-types": "6.26.0" } }, - "babel-helper-function-name": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-7.0.0-beta.0.tgz", - "integrity": "sha512-DaQccFBBWBEzMdqbKmNXamY0m1yLHJGOdbbEsNoGdJrrU7wAF3wwowtDDPzF0ZT3SqJXPgZW/P2kgBX9moMuAA==", - "dev": true, - "requires": { - "babel-helper-get-function-arity": "7.0.0-beta.0", - "babel-template": "7.0.0-beta.0", - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "babel-code-frame": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-7.0.0-beta.0.tgz", - "integrity": "sha512-/xr1ADm5bnTjjN+xwoXb7lF4v2rnxMzNZzFU7h8SxB+qB6+IqSTOOqVcpaPTUC2Non/MbQxS3OIZnJpQ2X21aQ==", - "dev": true, - "requires": { - "chalk": "2.3.0", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-messages": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-7.0.0-beta.0.tgz", - "integrity": "sha512-eXdShsm9ZTh9AQhlIaAn6HR3xWpxCnK9ZwIDA9QyjnwTgMctGxHHflw4b4RJ3/ZjTL0Vrmvm0tQXPkp49mTAUw==", - "dev": true - }, - "babel-template": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-7.0.0-beta.0.tgz", - "integrity": "sha512-tmdH+MmmU0F6Ur8humpevSmFzYKbrN3Oru0g5Qyg4R6+sxjnzZmnvzUbsP0aKMr7tB0Ua6xhEb9arKTOsEMkyA==", - "dev": true, - "requires": { - "babel-traverse": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22", - "lodash": "4.17.4" - } - }, - "babel-traverse": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-7.0.0-beta.0.tgz", - "integrity": "sha512-IKzuTqUcQtMRZ0Vv5RjIrGGj33eBKmNTNeRexWSyjPPuAciyNkva1rt7WXPfHfkb+dX7coRAIUhzeTUEzhnwdA==", - "dev": true, - "requires": { - "babel-code-frame": "7.0.0-beta.0", - "babel-helper-function-name": "7.0.0-beta.0", - "babel-messages": "7.0.0-beta.0", - "babel-types": "7.0.0-beta.0", - "babylon": "7.0.0-beta.22", - "debug": "3.1.0", - "globals": "10.1.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", - "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", - "dev": true, - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "2.0.0" - } - }, - "babylon": { - "version": "7.0.0-beta.22", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.22.tgz", - "integrity": "sha512-Yl7iT8QGrS8OfR7p6R12AJexQm+brKwrryai4VWZ7NHUbPoZ5al3+klhvl/14shXZiLa7uK//OIFuZ1/RKHgoA==", - "dev": true - }, - "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - } - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-10.1.0.tgz", - "integrity": "sha1-RCWhiBvg0za0qCOoKnvnJdXdmHw=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, - "babel-helper-get-function-arity": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-7.0.0-beta.0.tgz", - "integrity": "sha512-csqAic15/2Vm1951nJxkkL9K8E6ojyNF/eAOjk7pqJlO8kvgrccGNFCV9eDwcGHDPe5AjvJGwVSAcQ5fit9wuA==", - "dev": true, - "requires": { - "babel-types": "7.0.0-beta.0" - }, - "dependencies": { - "babel-types": { - "version": "7.0.0-beta.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-7.0.0-beta.0.tgz", - "integrity": "sha512-rJc2kV9iPJGLlqIY71AM3nPcdkoeLRCDuR07GFgfd3lFl4TsBQq76TxYQQIZ2MONg1HpsqmuoCXr9aZ1Oa4wYw==", - "dev": true, - "requires": { - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "2.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } - } - }, "babel-helper-hoist-variables": { "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", @@ -1936,7 +1832,7 @@ "entities": "1.1.1", "htmlparser2": "3.9.2", "lodash": "4.17.4", - "parse5": "3.0.2" + "parse5": "3.0.3" } }, "chokidar": { @@ -2200,17 +2096,6 @@ "sha.js": "2.4.9" } }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", - "dev": true, - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, "cross-env": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.1.tgz", @@ -2372,9 +2257,9 @@ "dev": true }, "deepmerge": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.0.tgz", - "integrity": "sha512-YiTeIE16rJ/BCCbWYueeQoKkhoolGHqynDZmB03gPqMt6y3duJG6+po7zdMm7UK5o3njDm4Yyuqr4082G4M4Zw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", + "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==", "dev": true }, "default-require-extensions": { @@ -2656,9 +2541,9 @@ "dev": true }, "enzyme": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.1.0.tgz", - "integrity": "sha1-2MqECFeQ+87G7UC63RRHj67kwlo=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.1.1.tgz", + "integrity": "sha512-+Lj90HE3c6Jgtpha3kYfB/mTdD1GNWqSh7q8AcA8d+/CRJojRT+3yABHqKpfRx71qeEACjuvXU3Eu5UP//p/mA==", "dev": true, "requires": { "cheerio": "1.0.0-rc.2", @@ -2674,35 +2559,23 @@ } }, "enzyme-adapter-react-16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.2.tgz", - "integrity": "sha512-ePlf3ikzau4NatDCzBP1Y/rFgLhR6MnS1YQVrxD2KXFI31nE1HtL+6ciqALF8kHe5q7Y7lFAd1MYOLIriRqgcw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.4.tgz", + "integrity": "sha512-MCjuwrCE5yhTJxaBhd6zTVdm8T01Ydjys5JaFm9ILkxP7oYb3N4i+nytKlzhI7rVouPdAuUVI8mO5UcEbEFAmw==", "dev": true, "requires": { - "enzyme-adapter-utils": "1.0.1", + "enzyme-adapter-utils": "1.1.1", "lodash": "4.17.4", "object.assign": "4.0.4", "object.values": "1.0.4", "prop-types": "15.6.0", - "react-test-renderer": "16.0.0" - }, - "dependencies": { - "react-test-renderer": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.0.0.tgz", - "integrity": "sha1-n+e4MI8vcfKfw1bUECCG8THJyxU=", - "dev": true, - "requires": { - "fbjs": "0.8.16", - "object-assign": "4.1.1" - } - } + "react-test-renderer": "16.1.0" } }, "enzyme-adapter-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.0.1.tgz", - "integrity": "sha1-/NgSIzOaVaMS91UmQeBFxAQIQAk=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.1.1.tgz", + "integrity": "sha512-XU41nEiTl7O2JJvRA7JoCMhkDYRW9mQAgiy67Yz9BqTiRP/ldwuJYX8Gkom2LlihKIb9wy96IDuayR3RQspSNg==", "dev": true, "requires": { "lodash": "4.17.4", @@ -2865,12 +2738,12 @@ } }, "eslint": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz", - "integrity": "sha512-MMVl8P/dYUFZEvolL8PYt7qc5LNdS2lwheq9BYa5Y07FblhcZqFyaUqlS8TW5QITGex21tV4Lk0a3fK8lsJIkA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.11.0.tgz", + "integrity": "sha512-UWbhQpaKlm8h5x/VLwm0S1kheMrDj8jPwhnBMjr/Dlo3qqT7MvcN/UfKAR3E1N4lr4YNtOvS4m3hwsrVc/ky7g==", "dev": true, "requires": { - "ajv": "5.2.4", + "ajv": "5.3.0", "babel-code-frame": "6.26.0", "chalk": "2.3.0", "concat-stream": "1.6.0", @@ -2878,7 +2751,7 @@ "debug": "3.1.0", "doctrine": "2.0.0", "eslint-scope": "3.7.1", - "espree": "3.5.1", + "espree": "3.5.2", "esquery": "1.0.0", "estraverse": "4.2.0", "esutils": "2.0.2", @@ -2891,7 +2764,7 @@ "inquirer": "3.3.0", "is-resolvable": "1.0.0", "js-yaml": "3.10.0", - "json-stable-stringify": "1.0.1", + "json-stable-stringify-without-jsonify": "1.0.1", "levn": "0.3.0", "lodash": "4.17.4", "minimatch": "3.0.4", @@ -2909,6 +2782,18 @@ "text-table": "0.2.0" }, "dependencies": { + "ajv": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz", + "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -3117,13 +3002,21 @@ } }, "espree": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", - "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", + "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", "dev": true, "requires": { - "acorn": "5.1.2", + "acorn": "5.2.1", "acorn-jsx": "3.0.1" + }, + "dependencies": { + "acorn": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", + "dev": true + } } }, "esprima": { @@ -3344,6 +3237,12 @@ "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", "dev": true }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", @@ -6211,6 +6110,12 @@ "jsonify": "0.0.0" } }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -6504,15 +6409,15 @@ } }, "material-ui": { - "version": "1.0.0-beta.19", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.19.tgz", - "integrity": "sha512-hNUazPHKup8m4HKH6D6jcq31teMM9gU4xztGzhu4CPcdVviDo+wkTt1//oUcX86rglPIjQhV1F5652n260FJ2w==", + "version": "1.0.0-beta.20", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.20.tgz", + "integrity": "sha512-s2TBWKUKgTG3aYyjU1FjeWxFSj/paNu0RS4FQRO80LQhGOfG2TNHNc/TmO/VvBy+tQTU19w5vUbE77kRibaXyQ==", "dev": true, "requires": { "babel-runtime": "6.26.0", "brcast": "3.0.1", "classnames": "2.2.5", - "deepmerge": "2.0.0", + "deepmerge": "2.0.1", "dom-helpers": "3.2.1", "hoist-non-react-statics": "2.3.1", "jss": "8.1.0", @@ -6701,9 +6606,9 @@ } }, "moment": { - "version": "2.19.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz", - "integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc=" + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz", + "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA==" }, "moment-range": { "version": "3.0.3", @@ -7131,12 +7036,12 @@ } }, "parse5": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz", - "integrity": "sha1-Be/1fw70V3+xRKefi5qWemzERRA=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "6.0.90" + "@types/node": "8.0.51" } }, "parseurl": { @@ -7266,9 +7171,9 @@ "dev": true }, "popper.js": { - "version": "1.12.6", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.6.tgz", - "integrity": "sha512-wZlMkIJM1hFcM9F7nSrRCbKKfkH0kk/GrCoj3EUoKU8kx9xPtvnOZNHKsQOM12+xqbYv2HeBWI8Y8pxb6vmnRQ==", + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.7.tgz", + "integrity": "sha1-uNIlYY5dleJ6wrWR3r9YGFepwW0=", "dev": true }, "prelude-ls": { @@ -7516,9 +7421,9 @@ } }, "react": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.0.0.tgz", - "integrity": "sha1-zn348ZQbA28Cssyp29DLHw6FXi0=", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.1.0.tgz", + "integrity": "sha512-hvKYlKqde2JNnNiEzORvSA0J1L7uSZ43l+J89ZNoP4EXxQrVNH0CFj8vorfPou3w+1ou1BNMBir2VVsuXtETRA==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -7528,9 +7433,9 @@ } }, "react-dom": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.0.0.tgz", - "integrity": "sha1-nMMHnD3NcNTG4BuEqrKn40wwP1g=", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.1.0.tgz", + "integrity": "sha512-i9in5qW3H2PDinUPD9bnQK7tLAD8LhjYQ+fXi3nJOvVnxOO3ErHq6RNEnKY7pbjTPt155e74q7al8eBUuyLtew==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -7567,7 +7472,7 @@ "jss": "8.1.0", "jss-preset-default": "3.0.0", "prop-types": "15.6.0", - "theming": "1.1.0" + "theming": "1.2.1" }, "dependencies": { "hoist-non-react-statics": { @@ -7584,7 +7489,7 @@ "integrity": "sha512-dx1fcKYYkidq7f71I1g+YX7g3QBLZ9taqiSRdJ7wbP7v/o7F6JsrUaNWGbVNul+TqdDDIZ5/k0xPUol9baqQJQ==", "dev": true, "requires": { - "popper.js": "1.12.6", + "popper.js": "1.12.7", "prop-types": "15.6.0" } }, @@ -7599,6 +7504,17 @@ "react-event-listener": "0.5.1" } }, + "react-test-renderer": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.1.0.tgz", + "integrity": "sha512-PQx92UCj6GMl/vQtitzV2iHg+Zgu5ft5FT/2HpYfwQBG9OjDtBQ6PEo988rVjEaTjmJ06mNpA1sG3on47l6MOg==", + "dev": true, + "requires": { + "fbjs": "0.8.16", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, "react-transition-group": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", @@ -7878,9 +7794,9 @@ } }, "rollup": { - "version": "0.50.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", - "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", + "version": "0.50.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.1.tgz", + "integrity": "sha512-XwrnqjSTk+yR8GbP6hiJuVe83MVmBw/gm4P3qP34A10fRXvv6ppl0ZUg1+Pj1tIZSR/aw5ZaILLEiVxwXIAdAw==", "dev": true }, "rollup-plugin-babel": { @@ -8551,37 +8467,15 @@ "dev": true }, "theming": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/theming/-/theming-1.1.0.tgz", - "integrity": "sha512-YRhQV+eqeuef70eqfMGKGR+3DBXoWJ4lsrSSuj8dzrv0/EsnVuDmZAjIifESvJARtuP1KbMpdl8qbXdLAz4t/w==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/theming/-/theming-1.2.1.tgz", + "integrity": "sha512-cGFWBqPP93I/pVucq6OAYQFoYyvueEOUmK5dxdlFsgx/fzn8In0sbeLEgxvEHk1ktvHGeX4uZFP8QJmXyIzw/A==", "dev": true, "requires": { - "brcast": "2.0.2", + "brcast": "3.0.1", "is-function": "1.0.1", "is-plain-object": "2.0.4", - "prop-types": "15.6.0", - "react": "15.6.2" - }, - "dependencies": { - "brcast": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brcast/-/brcast-2.0.2.tgz", - "integrity": "sha512-Tfn5JSE7hrUlFcOoaLzVvkbgIemIorMIyoMr3TgvszWW7jFt2C9PdeMLtysYD9RU0MmU17b69+XJG1eRY2OBRg==", - "dev": true - }, - "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", - "dev": true, - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - } + "prop-types": "15.6.0" } }, "throat": { @@ -8978,9 +8872,9 @@ } }, "webpack-bundle-analyzer": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.9.0.tgz", - "integrity": "sha1-tYvDTMMLJ//brz0AvyerpvopxuM=", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.9.1.tgz", + "integrity": "sha512-a+UcvlsXvCmclNgfThT8PVyuJKd029By7CxkYEbNNCfs0Lqj9gagjkdv3S3MBvCIKBaUGYs8l4UpiVI0bFoh2Q==", "dev": true, "requires": { "acorn": "5.1.2", @@ -8993,7 +8887,7 @@ "lodash": "4.17.4", "mkdirp": "0.5.1", "opener": "1.4.3", - "ws": "2.3.1" + "ws": "3.3.1" } }, "webpack-sources": { @@ -9174,21 +9068,14 @@ } }, "ws": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-2.3.1.tgz", - "integrity": "sha1-a5Sz5EfLajY/eF6vlK9jWejoHIA=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.1.tgz", + "integrity": "sha512-8A/uRMnQy8KCQsmep1m7Bk+z/+LIkeF7w+TDMLtX1iZm5Hq9HsUDmgFGaW1ACW5Cj0b2Qo7wCvRhYN2ErUVp/A==", "dev": true, "requires": { - "safe-buffer": "5.0.1", + "async-limiter": "1.0.0", + "safe-buffer": "5.1.1", "ultron": "1.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", - "dev": true - } } }, "xml-name-validator": { diff --git a/package.json b/package.json index 232ae2b3df0fc4..ddd73ef72415ed 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "classnames": "^2.2.5" }, "dependencies": { - "moment": "^2.19.1", + "moment": "^2.19.2", "moment-range": "^3.0.3" }, "scripts": { @@ -51,7 +51,7 @@ "devDependencies": { "babel-cli": "^6.24.1", "babel-core": "^6.24.1", - "babel-eslint": "^8.0.1", + "babel-eslint": "^8.0.2", "babel-jest": "^21.2.0", "babel-loader": "^7.0.0", "babel-plugin-external-helpers": "^6.22.0", @@ -63,26 +63,26 @@ "babel-preset-latest": "^6.24.1", "classnames": "^2.2.5", "cross-env": "^5.1.0", - "enzyme": "^3.1.0", - "enzyme-adapter-react-16": "^1.0.2", - "eslint": "^4.8.0", + "enzyme": "^3.1.1", + "enzyme-adapter-react-16": "^1.0.4", + "eslint": "^4.11.0", "eslint-config-airbnb": "^16.0.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.4.0", "jest": "^21.2.1", - "material-ui": "^1.0.0-beta.18", + "material-ui": "^1.0.0-beta.20", "peer-deps-externals-webpack-plugin": "^1.0.2", "prop-types": "^15.6.0", - "react": "^16.0.0", - "react-dom": "^16.0.0", - "rollup": "^0.50.0", + "react": "^16.1.0", + "react-dom": "^16.1.0", + "rollup": "^0.50.1", "rollup-plugin-babel": "^3.0.2", "rollup-plugin-commonjs": "^8.2.4", "rollup-plugin-filesize": "^1.4.2", "rollup-plugin-node-resolve": "^3.0.0", "webpack": "^3.5.1", - "webpack-bundle-analyzer": "^2.9.0" + "webpack-bundle-analyzer": "^2.9.1" }, "jest": { "setupTestFrameworkScriptFile": "/__tests__/setup.js", diff --git a/src/wrappers/ModalWrapper.jsx b/src/wrappers/ModalWrapper.jsx index 50149d4b705a2d..67459d4a3ef020 100644 --- a/src/wrappers/ModalWrapper.jsx +++ b/src/wrappers/ModalWrapper.jsx @@ -60,7 +60,7 @@ export default class ModalWrapper extends PureComponent { value={value} format={format} onClick={this.togglePicker} - onFocus={this.togglePicker} + // onFocus={this.togglePicker} <- Currently not properly works with .blur() on TextField invalidLabel={invalidLabel} labelFunc={labelFunc} {...other} From 0cd37ea89b649b9fccd4c2a666debffe8c424b96 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 13 Nov 2017 12:09:07 +0200 Subject: [PATCH 0097/1801] Add source code panel to documentation --- docs/package-lock.json | 376 ++++++++++++++++--- docs/package.json | 11 +- docs/src/App.js | 37 +- docs/src/Demo/Demo.jsx | 23 +- docs/src/Demo/components/MarkdownElement.jsx | 224 +++++++++++ docs/src/Demo/components/SourcablePanel.jsx | 47 ++- docs/src/utils/prism-light.js | 140 +++++++ docs/src/utils/prism.js | 28 ++ package-lock.json | 6 + 9 files changed, 810 insertions(+), 82 deletions(-) create mode 100644 docs/src/Demo/components/MarkdownElement.jsx create mode 100644 docs/src/utils/prism-light.js create mode 100644 docs/src/utils/prism.js diff --git a/docs/package-lock.json b/docs/package-lock.json index d3042dd37ffb91..6c46d4bc3c07bc 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -57,7 +57,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, "requires": { "acorn": "3.3.0" }, @@ -65,8 +64,7 @@ "acorn": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=" } } }, @@ -147,8 +145,7 @@ "ansi-escapes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.0.0.tgz", - "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==", - "dev": true + "integrity": "sha512-O/klc27mWNUigtv0F8NJWbLF00OcegQalkqKURWdosW08YZKi4m6CnSUSvIZG1otNJbTWhN01Hhz389DW7mvDQ==" }, "ansi-html": { "version": "0.0.7", @@ -197,7 +194,6 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-0.7.0.tgz", "integrity": "sha512-/r2lHl09V3o74+2MLKEdewoj37YZqiQZnfen1O4iNlrOjUgeKuu1U2yF3iKh6HJxqF+OXkLMfQv65Z/cvxD6vA==", - "dev": true, "requires": { "ast-types-flow": "0.0.7" } @@ -313,8 +309,7 @@ "ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=" }, "async": { "version": "2.5.0", @@ -361,7 +356,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", "integrity": "sha1-YvWdvFnJ+SQnWco0mWDnov48NsA=", - "dev": true, "requires": { "ast-types-flow": "0.0.7" } @@ -1480,7 +1474,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, "requires": { "callsites": "0.2.0" } @@ -1488,8 +1481,7 @@ "callsites": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=" }, "camel-case": { "version": "3.0.0", @@ -1634,8 +1626,7 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==" }, "clap": { "version": "1.2.3", @@ -1678,6 +1669,17 @@ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, + "clipboard": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-1.7.1.tgz", + "integrity": "sha1-Ng1taUbpmnof7zleQrqStem1oWs=", + "optional": true, + "requires": { + "good-listener": "1.2.2", + "select": "1.1.2", + "tiny-emitter": "2.0.2" + } + }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", @@ -1782,6 +1784,27 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, + "commonmark": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.24.0.tgz", + "integrity": "sha1-uA3gGCxUY1VkOqFdsSv7KCNoJ48=", + "requires": { + "entities": "1.1.1", + "mdurl": "1.0.1", + "string.prototype.repeat": "0.2.0" + } + }, + "commonmark-react-renderer": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/commonmark-react-renderer/-/commonmark-react-renderer-4.3.4.tgz", + "integrity": "sha512-+/Rzo3sI37NR8LaVdkUiqBH3+CEW75hc86shwY4E9eEERg78VCy4rSkaP/p7OG5bTvosUMkvhn5d1ZJ5iyt/ag==", + "requires": { + "lodash.assign": "4.2.0", + "lodash.isplainobject": "4.0.6", + "pascalcase": "0.1.1", + "xss-filters": "1.2.7" + } + }, "compressible": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", @@ -1813,7 +1836,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3", @@ -1968,6 +1990,16 @@ "sha.js": "2.4.9" } }, + "create-react-class": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", + "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + }, "cross-env": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.0.tgz", @@ -2263,8 +2295,7 @@ "damerau-levenshtein": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", - "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=", - "dev": true + "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=" }, "dashdash": { "version": "1.14.1", @@ -2373,6 +2404,12 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegate": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.1.3.tgz", + "integrity": "sha1-moJRp3fXAl+qVXN7w7BxdCEnqf0=", + "optional": true + }, "depd": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", @@ -2455,7 +2492,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=", - "dev": true, "requires": { "esutils": "2.0.2", "isarray": "1.0.0" @@ -2589,8 +2625,7 @@ "emoji-regex": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", - "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", - "dev": true + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==" }, "emojis-list": { "version": "2.1.0", @@ -3084,7 +3119,6 @@ "version": "3.7.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "dev": true, "requires": { "esrecurse": "4.2.0", "estraverse": "4.2.0" @@ -3094,7 +3128,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", "integrity": "sha512-sadKeYwaR/aJ3stC2CdvgXu1T16TdYN+qwCpcWbMnGJ8s0zNWemzrvb2GbD4OhmJ/fwpJjudThAlLobGbWZbCQ==", - "dev": true, "requires": { "acorn": "5.2.1", "acorn-jsx": "3.0.1" @@ -3103,8 +3136,7 @@ "acorn": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", - "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==", - "dev": true + "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==" } } }, @@ -3117,7 +3149,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", - "dev": true, "requires": { "estraverse": "4.2.0" } @@ -3393,7 +3424,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, "requires": { "flat-cache": "1.3.0", "object-assign": "4.1.1" @@ -3479,7 +3509,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, "requires": { "circular-json": "0.3.3", "del": "2.2.2", @@ -3535,6 +3564,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", + "dev": true + }, "fs-extra": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", @@ -4343,8 +4378,7 @@ "functional-red-black-tree": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "get-caller-file": { "version": "1.0.2", @@ -4439,6 +4473,15 @@ "pinkie-promise": "2.0.1" } }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "optional": true, + "requires": { + "delegate": "3.1.3" + } + }, "got": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", @@ -4609,6 +4652,11 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, + "highlight.js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -4862,8 +4910,7 @@ "ignore": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", - "dev": true + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==" }, "imurmurhash": { "version": "0.1.4", @@ -4911,7 +4958,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, "requires": { "ansi-escapes": "3.0.0", "chalk": "2.3.0", @@ -4932,14 +4978,12 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "chalk": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -4950,7 +4994,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, "requires": { "ansi-regex": "3.0.0" } @@ -5173,7 +5216,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true, "requires": { "tryit": "1.0.3" } @@ -5771,8 +5813,7 @@ "jsx-ast-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", - "dev": true + "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=" }, "kind-of": { "version": "3.2.2", @@ -5922,6 +5963,11 @@ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, "lodash.camelcase": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", @@ -5937,6 +5983,11 @@ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6001,6 +6052,14 @@ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" }, + "lowlight": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.9.1.tgz", + "integrity": "sha512-CpDhyVhI+xHjruiGvH2F/Fr5q5aTn5A6Oyh7MI+4oI8G0A1E7p9a3Zqv9Hzx9WByK8gAiNifEueAXz+cA2xdEA==", + "requires": { + "highlight.js": "9.12.0" + } + }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", @@ -6043,6 +6102,11 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, + "marked": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", + "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=" + }, "math-expression-evaluator": { "version": "1.2.17", "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", @@ -6068,6 +6132,11 @@ } } }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -6650,6 +6719,11 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", @@ -7954,6 +8028,14 @@ "ansi-styles": "3.2.0" } }, + "prismjs": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.8.4.tgz", + "integrity": "sha1-VzzHoUwsBlZuHsog2BP1rlXbgNI=", + "requires": { + "clipboard": "1.7.1" + } + }, "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", @@ -7972,8 +8054,7 @@ "progress": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", - "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", - "dev": true + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=" }, "promise": { "version": "8.0.1", @@ -8284,6 +8365,82 @@ } } }, + "react-highlight": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/react-highlight/-/react-highlight-0.10.0.tgz", + "integrity": "sha1-04b53Oq4Z9wNzCNkFT+xzHZF0EY=", + "requires": { + "highlight.js": "9.12.0", + "react": "15.6.2", + "react-dom": "15.6.2" + }, + "dependencies": { + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "15.6.2", + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + }, + "react-dom": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", + "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", + "requires": { + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + } + } + }, + "react-jsx-parser": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/react-jsx-parser/-/react-jsx-parser-1.1.5.tgz", + "integrity": "sha1-4o4tt7AmSoFa1X0wtMQMBMNewnM=", + "requires": { + "acorn-jsx": "4.1.0", + "react": "15.6.2" + }, + "dependencies": { + "acorn-jsx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-4.1.0.tgz", + "integrity": "sha512-uPzAC9QsMO2BU6c3/S0n+GSPweDu14A6g7GsbF4F7qOFPhrxFGNvd0ergQmoB6aoHPoS+rPk3m5rvSOaaguntA==", + "requires": { + "acorn": "5.1.2" + } + }, + "react": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", + "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", + "requires": { + "create-react-class": "15.6.2", + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.0" + } + } + } + }, + "react-markdown": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.5.1.tgz", + "integrity": "sha512-N5xMde42RrclLIdF16bckTApFM56vkn4q3GoZlLkuE8IK23GOIqJsuE62RTrkgq//pAt4dovVgZcgawh7YtN4w==", + "requires": { + "commonmark": "0.24.0", + "commonmark-react-renderer": "4.3.4", + "prop-types": "15.6.0" + } + }, "react-scripts": { "version": "1.0.14", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-1.0.14.tgz", @@ -8300,10 +8457,13 @@ "chalk": "1.1.3", "css-loader": "0.28.4", "dotenv": "4.0.0", + "eslint": "4.4.1", "eslint-config-react-app": "2.0.1", "eslint-loader": "1.9.0", "eslint-plugin-flowtype": "2.35.0", "eslint-plugin-import": "2.7.0", + "eslint-plugin-jsx-a11y": "5.1.1", + "eslint-plugin-react": "7.1.0", "extract-text-webpack-plugin": "3.0.0", "file-loader": "0.11.2", "fs-extra": "3.0.1", @@ -8322,6 +8482,104 @@ "webpack-dev-server": "2.8.2", "webpack-manifest-plugin": "1.2.1", "whatwg-fetch": "2.0.3" + }, + "dependencies": { + "eslint": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.4.1.tgz", + "integrity": "sha1-mc1+r8/8ov+Zpcj18qR01jZLS9M=", + "requires": { + "ajv": "5.3.0", + "babel-code-frame": "6.26.0", + "chalk": "1.1.3", + "concat-stream": "1.6.0", + "cross-spawn": "5.1.0", + "debug": "2.6.9", + "doctrine": "2.0.0", + "eslint-scope": "3.7.1", + "espree": "3.5.2", + "esquery": "1.0.0", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "9.18.0", + "ignore": "3.3.7", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.0.0", + "js-yaml": "3.10.0", + "json-stable-stringify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "4.0.0", + "progress": "2.0.0", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-json-comments": "2.0.1", + "table": "4.0.2", + "text-table": "0.2.0" + } + }, + "eslint-plugin-jsx-a11y": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz", + "integrity": "sha512-5I9SpoP7gT4wBFOtXT8/tXNPYohHBVfyVfO17vkbC7r9kEIxYJF12D3pKqhk8+xnk12rfxKClS3WCFpVckFTPQ==", + "requires": { + "aria-query": "0.7.0", + "array-includes": "3.0.3", + "ast-types-flow": "0.0.7", + "axobject-query": "0.1.0", + "damerau-levenshtein": "1.0.4", + "emoji-regex": "6.5.1", + "jsx-ast-utils": "1.4.1" + } + }, + "eslint-plugin-react": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.1.0.tgz", + "integrity": "sha1-J3cKzzn1/UnNCvQIPOWBBOs5DUw=", + "requires": { + "doctrine": "2.0.0", + "has": "1.0.1", + "jsx-ast-utils": "1.4.1" + } + }, + "esprima": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", + "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" + }, + "js-yaml": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", + "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "requires": { + "argparse": "1.0.9", + "esprima": "4.0.0" + } + }, + "pluralize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-4.0.0.tgz", + "integrity": "sha1-WbcIwcAZCi9pLxx2GMRGsFL9F2I=" + } + } + }, + "react-syntax-highlighter": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-5.8.0.tgz", + "integrity": "sha512-+FolT9NhFBqE4SsZDelSzsYJJS/JCnQqo4+GxLrFPoML548uvr8f4Eh5nnd5o6ERKFW7ryiygOX9SPnxdnlpkg==", + "requires": { + "babel-runtime": "6.26.0", + "highlight.js": "9.12.0", + "lowlight": "1.9.1" } }, "read-all-stream": { @@ -8625,7 +8883,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, "requires": { "caller-path": "0.1.0", "resolve-from": "1.0.1" @@ -8656,8 +8913,7 @@ "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" }, "restore-cursor": { "version": "2.0.0", @@ -8769,6 +9025,12 @@ "ajv": "5.3.0" } }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=", + "optional": true + }, "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", @@ -8929,7 +9191,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0" } @@ -9145,6 +9406,11 @@ } } }, + "string.prototype.repeat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", + "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" + }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", @@ -9268,7 +9534,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, "requires": { "ajv": "5.3.0", "ajv-keywords": "2.1.0", @@ -9282,7 +9547,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", - "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -9346,6 +9610,12 @@ "setimmediate": "1.0.5" } }, + "tiny-emitter": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz", + "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==", + "optional": true + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -9400,8 +9670,7 @@ "tryit": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true + "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=" }, "tty-browserify": { "version": "0.0.0", @@ -9442,8 +9711,7 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "ua-parser-js": { "version": "0.7.17", @@ -10223,7 +10491,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, "requires": { "mkdirp": "0.5.1" } @@ -10256,6 +10523,11 @@ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" }, + "xss-filters": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/xss-filters/-/xss-filters-1.2.7.tgz", + "integrity": "sha1-Wfod4gHzby80cNysX1jMwoMLCpo=" + }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", diff --git a/docs/package.json b/docs/package.json index 3d58b89a502dd6..654c3cf1d5b067 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,7 +3,13 @@ "version": "0.1.0", "private": true, "dependencies": { - "react-scripts": "1.0.14" + "marked": "^0.3.6", + "prismjs": "^1.8.4", + "react-highlight": "^0.10.0", + "react-jsx-parser": "^1.1.5", + "react-markdown": "^2.5.1", + "react-scripts": "1.0.14", + "react-syntax-highlighter": "^5.8.0" }, "scripts": { "start": "cross-env PORT=3002 react-scripts start", @@ -17,6 +23,7 @@ "eslint-config-airbnb": "^16.0.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", - "eslint-plugin-react": "^7.4.0" + "eslint-plugin-react": "^7.4.0", + "fs": "0.0.1-security" } } diff --git a/docs/src/App.js b/docs/src/App.js index 68c6fc0fcc9be9..212594299803ca 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,33 +1,38 @@ -import React, { Component } from 'react' -import { MuiThemeProvider, createMuiTheme } from 'material-ui' -import Demo from './Demo/Demo' +import React, { Component } from 'react'; +import { MuiThemeProvider, createMuiTheme } from 'material-ui'; +import Demo from './Demo/Demo'; +import { setPrismTheme } from './utils/prism'; + export default class App extends Component { state = { - type: 'light' + type: 'light', } - toggleThemeType = () => { - const type = this.state.type === 'light' ? 'dark' : 'light' - - this.setState({ type }) + componentWillMount = () => { + setPrismTheme(this.state.type); } - getMuiTheme = () => { - return createMuiTheme({ - palette: { - type: this.state.type, // Switching the dark mode on is a single property value change. - }, - }) + getMuiTheme = () => createMuiTheme({ + palette: { + type: this.state.type, // Switching the dark mode on is a single property value change. + }, + }) + + toggleThemeType = () => { + const type = this.state.type === 'light' ? 'dark' : 'light'; + + setPrismTheme(type); + this.setState({ type }); } render() { - return ( + return (
{}
- ) + ); } } diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index b8afd957ad04cd..6c44b8e8d1834b 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -37,7 +37,7 @@ class Demo extends Component { - lightbulb_outline + lightbulb_outline @@ -69,15 +69,24 @@ class Demo extends Component { Here you are! - + - + - +
@@ -113,12 +122,12 @@ const styles = theme => ({ marginTop: '10px', }, main: { - backgroundColor: theme.palette.background.paper, + backgroundColor: theme.palette.background.default, marginBottom: -50, }, content: { - paddingTop: '60px', - backgroundColor: theme.palette.background.paper, + paddingTop: '80px', + backgroundColor: theme.palette.background.default, minHeight: 'calc(100vh - 63px)', maxWidth: 900, margin: '0 auto', diff --git a/docs/src/Demo/components/MarkdownElement.jsx b/docs/src/Demo/components/MarkdownElement.jsx new file mode 100644 index 00000000000000..e7d70f77b1f455 --- /dev/null +++ b/docs/src/Demo/components/MarkdownElement.jsx @@ -0,0 +1,224 @@ +// @flow + +import React from 'react'; +import classNames from 'classnames'; +import { withStyles } from 'material-ui/styles'; +import marked from 'marked'; +import prism from '../../utils/prism'; + +const renderer = new marked.Renderer(); + +renderer.heading = (text, level) => { + const escapedText = text + .toLowerCase() + .replace(/=>|<| \/>||<\/code>/g, '') + .replace(/[^\w]+/g, '-'); + + return ( + ` + + ${text}` + + ` + + + ` + ); +}; + +marked.setOptions({ + gfm: true, + tables: true, + breaks: false, + pedantic: false, + sanitize: false, + smartLists: true, + smartypants: false, + // $FlowFixMe + highlight(code, lang) { + let language; + switch (lang) { + case 'diff': + language = prism.languages.diff; + break; + + case 'css': + language = prism.languages.css; + break; + + case 'jsx': + default: + language = prism.languages.jsx; + break; + } + + return prism.highlight(code, language); + }, + renderer, +}); + +const anchorLinkStyle = (theme, size) => ({ + '& .anchor-link-style': { + opacity: 0, + // To prevent the link to get the focus. + display: 'none', + }, + '&:hover .anchor-link-style': { + display: 'inline-block', + opacity: 1, + padding: `0 ${theme.spacing.unit}px`, + color: theme.palette.text.hint, + '&:hover': { + color: theme.palette.text.secondary, + }, + '& svg': { + width: size, + fill: 'currentColor', + }, + }, +}); + +const styles = theme => ({ + root: { + fontFamily: theme.typography.fontFamily, + fontSize: 16, + color: theme.palette.text.primary, + '& .anchor-link': { + marginTop: -theme.spacing.unit * 12, // Offset for the anchor. + position: 'absolute', + }, + '& pre': { + backgroundColor: theme.palette.background.paper, + borderRadius: 3, + overflow: 'auto', + margin: 0, + }, + '& code': { + display: 'inline-block', + lineHeight: 1.6, + fontFamily: 'Consolas, "Liberation Mono", Menlo, Courier, monospace', + padding: '3px 6px', + color: theme.palette.text.primary, + backgroundColor: theme.palette.background.paper, + fontSize: 14, + }, + '& p code, & ul code, & pre code': { + fontSize: 14, + lineHeight: 1.6, + }, + '& h1 code, & h2 code, & h3 code, & h4 code': { + fontSize: 'inherit', + lineHeight: 'inherit', + }, + '& h1': { + ...theme.typography.display2, + color: theme.palette.text.secondary, + margin: '0.7em 0', + ...anchorLinkStyle(theme, 20), + }, + '& h2': { + ...theme.typography.display1, + color: theme.palette.text.secondary, + margin: '1em 0 0.7em', + ...anchorLinkStyle(theme, 18), + }, + '& h3': { + ...theme.typography.headline, + color: theme.palette.text.secondary, + margin: '1em 0 0.7em', + ...anchorLinkStyle(theme, 16), + }, + '& h4': { + ...theme.typography.title, + color: theme.palette.text.secondary, + margin: '1em 0 0.7em', + ...anchorLinkStyle(theme, 14), + }, + '& p, & ul, & ol': { + lineHeight: 1.6, + }, + '& table': { + width: '100%', + display: 'block', + overflowX: 'auto', + borderCollapse: 'collapse', + borderSpacing: 0, + overflow: 'hidden', + }, + '& thead': { + fontSize: 12, + fontWeight: theme.typography.fontWeightMedium, + color: theme.palette.text.secondary, + }, + '& tbody': { + fontSize: 13, + lineHeight: 1.5, + color: theme.palette.text.primary, + }, + '& td': { + borderBottom: `1px solid ${theme.palette.text.lightDivider}`, + padding: `${theme.spacing.unit}px ${theme.spacing.unit * 5}px ${theme.spacing.unit}px ${theme + .spacing.unit * 3}px`, + textAlign: 'left', + }, + '& td:last-child': { + paddingRight: theme.spacing.unit * 3, + }, + '& td compact': { + paddingRight: theme.spacing.unit * 3, + }, + '& td code': { + fontSize: 13, + lineHeight: 1.6, + }, + '& th': { + whiteSpace: 'pre', + borderBottom: `1px solid ${theme.palette.text.lightDivider}`, + padding: `0 ${theme.spacing.unit * 5}px 0 ${theme.spacing.unit * 3}px`, + textAlign: 'left', + }, + '& th:last-child': { + paddingRight: theme.spacing.unit * 3, + }, + '& tr': { + height: 48, + }, + '& thead tr': { + height: 64, + }, + '& strong': { + fontWeight: theme.typography.fontWeightMedium, + }, + '& blockquote': { + borderLeft: `5px solid ${theme.palette.text.hint}`, + background: theme.palette.background.paper, + padding: `${theme.spacing.unit / 2}px ${theme.spacing.unit * 3}px`, + margin: `${theme.spacing.unit * 3}px 0`, + }, + '& a, & a code': { + // Style taken from the Link component + color: theme.palette.secondary.A400, + textDecoration: 'none', + '&:hover': { + textDecoration: 'underline', + }, + }, + }, +}); + +const MarkdownElement = (props) => { + const { + classes, className, text, ...other + } = props; + + /* eslint-disable react/no-danger */ + return ( +
+ ); + /* eslint-enable */ +}; + +export default withStyles(styles, { flip: false })(MarkdownElement); diff --git a/docs/src/Demo/components/SourcablePanel.jsx b/docs/src/Demo/components/SourcablePanel.jsx index 2717288693471e..f7a74ddab31986 100644 --- a/docs/src/Demo/components/SourcablePanel.jsx +++ b/docs/src/Demo/components/SourcablePanel.jsx @@ -1,20 +1,37 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -import { Typography, withStyles } from 'material-ui'; -class SourcablePanel extends Component { +import Collapse from 'material-ui/transitions/Collapse'; +import { Typography, IconButton, withStyles } from 'material-ui'; +import MarkdownElement from '../components/MarkdownElement'; + +class SourcablePanel extends PureComponent { static propTypes = { children: PropTypes.arrayOf(PropTypes.node).isRequired, classes: PropTypes.object.isRequired, title: PropTypes.string.isRequired, + sourceFile: PropTypes.string.isRequired, + } + + state = { + sourceExpanded: false, } getSource = () => { + const webpackRawLoader = require.context('!raw-loader!../Examples', false, /\.jsx$/); + const file = webpackRawLoader(`./${this.props.sourceFile}`); + + return `\`\`\`js\n${file}\n\`\`\``; + } + toggleSource = () => { + this.setState({ sourceExpanded: !this.state.sourceExpanded }); } render() { + const { sourceExpanded } = this.state; const { classes, title } = this.props; + return [ , + + + , +
+ + code + { this.props.children }
, ]; @@ -34,6 +61,7 @@ class SourcablePanel extends Component { const styles = theme => ({ exampleTitle: { marginTop: '40px', + marginBottom: '20px', '@media(max-width: 600px)': { marginLeft: 5, }, @@ -45,8 +73,17 @@ const styles = theme => ({ minHeight: 160, paddingTop: 40, width: '100%', - margin: '30px auto 50px', - backgroundColor: theme.palette.background.default, + margin: '0 auto 50px', + position: 'relative', + backgroundColor: theme.palette.background.contentFrame, + }, + sourceBtn: { + position: 'absolute', + top: 10, + right: 5, + }, + source: { + marginBottom: 0, }, }); diff --git a/docs/src/utils/prism-light.js b/docs/src/utils/prism-light.js new file mode 100644 index 00000000000000..4c1ed2abb09e27 --- /dev/null +++ b/docs/src/utils/prism-light.js @@ -0,0 +1,140 @@ +export default ` +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, pre[class*="language-"] ::selection, +code[class*="language-"]::selection, code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} +`; + diff --git a/docs/src/utils/prism.js b/docs/src/utils/prism.js new file mode 100644 index 00000000000000..c3851bc9911889 --- /dev/null +++ b/docs/src/utils/prism.js @@ -0,0 +1,28 @@ +import prism from 'prismjs'; +import 'prismjs/components/prism-markup'; +import 'prismjs/components/prism-javascript'; +import 'prismjs/components/prism-css'; +import 'prismjs/components/prism-diff'; +import 'prismjs/components/prism-jsx'; + +/* eslint-disable import/no-webpack-loader-syntax */ +import lightTheme from '!raw-loader!prismjs/themes/prism.css'; +import darkTheme from '!raw-loader!prismjs/themes/prism-okaidia.css'; +/* eslint-enable import/no-webpack-loader-syntax */ + +export { lightTheme, darkTheme }; + +const styleNode = document.createElement('style'); +styleNode.setAttribute('data-prism', 'true'); +if (document.head) { + document.head.appendChild(styleNode); +} + +export function setPrismTheme(theme) { + console.log(theme); + styleNode.textContent = theme === 'light' + ? lightTheme + : darkTheme; +} + +export default prism; diff --git a/package-lock.json b/package-lock.json index b7986078cf1311..1c706d9627013e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7420,6 +7420,12 @@ "unpipe": "1.0.0" } }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, "react": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/react/-/react-16.1.0.tgz", From b61a26c28687be10b6c75840bbf11f6d962aeabc Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 13 Nov 2017 12:11:55 +0200 Subject: [PATCH 0098/1801] Add open on focus with bluring after --- src/_shared/DateTextField.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index 2fc09cc4104882..283e202992ba64 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -78,8 +78,9 @@ export default class DateTextField extends Component { readOnly value={this.getDisplayDate()} onChange={this.handleChange} - disabled={disabled} onClick={this.handleClick} + onFocus={this.handleClick} + disabled={disabled} {...other} /> ); From f6e2c5357d6355149bf3a16ca43fb5041c6543de Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 13 Nov 2017 12:13:21 +0200 Subject: [PATCH 0099/1801] Update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ddd73ef72415ed..0bdcdd8a4cb2fb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.13", + "version": "1.0.0-beta.1", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", From 69584cb053a7873efc6834e73b98119d19c47a6c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 13 Nov 2017 12:37:20 +0200 Subject: [PATCH 0100/1801] Add new props to readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index e62cc2de7aba53..8abcab38c97071 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,8 @@ maxDate | date | '2100-01-01' | Maximum selectable date onChange | func | required | Callback firing when date accepted returnMoment | boolean | true | Will return moment object in onChange invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed (or null) +labelFunc | func | null | Allow to specify dynamic label for text field `labelFunc(date, invalidLabel)` +renderDay | fund | null | Allow to specify custom renderer for day `renderDay(date, selectedDate, dayInCurrentMonth)` leftArrowIcon | react node, string | 'keyboard_arrow_left'| Left arrow icon rightArrowIcon | react node, string | 'keyboard_arrow_right'| Right arrow icon @@ -105,6 +107,7 @@ autoOk | boolean | false | Auto accept time on selection onChange | func | required | Callback firing when date accepted returnMoment | boolean | true | Will return moment object in onChange invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed (or null) +labelFunc | func | null | Allow to specify dynamic label for text field `labelFunc(date, invalidLabel)` #### DateTimepicker Prop | Type | Default | Definition @@ -121,6 +124,8 @@ maxDate | date | '2100-01-01' | Maximum selectable date onChange | func | required | Callback firing when date accepted returnMoment | boolean | true | Will return moment object in onChangeg invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed (or null) +labelFunc | func | null | Allow to specify dynamic label for text field `labelFunc(date, invalidLabel)` +renderDay | fund | null | Allow to specify custom renderer for day `renderDay(date, selectedDate, dayInCurrentMonth)` leftArrowIcon | react node, string | 'keyboard_arrow_left'| Left arrow icon rightArrowIcon | react node, string | 'keyboard_arrow_right'| Right arrow icon dateRangeIcon | react node, string | 'date_range'| Date tab icon From cf6149496310a4956c757da6a4566f96ffedebbc Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 13 Nov 2017 13:59:22 +0200 Subject: [PATCH 0101/1801] Return to rollup v0.50.0 --- docs/package-lock.json | 6 ++++ docs/package.json | 3 +- package-lock.json | 66 +++++++++++------------------------------- package.json | 19 ++++++------ 4 files changed, 35 insertions(+), 59 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 6c46d4bc3c07bc..87d4991a7b3539 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -8205,6 +8205,12 @@ "unpipe": "1.0.0" } }, + "raw-loader": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", + "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", + "dev": true + }, "rc": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", diff --git a/docs/package.json b/docs/package.json index 654c3cf1d5b067..20c9efffcdcd2e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -24,6 +24,7 @@ "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.4.0", - "fs": "0.0.1-security" + "fs": "0.0.1-security", + "raw-loader": "^0.5.1" } } diff --git a/package-lock.json b/package-lock.json index 1c706d9627013e..b3475e658281ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-alpha.13", + "version": "1.0.0-beta.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -276,14 +276,12 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "anymatch": { "version": "1.3.2", @@ -511,7 +509,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dev": true, "requires": { "chalk": "1.1.3", "esutils": "2.0.2", @@ -750,7 +747,6 @@ "version": "6.24.1", "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-template": "6.26.0" @@ -781,7 +777,6 @@ "version": "6.23.0", "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dev": true, "requires": { "babel-runtime": "6.26.0" } @@ -1400,7 +1395,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dev": true, "requires": { "core-js": "2.5.1", "regenerator-runtime": "0.11.0" @@ -1410,7 +1404,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "babel-traverse": "6.26.0", @@ -1423,7 +1416,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dev": true, "requires": { "babel-code-frame": "6.26.0", "babel-messages": "6.23.0", @@ -1440,7 +1432,6 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dev": true, "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", @@ -1451,8 +1442,7 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "dev": true + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, "balanced-match": { "version": "1.0.0", @@ -1806,7 +1796,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, "requires": { "ansi-styles": "2.2.1", "escape-string-regexp": "1.0.5", @@ -2051,8 +2040,7 @@ "core-js": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true + "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" }, "core-util-is": { "version": "1.0.2", @@ -2230,7 +2218,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -2701,8 +2688,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.9.0", @@ -3059,8 +3045,7 @@ "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.8.1", @@ -4441,8 +4426,7 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "dev": true + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, "globby": { "version": "5.0.0", @@ -4545,7 +4529,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -4810,7 +4793,6 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "dev": true, "requires": { "loose-envify": "1.3.1" } @@ -6010,8 +5992,7 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { "version": "3.10.0", @@ -6341,8 +6322,7 @@ "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", - "dev": true + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" }, "lodash.cond": { "version": "4.5.2", @@ -6366,7 +6346,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "dev": true, "requires": { "js-tokens": "3.0.2" } @@ -6621,8 +6600,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "mute-stream": { "version": "0.0.7", @@ -7420,12 +7398,6 @@ "unpipe": "1.0.0" } }, - "raw-loader": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", - "dev": true - }, "react": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/react/-/react-16.1.0.tgz", @@ -7604,8 +7576,7 @@ "regenerator-runtime": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", - "dev": true + "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" }, "regenerator-transform": { "version": "0.10.1", @@ -7800,9 +7771,9 @@ } }, "rollup": { - "version": "0.50.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.1.tgz", - "integrity": "sha512-XwrnqjSTk+yR8GbP6hiJuVe83MVmBw/gm4P3qP34A10fRXvv6ppl0ZUg1+Pj1tIZSR/aw5ZaILLEiVxwXIAdAw==", + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz", + "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==", "dev": true }, "rollup-plugin-babel": { @@ -8271,7 +8242,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -8297,8 +8267,7 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "symbol-observable": { "version": "1.0.4", @@ -8529,8 +8498,7 @@ "to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "dev": true + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, "tough-cookie": { "version": "2.3.3", diff --git a/package.json b/package.json index 0bdcdd8a4cb2fb..50c3940bcab1b4 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ "classnames": "^2.2.5" }, "dependencies": { + "babel-helpers": "^6.24.1", "moment": "^2.19.2", "moment-range": "^3.0.3" }, @@ -51,7 +52,7 @@ "devDependencies": { "babel-cli": "^6.24.1", "babel-core": "^6.24.1", - "babel-eslint": "^8.0.2", + "babel-eslint": "^8.0.1", "babel-jest": "^21.2.0", "babel-loader": "^7.0.0", "babel-plugin-external-helpers": "^6.22.0", @@ -63,26 +64,26 @@ "babel-preset-latest": "^6.24.1", "classnames": "^2.2.5", "cross-env": "^5.1.0", - "enzyme": "^3.1.1", - "enzyme-adapter-react-16": "^1.0.4", - "eslint": "^4.11.0", + "enzyme": "^3.1.0", + "enzyme-adapter-react-16": "^1.0.2", + "eslint": "^4.8.0", "eslint-config-airbnb": "^16.0.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.4.0", "jest": "^21.2.1", - "material-ui": "^1.0.0-beta.20", + "material-ui": "^1.0.0-beta.18", "peer-deps-externals-webpack-plugin": "^1.0.2", "prop-types": "^15.6.0", - "react": "^16.1.0", - "react-dom": "^16.1.0", - "rollup": "^0.50.1", + "react": "^16.0.0", + "react-dom": "^16.0.0", + "rollup": "0.50.0", "rollup-plugin-babel": "^3.0.2", "rollup-plugin-commonjs": "^8.2.4", "rollup-plugin-filesize": "^1.4.2", "rollup-plugin-node-resolve": "^3.0.0", "webpack": "^3.5.1", - "webpack-bundle-analyzer": "^2.9.1" + "webpack-bundle-analyzer": "^2.9.0" }, "jest": { "setupTestFrameworkScriptFile": "/__tests__/setup.js", From 24164874eabf13b89d631e007390b0768f89968f Mon Sep 17 00:00:00 2001 From: lukas strassel Date: Wed, 15 Nov 2017 16:39:56 +0100 Subject: [PATCH 0102/1801] add .idea to gitignore - prevent accidental comitting of webstorm files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index c64ab901806bbb..de12f51d6e8db6 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ yarn-error.log* # dotenv environment variables file .env + +# webstorm +.idea/ \ No newline at end of file From f294eb5f5fbe094d3c567874d11c5b1a51314949 Mon Sep 17 00:00:00 2001 From: lukas strassel Date: Wed, 15 Nov 2017 16:40:18 +0100 Subject: [PATCH 0103/1801] localize days and weekstart --- src/DatePicker/CalendarHeader.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index a8189c56bb00d2..3d17afcd300161 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -14,6 +14,7 @@ export const CalendarHeader = (props) => { const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months')); const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months')); + const weekdays = [0, 1, 2, 3, 4, 5, 6].map(dow => moment().weekday(dow).format('dd')); return (
@@ -32,7 +33,7 @@ export const CalendarHeader = (props) => {
- { moment.weekdaysMin().map(day => ( + { weekdays.map(day => (
{ day }
))}
From 2e5ee1d6a545f7b5bc8e407df081d8190daabedc Mon Sep 17 00:00:00 2001 From: Lukas Strassel Date: Fri, 17 Nov 2017 14:38:01 +0100 Subject: [PATCH 0104/1801] rename variable to be more human readable --- src/DatePicker/CalendarHeader.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DatePicker/CalendarHeader.jsx b/src/DatePicker/CalendarHeader.jsx index 3d17afcd300161..0eacbefc135318 100644 --- a/src/DatePicker/CalendarHeader.jsx +++ b/src/DatePicker/CalendarHeader.jsx @@ -14,7 +14,7 @@ export const CalendarHeader = (props) => { const selectNextMonth = () => onMonthChange(currentMonth.clone().add(1, 'months')); const selectPreviousMonth = () => onMonthChange(currentMonth.clone().subtract(1, 'months')); - const weekdays = [0, 1, 2, 3, 4, 5, 6].map(dow => moment().weekday(dow).format('dd')); + const weekdays = [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')); return (
From 3926c1bd4375658dfccd2c6f5222105444b83741 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 11:26:21 +0200 Subject: [PATCH 0105/1801] Update version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 50c3940bcab1b4..75ba0bce13e5ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "description": "React components, that implements material design pickers for material-ui v1", "main": "dist/material-ui-pickers.cjs.js", "module": "dist/material-ui-pickers.es.js", From 8832fcc8bef4f820ae814a064372394918a64e9c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 12:12:07 +0200 Subject: [PATCH 0106/1801] Fix pointer move on mouse move without buttons in Firefox --- src/TimePicker/Clock.jsx | 6 +++++- src/_shared/DateTextField.jsx | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/TimePicker/Clock.jsx b/src/TimePicker/Clock.jsx index 2364791dfb991a..11c88c41b42145 100644 --- a/src/TimePicker/Clock.jsx +++ b/src/TimePicker/Clock.jsx @@ -49,7 +49,11 @@ export class Clock extends Component { e.preventDefault(); e.stopPropagation(); // MouseEvent.which is deprecated, but MouseEvent.buttons is not supported in Safari - if (e.buttons === 1 || e.nativeEvent.which === 1) { + const isButtonPressed = typeof e.buttons === 'undefined' + ? e.nativeEvent.which === 1 + : e.buttons === 1; + + if (isButtonPressed) { this.setTime(e.nativeEvent, false); } }; diff --git a/src/_shared/DateTextField.jsx b/src/_shared/DateTextField.jsx index 283e202992ba64..60113f6e96a1ee 100644 --- a/src/_shared/DateTextField.jsx +++ b/src/_shared/DateTextField.jsx @@ -59,7 +59,7 @@ export default class DateTextField extends Component { } } - handleClick = (e) => { + handleFocus = (e) => { e.target.blur(); const { disabled, onClick } = this.props; @@ -78,8 +78,8 @@ export default class DateTextField extends Component { readOnly value={this.getDisplayDate()} onChange={this.handleChange} - onClick={this.handleClick} - onFocus={this.handleClick} + onFocus={this.handleFocus} + onBlur={e => e.preventDefault() && e.stopPropagation()} disabled={disabled} {...other} /> From 30a78359a07c82ecacb4699ab4d8cd87c0811f2f Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 12:43:15 +0200 Subject: [PATCH 0107/1801] Move moment to peer deps --- README.md | 7 ++++++- docs/package-lock.json | 5 +++++ docs/package.json | 1 + docs/src/Demo/Examples/BasicUsage.jsx | 4 ++-- docs/src/Demo/Examples/CustomElements.jsx | 3 +-- docs/src/Demo/Examples/DateTimePickers.jsx | 3 +-- package-lock.json | 7 +------ package.json | 4 ++-- rollup.config.js | 1 + 9 files changed, 20 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 8abcab38c97071..20fc0690b1e12a 100644 --- a/README.md +++ b/README.md @@ -13,11 +13,16 @@ Available as npm package ```sh npm install material-ui-pickers -S ``` +We have moment in the peer dependencies, so if you are not using moment +```sh +npm install moment -S +``` -We are using material-ui-icons font to display icons.Just add this to your html +We are using material-ui-icons font to display icons. Just add this to your html ```html ``` + If you dont want to use icon font, or you are already use `material-ui-icons` you can pass any icon to the components with the following props * leftArrowIcon - arrow left for datepicker * rightArrowIcon - arrow right for datepicker diff --git a/docs/package-lock.json b/docs/package-lock.json index 87d4991a7b3539..ccf5186c40698a 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -6281,6 +6281,11 @@ "minimist": "0.0.8" } }, + "moment": { + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz", + "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/docs/package.json b/docs/package.json index 20c9efffcdcd2e..aee1427bd7e4b4 100644 --- a/docs/package.json +++ b/docs/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "marked": "^0.3.6", + "moment": "^2.19.2", "prismjs": "^1.8.4", "react-highlight": "^0.10.0", "react-jsx-parser": "^1.1.5", diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx index 8514473f8bd293..a4cb1fb9cabab1 100644 --- a/docs/src/Demo/Examples/BasicUsage.jsx +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -1,11 +1,11 @@ import React, { Component } from 'react'; -import moment from 'moment'; +// import moment from 'moment'; import { Typography } from 'material-ui'; import { TimePicker, DatePicker } from 'material-ui-pickers'; export default class BasicUsage extends Component { state = { - selectedDate: moment(), + // selectedDate: moment(), } handleDateChange = (date) => { diff --git a/docs/src/Demo/Examples/CustomElements.jsx b/docs/src/Demo/Examples/CustomElements.jsx index c7d883bb95f58e..21725d9215581b 100644 --- a/docs/src/Demo/Examples/CustomElements.jsx +++ b/docs/src/Demo/Examples/CustomElements.jsx @@ -1,6 +1,5 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import moment from 'moment'; import { IconButton, Typography, withStyles } from 'material-ui'; import { DateTimePicker, DatePicker } from 'material-ui-pickers'; @@ -51,7 +50,7 @@ class CustomElements extends Component { } state = { - selectedDate: moment(), + selectedDate: new Date(), } handleDateChange = (date) => { diff --git a/docs/src/Demo/Examples/DateTimePickers.jsx b/docs/src/Demo/Examples/DateTimePickers.jsx index ed0c15b471bb06..0cc749bd9531c0 100644 --- a/docs/src/Demo/Examples/DateTimePickers.jsx +++ b/docs/src/Demo/Examples/DateTimePickers.jsx @@ -1,11 +1,10 @@ import React, { Component } from 'react'; -import moment from 'moment'; import { DateTimePicker } from 'material-ui-pickers'; import { IconButton, Typography, Icon, InputAdornment } from 'material-ui'; export default class BasicUsage extends Component { state = { - selectedDate: moment(), + selectedDate: new Date(), } handleDateChange = (date) => { diff --git a/package-lock.json b/package-lock.json index b3475e658281ba..4d3647c2953944 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.1", + "version": "1.0.0-beta.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -6584,11 +6584,6 @@ "minimist": "0.0.8" } }, - "moment": { - "version": "2.19.2", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz", - "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA==" - }, "moment-range": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.0.3.tgz", diff --git a/package.json b/package.json index 75ba0bce13e5ec..137f4c09a55089 100644 --- a/package.json +++ b/package.json @@ -34,11 +34,11 @@ "react-dom": "^15.6.2 || ^16.0.0", "prop-types": "^15.6.0", "material-ui": "^1.0.0-beta.18", - "classnames": "^2.2.5" + "classnames": "^2.2.5", + "moment": "^2.19.2" }, "dependencies": { "babel-helpers": "^6.24.1", - "moment": "^2.19.2", "moment-range": "^3.0.3" }, "scripts": { diff --git a/rollup.config.js b/rollup.config.js index c6ee331450e3b3..36670ea9e2c5f3 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -42,6 +42,7 @@ export default { 'node_modules/prop-types', 'node_modules/classnames', 'node_modules/material-ui', + 'node_modules/moment', ], namedExports: { 'node_modules/moment-range/dist/moment-range.js': ['extendMoment'], From d81f00fc7b50ae05c60b4944295e205e8e9bf74a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 13:14:13 +0200 Subject: [PATCH 0108/1801] Add change locale demo --- docs/src/App.js | 7 +- docs/src/Demo/Demo.jsx | 11 ++- docs/src/index.js | 27 ++++++- docs/src/utils/prism-light.js | 140 ---------------------------------- docs/src/utils/prism.js | 3 +- 5 files changed, 41 insertions(+), 147 deletions(-) delete mode 100644 docs/src/utils/prism-light.js diff --git a/docs/src/App.js b/docs/src/App.js index 212594299803ca..f769627bfe72cc 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,9 +1,9 @@ import React, { Component } from 'react'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; + import Demo from './Demo/Demo'; import { setPrismTheme } from './utils/prism'; - export default class App extends Component { state = { type: 'light', @@ -30,7 +30,10 @@ export default class App extends Component { return (
- {} +
); diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 6c44b8e8d1834b..c874a39119f733 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -13,6 +13,7 @@ class Demo extends Component { static propTypes = { classes: PropTypes.object.isRequired, toggleThemeType: PropTypes.func.isRequired, + toggleFrench: PropTypes.func.isRequired, } scrollToContent = () => { @@ -24,7 +25,7 @@ class Demo extends Component { } render() { - const { classes } = this.props; + const { classes, toggleThemeType, toggleFrench } = this.props; return (
@@ -35,8 +36,14 @@ class Demo extends Component {
+ + + language + + + - + lightbulb_outline diff --git a/docs/src/index.js b/docs/src/index.js index fae3e3500cf003..c3f61d6692fbb3 100644 --- a/docs/src/index.js +++ b/docs/src/index.js @@ -1,8 +1,33 @@ +/* eslint-disable no-use-before-define */ + import React from 'react'; import ReactDOM from 'react-dom'; +import moment from 'moment'; +import 'moment/locale/fr'; + import './index.css'; import App from './App'; import registerServiceWorker from './registerServiceWorker'; -ReactDOM.render(, document.getElementById('root')); +let currentLocale = 'en'; +moment.locale(currentLocale); + +const toggleFrench = () => { + const newLocale = currentLocale === 'en' + ? 'fr' + : 'en'; + + currentLocale = newLocale; + moment.locale(newLocale); + + // little hack here to update inner components, using moment) + ReactDOM.unmountComponentAtNode(document.getElementById('root')); + doRender(); +}; + +const doRender = () => { + ReactDOM.render(, document.getElementById('root')); +}; + +doRender(); registerServiceWorker(); diff --git a/docs/src/utils/prism-light.js b/docs/src/utils/prism-light.js deleted file mode 100644 index 4c1ed2abb09e27..00000000000000 --- a/docs/src/utils/prism-light.js +++ /dev/null @@ -1,140 +0,0 @@ -export default ` -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ - -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, pre[class*="language-"] ::selection, -code[class*="language-"]::selection, code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; -} - -:not(pre) > code[class*="language-"], -pre[class*="language-"] { - background: #f5f2f0; -} - -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #a67f59; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} -`; - diff --git a/docs/src/utils/prism.js b/docs/src/utils/prism.js index c3851bc9911889..a13b67ce760f17 100644 --- a/docs/src/utils/prism.js +++ b/docs/src/utils/prism.js @@ -5,7 +5,7 @@ import 'prismjs/components/prism-css'; import 'prismjs/components/prism-diff'; import 'prismjs/components/prism-jsx'; -/* eslint-disable import/no-webpack-loader-syntax */ +/* eslint-disable import/no-webpack-loader-syntax */ import lightTheme from '!raw-loader!prismjs/themes/prism.css'; import darkTheme from '!raw-loader!prismjs/themes/prism-okaidia.css'; /* eslint-enable import/no-webpack-loader-syntax */ @@ -19,7 +19,6 @@ if (document.head) { } export function setPrismTheme(theme) { - console.log(theme); styleNode.textContent = theme === 'light' ? lightTheme : darkTheme; From ccc3ae67f0dd6cbe19c02ae0fc959414f149da1a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 14:46:32 +0200 Subject: [PATCH 0109/1801] Adjusted code examples formatting --- docs/package.json | 1 - docs/src/Demo/Demo.css | 3 +- docs/src/Demo/Examples/BasicUsage.jsx | 4 +- docs/src/Demo/components/Code.jsx | 172 ++++++++++++++ docs/src/Demo/components/MarkdownElement.jsx | 225 +------------------ docs/src/Demo/components/SourcablePanel.jsx | 6 +- docs/src/index.js | 1 - docs/src/utils/prism.js | 6 - 8 files changed, 180 insertions(+), 238 deletions(-) create mode 100644 docs/src/Demo/components/Code.jsx diff --git a/docs/package.json b/docs/package.json index aee1427bd7e4b4..ecae44c11501d1 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,7 +3,6 @@ "version": "0.1.0", "private": true, "dependencies": { - "marked": "^0.3.6", "moment": "^2.19.2", "prismjs": "^1.8.4", "react-highlight": "^0.10.0", diff --git a/docs/src/Demo/Demo.css b/docs/src/Demo/Demo.css index 753d42738e6e57..d86d32ae828489 100644 --- a/docs/src/Demo/Demo.css +++ b/docs/src/Demo/Demo.css @@ -35,4 +35,5 @@ main { .picker { flex-basis: 100%; } -} \ No newline at end of file +} + diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx index a4cb1fb9cabab1..8514473f8bd293 100644 --- a/docs/src/Demo/Examples/BasicUsage.jsx +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -1,11 +1,11 @@ import React, { Component } from 'react'; -// import moment from 'moment'; +import moment from 'moment'; import { Typography } from 'material-ui'; import { TimePicker, DatePicker } from 'material-ui-pickers'; export default class BasicUsage extends Component { state = { - // selectedDate: moment(), + selectedDate: moment(), } handleDateChange = (date) => { diff --git a/docs/src/Demo/components/Code.jsx b/docs/src/Demo/components/Code.jsx new file mode 100644 index 00000000000000..2c740107d4e6ed --- /dev/null +++ b/docs/src/Demo/components/Code.jsx @@ -0,0 +1,172 @@ +import React from 'react'; +import { withStyles } from 'material-ui/styles'; + +const anchorLinkStyle = (theme, size) => ({ + '& .anchor-link-style': { + opacity: 0, + // To prevent the link to get the focus. + display: 'none', + }, + '&:hover .anchor-link-style': { + display: 'inline-block', + opacity: 1, + padding: `0 ${theme.spacing.unit}px`, + color: theme.palette.text.hint, + '&:hover': { + color: theme.palette.text.secondary, + }, + '& svg': { + width: size, + fill: 'currentColor', + }, + }, +}); + +const styles = theme => ({ + root: { + fontFamily: theme.typography.fontFamily, + fontSize: 16, + color: theme.palette.text.primary, + margin: 0, + backgroundColor: theme.palette.background.paper, + + '& .anchor-link': { + marginTop: -theme.spacing.unit * 12, // Offset for the anchor. + position: 'absolute', + }, + '& pre': { + borderRadius: 3, + overflow: 'auto', + margin: 0, + backgroundColor: theme.palette.background.paper, + }, + '& code': { + display: 'inline-block', + lineHeight: 1.6, + fontFamily: 'Consolas, "Liberation Mono", Menlo, Courier, monospace', + padding: '3px 6px', + color: theme.palette.text.primary, + fontSize: 14, + backgroundColor: theme.palette.background.paper, + }, + '& p code, & ul code, & pre code': { + fontSize: 14, + lineHeight: 1.6, + }, + '& h1 code, & h2 code, & h3 code, & h4 code': { + fontSize: 'inherit', + lineHeight: 'inherit', + }, + '& h1': { + ...theme.typography.display2, + color: theme.palette.text.secondary, + margin: '0.7em 0', + ...anchorLinkStyle(theme, 20), + }, + '& h2': { + ...theme.typography.display1, + color: theme.palette.text.secondary, + margin: '1em 0 0.7em', + ...anchorLinkStyle(theme, 18), + }, + '& h3': { + ...theme.typography.headline, + color: theme.palette.text.secondary, + margin: '1em 0 0.7em', + ...anchorLinkStyle(theme, 16), + }, + '& h4': { + ...theme.typography.title, + color: theme.palette.text.secondary, + margin: '1em 0 0.7em', + ...anchorLinkStyle(theme, 14), + }, + '& p, & ul, & ol': { + lineHeight: 1.6, + }, + '& table': { + width: '100%', + display: 'block', + overflowX: 'auto', + borderCollapse: 'collapse', + borderSpacing: 0, + overflow: 'hidden', + }, + '& thead': { + fontSize: 12, + fontWeight: theme.typography.fontWeightMedium, + color: theme.palette.text.secondary, + }, + '& tbody': { + fontSize: 13, + lineHeight: 1.5, + color: theme.palette.text.primary, + }, + '& td': { + borderBottom: `1px solid ${theme.palette.text.lightDivider}`, + padding: `${theme.spacing.unit}px ${theme.spacing.unit * 5}px ${theme.spacing.unit}px ${theme + .spacing.unit * 3}px`, + textAlign: 'left', + }, + '& td:last-child': { + paddingRight: theme.spacing.unit * 3, + }, + '& td compact': { + paddingRight: theme.spacing.unit * 3, + }, + '& td code': { + fontSize: 13, + lineHeight: 1.6, + }, + '& th': { + whiteSpace: 'pre', + borderBottom: `1px solid ${theme.palette.text.lightDivider}`, + padding: `0 ${theme.spacing.unit * 5}px 0 ${theme.spacing.unit * 3}px`, + textAlign: 'left', + }, + '& th:last-child': { + paddingRight: theme.spacing.unit * 3, + }, + '& tr': { + height: 48, + }, + '& thead tr': { + height: 64, + }, + '& strong': { + fontWeight: theme.typography.fontWeightMedium, + }, + '& blockquote': { + borderLeft: `5px solid ${theme.palette.text.hint}`, + background: theme.palette.background.paper, + padding: `${theme.spacing.unit / 2}px ${theme.spacing.unit * 3}px`, + margin: `${theme.spacing.unit * 3}px 0`, + }, + '& a, & a code': { + // Style taken from the Link component + color: theme.palette.secondary.A400, + textDecoration: 'none', + '&:hover': { + textDecoration: 'underline', + }, + }, + }, +}); + +const Code = (props) => { + const { + classes, className, text, ...other + } = props; + + return ( +
+
+        
+          {text}
+        
+      
+
+ ); +}; + +export default withStyles(styles)(Code); diff --git a/docs/src/Demo/components/MarkdownElement.jsx b/docs/src/Demo/components/MarkdownElement.jsx index e7d70f77b1f455..ec747fa47ddb81 100644 --- a/docs/src/Demo/components/MarkdownElement.jsx +++ b/docs/src/Demo/components/MarkdownElement.jsx @@ -1,224 +1 @@ -// @flow - -import React from 'react'; -import classNames from 'classnames'; -import { withStyles } from 'material-ui/styles'; -import marked from 'marked'; -import prism from '../../utils/prism'; - -const renderer = new marked.Renderer(); - -renderer.heading = (text, level) => { - const escapedText = text - .toLowerCase() - .replace(/=>|<| \/>||<\/code>/g, '') - .replace(/[^\w]+/g, '-'); - - return ( - ` - - ${text}` + - ` - - - ` - ); -}; - -marked.setOptions({ - gfm: true, - tables: true, - breaks: false, - pedantic: false, - sanitize: false, - smartLists: true, - smartypants: false, - // $FlowFixMe - highlight(code, lang) { - let language; - switch (lang) { - case 'diff': - language = prism.languages.diff; - break; - - case 'css': - language = prism.languages.css; - break; - - case 'jsx': - default: - language = prism.languages.jsx; - break; - } - - return prism.highlight(code, language); - }, - renderer, -}); - -const anchorLinkStyle = (theme, size) => ({ - '& .anchor-link-style': { - opacity: 0, - // To prevent the link to get the focus. - display: 'none', - }, - '&:hover .anchor-link-style': { - display: 'inline-block', - opacity: 1, - padding: `0 ${theme.spacing.unit}px`, - color: theme.palette.text.hint, - '&:hover': { - color: theme.palette.text.secondary, - }, - '& svg': { - width: size, - fill: 'currentColor', - }, - }, -}); - -const styles = theme => ({ - root: { - fontFamily: theme.typography.fontFamily, - fontSize: 16, - color: theme.palette.text.primary, - '& .anchor-link': { - marginTop: -theme.spacing.unit * 12, // Offset for the anchor. - position: 'absolute', - }, - '& pre': { - backgroundColor: theme.palette.background.paper, - borderRadius: 3, - overflow: 'auto', - margin: 0, - }, - '& code': { - display: 'inline-block', - lineHeight: 1.6, - fontFamily: 'Consolas, "Liberation Mono", Menlo, Courier, monospace', - padding: '3px 6px', - color: theme.palette.text.primary, - backgroundColor: theme.palette.background.paper, - fontSize: 14, - }, - '& p code, & ul code, & pre code': { - fontSize: 14, - lineHeight: 1.6, - }, - '& h1 code, & h2 code, & h3 code, & h4 code': { - fontSize: 'inherit', - lineHeight: 'inherit', - }, - '& h1': { - ...theme.typography.display2, - color: theme.palette.text.secondary, - margin: '0.7em 0', - ...anchorLinkStyle(theme, 20), - }, - '& h2': { - ...theme.typography.display1, - color: theme.palette.text.secondary, - margin: '1em 0 0.7em', - ...anchorLinkStyle(theme, 18), - }, - '& h3': { - ...theme.typography.headline, - color: theme.palette.text.secondary, - margin: '1em 0 0.7em', - ...anchorLinkStyle(theme, 16), - }, - '& h4': { - ...theme.typography.title, - color: theme.palette.text.secondary, - margin: '1em 0 0.7em', - ...anchorLinkStyle(theme, 14), - }, - '& p, & ul, & ol': { - lineHeight: 1.6, - }, - '& table': { - width: '100%', - display: 'block', - overflowX: 'auto', - borderCollapse: 'collapse', - borderSpacing: 0, - overflow: 'hidden', - }, - '& thead': { - fontSize: 12, - fontWeight: theme.typography.fontWeightMedium, - color: theme.palette.text.secondary, - }, - '& tbody': { - fontSize: 13, - lineHeight: 1.5, - color: theme.palette.text.primary, - }, - '& td': { - borderBottom: `1px solid ${theme.palette.text.lightDivider}`, - padding: `${theme.spacing.unit}px ${theme.spacing.unit * 5}px ${theme.spacing.unit}px ${theme - .spacing.unit * 3}px`, - textAlign: 'left', - }, - '& td:last-child': { - paddingRight: theme.spacing.unit * 3, - }, - '& td compact': { - paddingRight: theme.spacing.unit * 3, - }, - '& td code': { - fontSize: 13, - lineHeight: 1.6, - }, - '& th': { - whiteSpace: 'pre', - borderBottom: `1px solid ${theme.palette.text.lightDivider}`, - padding: `0 ${theme.spacing.unit * 5}px 0 ${theme.spacing.unit * 3}px`, - textAlign: 'left', - }, - '& th:last-child': { - paddingRight: theme.spacing.unit * 3, - }, - '& tr': { - height: 48, - }, - '& thead tr': { - height: 64, - }, - '& strong': { - fontWeight: theme.typography.fontWeightMedium, - }, - '& blockquote': { - borderLeft: `5px solid ${theme.palette.text.hint}`, - background: theme.palette.background.paper, - padding: `${theme.spacing.unit / 2}px ${theme.spacing.unit * 3}px`, - margin: `${theme.spacing.unit * 3}px 0`, - }, - '& a, & a code': { - // Style taken from the Link component - color: theme.palette.secondary.A400, - textDecoration: 'none', - '&:hover': { - textDecoration: 'underline', - }, - }, - }, -}); - -const MarkdownElement = (props) => { - const { - classes, className, text, ...other - } = props; - - /* eslint-disable react/no-danger */ - return ( -
- ); - /* eslint-enable */ -}; - -export default withStyles(styles, { flip: false })(MarkdownElement); +null \ No newline at end of file diff --git a/docs/src/Demo/components/SourcablePanel.jsx b/docs/src/Demo/components/SourcablePanel.jsx index f7a74ddab31986..ba2d4536e62bf1 100644 --- a/docs/src/Demo/components/SourcablePanel.jsx +++ b/docs/src/Demo/components/SourcablePanel.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import Collapse from 'material-ui/transitions/Collapse'; import { Typography, IconButton, withStyles } from 'material-ui'; -import MarkdownElement from '../components/MarkdownElement'; +import Code from '../components/Code'; class SourcablePanel extends PureComponent { static propTypes = { @@ -21,7 +21,7 @@ class SourcablePanel extends PureComponent { const webpackRawLoader = require.context('!raw-loader!../Examples', false, /\.jsx$/); const file = webpackRawLoader(`./${this.props.sourceFile}`); - return `\`\`\`js\n${file}\n\`\`\``; + return file } toggleSource = () => { @@ -42,7 +42,7 @@ class SourcablePanel extends PureComponent { , - + ,
diff --git a/docs/src/index.js b/docs/src/index.js index c3f61d6692fbb3..e1ee8343013cb4 100644 --- a/docs/src/index.js +++ b/docs/src/index.js @@ -1,5 +1,4 @@ /* eslint-disable no-use-before-define */ - import React from 'react'; import ReactDOM from 'react-dom'; import moment from 'moment'; diff --git a/docs/src/utils/prism.js b/docs/src/utils/prism.js index a13b67ce760f17..7ff235db7db3ee 100644 --- a/docs/src/utils/prism.js +++ b/docs/src/utils/prism.js @@ -1,8 +1,4 @@ import prism from 'prismjs'; -import 'prismjs/components/prism-markup'; -import 'prismjs/components/prism-javascript'; -import 'prismjs/components/prism-css'; -import 'prismjs/components/prism-diff'; import 'prismjs/components/prism-jsx'; /* eslint-disable import/no-webpack-loader-syntax */ @@ -23,5 +19,3 @@ export function setPrismTheme(theme) { ? lightTheme : darkTheme; } - -export default prism; From c0abb4af234969148d3beb1bb410c3e43ee1af3e Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 16:46:36 +0200 Subject: [PATCH 0110/1801] Add moment to dev dependencies --- package-lock.json | 6 ++++++ package.json | 1 + 2 files changed, 7 insertions(+) diff --git a/package-lock.json b/package-lock.json index 4d3647c2953944..c085f3e333d382 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6584,6 +6584,12 @@ "minimist": "0.0.8" } }, + "moment": { + "version": "2.19.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz", + "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA==", + "dev": true + }, "moment-range": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.0.3.tgz", diff --git a/package.json b/package.json index 137f4c09a55089..d8c18cb9a69e63 100644 --- a/package.json +++ b/package.json @@ -73,6 +73,7 @@ "eslint-plugin-react": "^7.4.0", "jest": "^21.2.1", "material-ui": "^1.0.0-beta.18", + "moment": "^2.19.2", "peer-deps-externals-webpack-plugin": "^1.0.2", "prop-types": "^15.6.0", "react": "^16.0.0", From 4f9dba58444170d1fc05818a77cb205f5a42a95b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 18 Nov 2017 17:20:28 +0200 Subject: [PATCH 0111/1801] Fix highlighting disappearing on changing locale --- docs/public/index.html | 2 +- docs/src/Demo/Examples/BasicUsage.jsx | 2 +- docs/src/Demo/Examples/CustomElements.jsx | 1 - docs/src/Demo/Examples/DateTimePickers.jsx | 10 +++++----- docs/src/Demo/components/Code.jsx | 8 +++++--- docs/src/utils/prism.js | 2 ++ 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/docs/public/index.html b/docs/public/index.html index e26a21896e997a..a32e23b953c7d7 100644 --- a/docs/public/index.html +++ b/docs/public/index.html @@ -3,7 +3,7 @@ - + + +## Environment + +| Tech | Version | +|---------------------|---------| +| material-ui-pickers | | +| material-ui | | +| React | | +| Browser | | +| Platform | | + +## Steps to reproduce +1. +2. +3. + +## Expected behavior + + +## Actual behavior + + +## Live example + \ No newline at end of file From bf2ff4387f11673cf6d7b646ee1fff3756f6e068 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 18 Dec 2017 12:41:07 +0200 Subject: [PATCH 0217/1801] Update release script --- .travis.yml | 2 +- lib/package-lock.json | 2 +- lib/package.json | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f0523b437e9585..362696fe32dd9f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,4 @@ node_js: - "8" script: - - cd lib && npm install --ignore-scripts && npm run prepublishOnly \ No newline at end of file + - cd lib && npm install --ignore-scripts && npm run ci \ No newline at end of file diff --git a/lib/package-lock.json b/lib/package-lock.json index 9f9522f04f7536..ec735c1cb0cf97 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.8", + "version": "1.0.0-beta.9", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/package.json b/lib/package.json index c8ad025ee90f61..ae5028d714ff08 100644 --- a/lib/package.json +++ b/lib/package.json @@ -50,9 +50,10 @@ "build:bundle": "cross-env NODE_ENV=production rollup --config", "build:es2015": "cross-env NODE_ENV=production babel ./src --out-dir ./build/src", "build": "npm run build:bundle && npm run build:es2015 && npm run build:copy", - "prepublishOnly": "npm run test && npm run lint && npm run build", - "prerelease": "npm run build", - "release": "np --no-publish && npm publish build", + "ci": "npm run test && npm run lint && npm run build", + "prerelease": "npm run ci", + "release": "np --no-publish", + "postrelease": "npm run build && npm publish build", "lint": "eslint ./src/**/*.js*" }, "devDependencies": { From 50f18b6c084b222e5f1fb28374ebb6e374a01523 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 18 Dec 2017 12:43:21 +0200 Subject: [PATCH 0218/1801] :tada: Update version --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index ae5028d714ff08..3aaeb019b22cb4 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.8", + "version": "1.0.0-beta.9", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From 81d132e8742ae9e4704c4f4263244fc1fde74568 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 22 Dec 2017 11:21:47 +0200 Subject: [PATCH 0219/1801] Add ability to publish release from any branch --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index 3aaeb019b22cb4..e5db32e7a24302 100644 --- a/lib/package.json +++ b/lib/package.json @@ -52,7 +52,7 @@ "build": "npm run build:bundle && npm run build:es2015 && npm run build:copy", "ci": "npm run test && npm run lint && npm run build", "prerelease": "npm run ci", - "release": "np --no-publish", + "release": "np --no-publish --no-publish", "postrelease": "npm run build && npm publish build", "lint": "eslint ./src/**/*.js*" }, From e2f9df70b879ce67fc9dbe34c45e5ee1b3470953 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 22 Dec 2017 11:24:36 +0200 Subject: [PATCH 0220/1801] Add ability to publish release from any branch --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index e5db32e7a24302..eeb94e280c5779 100644 --- a/lib/package.json +++ b/lib/package.json @@ -52,7 +52,7 @@ "build": "npm run build:bundle && npm run build:es2015 && npm run build:copy", "ci": "npm run test && npm run lint && npm run build", "prerelease": "npm run ci", - "release": "np --no-publish --no-publish", + "release": "np --no-publish --any-branch", "postrelease": "npm run build && npm publish build", "lint": "eslint ./src/**/*.js*" }, From 50ba6ba223b4d2ed0e4949e4fbae335ca19160a4 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 22 Dec 2017 11:28:16 +0200 Subject: [PATCH 0221/1801] Release 1.0.0-beta.10 --- lib/package-lock.json | 2 +- lib/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index ec735c1cb0cf97..a9b3a7b43657dd 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.9", + "version": "1.0.0-beta.10", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/package.json b/lib/package.json index eeb94e280c5779..391f780323e4f2 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.9", + "version": "1.0.0-beta.10", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From b909e027c4d498935a1fdd43a40dd49af221e961 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 14:44:41 +0100 Subject: [PATCH 0222/1801] update react to 16.2.0 --- docs/package-lock.json | 805 +------------------------------ lib/package-lock.json | 1027 ---------------------------------------- lib/package.json | 8 +- 3 files changed, 7 insertions(+), 1833 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 3d8ac4ff3db8ba..bc6b1b30f751de 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1582,7 +1582,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.2", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -3556,791 +3555,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "fsevents": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.36" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "optional": true, - "requires": { - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -6225,9 +5439,9 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "material-ui": { - "version": "1.0.0-beta.22", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.22.tgz", - "integrity": "sha512-6P+QssiDdVaHtYNO6wFoEFPzbjS98vsLuBTIuj8Whso7FTqle5Z16GpEsxibbC+MCrC72KECwaew0aR09tWMig==", + "version": "1.0.0-beta.24", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.24.tgz", + "integrity": "sha512-tPKQeR9RXXSJFj/QIhU5+mAnnZm5Gk6WcTufbVBDd0946wpfMJA2NY2J+M/SK9NXe+BTTVUCnWY92UCw5YA9tA==", "requires": { "babel-runtime": "6.26.0", "brcast": "3.0.1", @@ -6242,7 +5456,6 @@ "normalize-scroll-left": "0.1.2", "prop-types": "15.6.0", "react-event-listener": "0.5.1", - "react-flow-types": "0.2.0-beta.6", "react-jss": "8.1.0", "react-popper": "0.7.4", "react-scrollbar-size": "2.0.2", @@ -6491,12 +5704,6 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, - "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "optional": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -8512,11 +7719,6 @@ "warning": "3.0.0" } }, - "react-flow-types": { - "version": "0.2.0-beta.6", - "resolved": "https://registry.npmjs.org/react-flow-types/-/react-flow-types-0.2.0-beta.6.tgz", - "integrity": "sha512-I4f8oJFGxVJYrJLxG4sCPW7vWedNB8Eee1U2v+xBzRPlF7X5IBelqaDIKxBDLzDFb++AzpoU+uu1jFaKy1QssQ==" - }, "react-jss": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.1.0.tgz", @@ -8574,7 +7776,6 @@ "extract-text-webpack-plugin": "3.0.2", "file-loader": "1.1.5", "fs-extra": "3.0.1", - "fsevents": "1.1.2", "html-webpack-plugin": "2.29.0", "jest": "20.0.4", "object-assign": "4.1.1", diff --git a/lib/package-lock.json b/lib/package-lock.json index 78f9deb005b7f1..0291a6046bebcc 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1588,7 +1588,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -2944,1024 +2943,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", - "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "aproba": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", - "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", - "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", - "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", - "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", - "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", - "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", - "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", - "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", - "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", - "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", - "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", - "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", - "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", - "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", - "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", - "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", - "dev": true - }, - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", - "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", - "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", - "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", - "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", - "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "uuid": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", - "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", - "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -6440,13 +5421,6 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "dev": true, - "optional": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7917,7 +6891,6 @@ "anymatch": "1.3.2", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", - "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", diff --git a/lib/package.json b/lib/package.json index 391f780323e4f2..c438fd67b1a4e0 100644 --- a/lib/package.json +++ b/lib/package.json @@ -31,8 +31,8 @@ "email": "dmtr.kovalenko@outlook.com" }, "peerDependencies": { - "react": "^16.0.0", - "react-dom": "^16.0.0", + "react": "^16.2.0", + "react-dom": "^16.2.0", "prop-types": "^15.6.0", "material-ui": "^1.0.0-beta.24", "classnames": "^2.2.5", @@ -85,8 +85,8 @@ "moment": "^2.19.2", "np": "^2.18.3", "prop-types": "^15.6.0", - "react": "^16.1.1", - "react-dom": "^16.1.1", + "react": "^16.2.0", + "react-dom": "^16.2.0", "rollup": "^0.51.8", "rollup-plugin-babel": "^3.0.2", "rollup-plugin-commonjs": "^8.2.4", From c1a02fa0a66c6e90f1214dad42347de68427a13c Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 14:49:28 +0100 Subject: [PATCH 0223/1801] replace DatePicker div wrapper with Fragment, remove withStyles HOC --- lib/src/DatePicker/DatePicker.jsx | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/lib/src/DatePicker/DatePicker.jsx b/lib/src/DatePicker/DatePicker.jsx index 240d00d36865ad..f06ccb2ca02c1f 100644 --- a/lib/src/DatePicker/DatePicker.jsx +++ b/lib/src/DatePicker/DatePicker.jsx @@ -1,7 +1,6 @@ -import React, { PureComponent } from 'react'; +import React, { PureComponent, Fragment } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import { withStyles } from 'material-ui'; import Calendar from './Calendar'; import YearSelection from './YearSelection'; @@ -15,7 +14,6 @@ export class DatePicker extends PureComponent { date: PropTypes.object.isRequired, minDate: DomainPropTypes.date, maxDate: DomainPropTypes.date, - classes: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, disablePast: PropTypes.bool, disableFuture: PropTypes.bool, @@ -76,7 +74,6 @@ export class DatePicker extends PureComponent { render() { const { - classes, disablePast, disableFuture, onChange, @@ -90,7 +87,7 @@ export class DatePicker extends PureComponent { const { showYearSelection } = this.state; return ( -
+ } -
+ ); } } -const styles = () => ({ - -}); - -export default withStyles(styles, { name: 'MuiPickersDatePicker' })(DatePicker); +export default DatePicker; From eca1567ce570578e44052b82975193e3c3c514a9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 14:53:02 +0100 Subject: [PATCH 0224/1801] replace Calendar div wrapper with Fragment --- lib/src/DatePicker/Calendar.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index cdac7c9e5f956b..7a1daee3347ce9 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { withStyles, IconButton } from 'material-ui'; @@ -135,7 +135,7 @@ export class Calendar extends Component { const { classes, utils } = this.props; return ( -
+ {this.renderWeeks()}
-
+ ); } } From c73d5c56348e71b1197e22a096e05a152fcf28f9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 14:58:03 +0100 Subject: [PATCH 0225/1801] replace TimePicker div wrapper with Fragment --- lib/src/TimePicker/TimePicker.jsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 29ccdfe275714b..3fec6f05a6cbc2 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; import PickerToolbar from '../_shared/PickerToolbar'; @@ -73,7 +73,7 @@ export class TimePicker extends Component { : classes.hourMinuteLabel; return ( -
+
} -
- +
); } } From fc1500ca7438ea7dd2fb08b95f388cf213e8dee6 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 15:05:17 +0100 Subject: [PATCH 0226/1801] replace DateTimePicker div wrapper with Fragment --- lib/src/DateTimePicker/DateTimePicker.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 31968b711f4fdc..12e5834f4b4dbc 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { withStyles } from 'material-ui'; @@ -106,7 +106,7 @@ export class DateTimePicker extends Component { } = this.props; return ( -
+ -
+ ); } } From 992adcff3d5cae8698018f694e2a0b7452c26c9b Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 15:06:05 +0100 Subject: [PATCH 0227/1801] remove unused withStyles HOC from DateTimePicker --- lib/src/DateTimePicker/DateTimePicker.jsx | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 12e5834f4b4dbc..1b61c03ce7346f 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -1,6 +1,5 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import { withStyles } from 'material-ui'; import View from './DateTimePickerView'; import YearSelection from '../DatePicker/YearSelection'; @@ -178,8 +177,4 @@ export class DateTimePicker extends Component { } } -const styles = () => ({ - -}); - -export default withStyles(styles)(DateTimePicker); +export default DateTimePicker; From 044cc1f223cb0479c368adbabba4918e95abdf75 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 16:04:53 +0100 Subject: [PATCH 0228/1801] use Typography for month name in CalendarHeader --- lib/src/DatePicker/CalendarHeader.jsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index aa2ec3c9cf7057..d3dcb21421ac79 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { withStyles, IconButton } from 'material-ui'; +import { withStyles, IconButton, Typography } from 'material-ui'; import * as defaultUtils from '../utils/utils'; export const CalendarHeader = (props) => { @@ -26,9 +26,9 @@ export const CalendarHeader = (props) => { {rtl ? rightArrowIcon : leftArrowIcon} -
+ {utils.getCalendarHeaderText(currentMonth)} -
+ {rtl ? leftArrowIcon : rightArrowIcon} @@ -79,9 +79,6 @@ const styles = theme => ({ textAlign: 'center', color: theme.palette.text.hint, }, - monthName: { - color: theme.palette.text.primary, - }, }); export default withStyles( From 16679e0d1b27d4d14cccc14eb0405ddab580a861 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 16:15:12 +0100 Subject: [PATCH 0229/1801] use Typography for day label in CalendarHeader --- lib/src/DatePicker/CalendarHeader.jsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index d3dcb21421ac79..d8c89922977c2a 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -37,7 +37,13 @@ export const CalendarHeader = (props) => {
{utils.getWeekdays().map(day => ( -
{day}
+ + {day} + ))}
@@ -75,7 +81,6 @@ const styles = theme => ({ dayLabel: { width: 36, margin: '0 2px', - fontSize: 13, textAlign: 'center', color: theme.palette.text.hint, }, From c1fb9226195a7d84347f92d03aba4750fa685ceb Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 22 Dec 2017 16:45:47 +0100 Subject: [PATCH 0230/1801] use Typography for in ClockNumber --- lib/src/TimePicker/ClockNumber.jsx | 51 +++++++++++++++--------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/lib/src/TimePicker/ClockNumber.jsx b/lib/src/TimePicker/ClockNumber.jsx index d0a634748a5c5c..9cdbcae6373357 100644 --- a/lib/src/TimePicker/ClockNumber.jsx +++ b/lib/src/TimePicker/ClockNumber.jsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import { withStyles } from 'material-ui'; +import { Typography, withStyles } from 'material-ui'; const positions = { 0: [0, 40], @@ -58,41 +58,42 @@ export class ClockNumber extends Component { const className = classnames(classes.clockNumber, { [classes.selected]: selected, - [classes.inner]: isInner, }); return ( -
{ label } -
+ ); } } -const styles = theme => ({ - clockNumber: { - width: 32, - height: 32, - position: 'absolute', - left: 'calc(50% - 16px)', - display: 'inline-flex', - justifyContent: 'center', - alignItems: 'center', - borderRadius: '50%', - color: theme.palette.type === 'light' - ? theme.palette.text.primary - : theme.palette.text.hint, - }, - selected: { - color: 'white', - }, - inner: { - fontSize: 14, - }, -}); +const styles = (theme) => { + const size = theme.spacing.unit * 4; + return { + clockNumber: { + width: size, + height: size, + position: 'absolute', + left: `calc(50% - ${size / 2}px)`, + display: 'inline-flex', + justifyContent: 'center', + alignItems: 'center', + borderRadius: '50%', + color: theme.palette.type === 'light' + ? theme.palette.text.primary + : theme.palette.text.hint, + }, + selected: { + color: theme.palette.common.white, + }, + }; +}; export default withStyles(styles, { name: 'MuiPickersClockNumber' })(ClockNumber); From ce824974ab74404ce398894f6932250bc088ba7b Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 10:30:39 +0100 Subject: [PATCH 0231/1801] do not focus on hidden dates --- lib/src/DatePicker/Calendar.jsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index cdac7c9e5f956b..55d51b9f761036 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -99,15 +99,16 @@ export class Calendar extends Component { return week.map((day) => { // should be applied both for wrapper and button const disabledClass = classnames({ [classes.disabled]: this.shouldDisableDate(day) }); - const dayInCurrentMonth = utils.getMonthNumber(day) === currentMonthNumber; + const isHidden = !dayInCurrentMonth; + const dayClass = classnames(classes.day, disabledClass, { - [classes.hidden]: !dayInCurrentMonth, + [classes.hidden]: isHidden, [classes.selected]: selectedDate.isSame(day, 'day'), }); let dayComponent = ( - + {utils.getDayText(day)} ); From 27165fd93fd9b356f5703d05880592fafe467c0f Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 10:37:34 +0100 Subject: [PATCH 0232/1801] make cancel button focusable --- lib/src/_shared/ModalDialog.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index cf8bec9e907822..70129ac4bdbd7a 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -37,7 +37,6 @@ const ModalDialog = ({ From 649d4a5c619caa4a33fbdc38bba5dbc4c206ea7b Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 10:40:01 +0100 Subject: [PATCH 0233/1801] add aria-labels to dialog actions --- lib/src/_shared/ModalDialog.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 70129ac4bdbd7a..de757c839ac905 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -37,6 +37,7 @@ const ModalDialog = ({ @@ -44,6 +45,7 @@ const ModalDialog = ({ From 389ad977162fd341567811ec4da6f73ca33e3d59 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 10:56:13 +0100 Subject: [PATCH 0234/1801] adjust calendar to material design --- lib/src/DatePicker/Calendar.jsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index cdac7c9e5f956b..c9036be3469865 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -95,6 +95,7 @@ export class Calendar extends Component { const selectedDate = date.clone().startOf('day'); const currentMonthNumber = utils.getMonthNumber(this.state.currentMonth); + const now = moment(); return week.map((day) => { // should be applied both for wrapper and button @@ -103,6 +104,7 @@ export class Calendar extends Component { const dayInCurrentMonth = utils.getMonthNumber(day) === currentMonthNumber; const dayClass = classnames(classes.day, disabledClass, { [classes.hidden]: !dayInCurrentMonth, + [classes.current]: day.isSame(now, 'day'), [classes.selected]: selectedDate.isSame(day, 'day'), }); @@ -163,13 +165,19 @@ const styles = theme => ({ day: { width: 36, height: 36, - fontSize: 14, + fontSize: theme.typography.caption.fontSize, margin: '0 2px', color: theme.palette.text.primary, + fontWeight: theme.typography.fontWeightMedium, + }, + current: { + color: theme.palette.primary[500], + fontWeight: 600, }, selected: { - color: theme.palette.primary[700], - backgroundColor: theme.palette.primary[200], + color: theme.palette.common.white, + backgroundColor: theme.palette.primary[500], + fontWeight: theme.typography.fontWeightMedium, }, disabled: { pointerEvents: 'none', From 34db718390c2cd6677c97ee0939fdbc1d63e3c88 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 11:02:59 +0100 Subject: [PATCH 0235/1801] =?UTF-8?q?Revert=20"fix:=20vertical=20scroll=20?= =?UTF-8?q?was=20appearing=20on=20container=20when=20weeks=20in=20month=20?= =?UTF-8?q?s=E2=80=A6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/src/_shared/ModalDialog.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index cf8bec9e907822..42867bead607d7 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -10,7 +10,7 @@ const styles = { }, dialog: { width: dialogWidth, - height: 424, + height: 420, '&:first-child': { padding: 0, From e37609f6bf1bb95ba36a6cc20f7b2cc4fd5d2e47 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 12:30:42 +0100 Subject: [PATCH 0236/1801] adjust CalendarHeader to MD --- lib/src/DatePicker/CalendarHeader.jsx | 4 ++-- lib/src/_shared/ModalDialog.jsx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index d8c89922977c2a..292dc58079dcfe 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -26,7 +26,7 @@ export const CalendarHeader = (props) => { {rtl ? rightArrowIcon : leftArrowIcon} - + {utils.getCalendarHeaderText(currentMonth)} @@ -71,7 +71,7 @@ const styles = theme => ({ display: 'flex', justifyContent: 'space-between', alignItems: 'center', - margin: '10px 0 20px', + marginBottom: theme.spacing.unit, }, daysHeader: { display: 'flex', diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 97f02a8af9fcf5..2760d299444138 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -10,7 +10,7 @@ const styles = { }, dialog: { width: dialogWidth, - height: 420, + height: 393, '&:first-child': { padding: 0, From 68d04568d91c42a1402c2905a0d48f7d328f5d22 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 13:07:26 +0100 Subject: [PATCH 0237/1801] remove height from ModalDialog and set Calendar height --- lib/src/DatePicker/Calendar.jsx | 3 ++- lib/src/_shared/ModalDialog.jsx | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 679333e346b423..bca224eb647edc 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -157,7 +157,8 @@ export class Calendar extends Component { const styles = theme => ({ calendar: { - marginTop: 5, + height: 36 * 6, + marginTop: theme.spacing.unit * 1.5, }, hidden: { opacity: 0, diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 2760d299444138..1b93ac5db38daf 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -10,7 +10,6 @@ const styles = { }, dialog: { width: dialogWidth, - height: 393, '&:first-child': { padding: 0, From 40806a57040bce083151e0746e4aa95e213295fe Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 13:07:50 +0100 Subject: [PATCH 0238/1801] adjust Clock margins --- lib/src/TimePicker/Clock.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 4f3bff02d5ca69..c8f021c9179a61 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -116,12 +116,12 @@ export class Clock extends Component { } } -const styles = () => ({ +const styles = (theme) => ({ container: { display: 'flex', justifyContent: 'center', alignItems: 'flex-end', - marginTop: 40, + margin: [theme.spacing.unit * 4, 0, theme.spacing.unit], }, clock: { backgroundColor: 'rgba(0,0,0,.07)', From 73a3280160ec17e2d06c6a6029f878ac7ac112eb Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 13:08:06 +0100 Subject: [PATCH 0239/1801] remove height from DateTimePickerWrapper --- lib/src/DateTimePicker/DateTimePickerWrapper.jsx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx index ed542aebd063aa..c8b9393637aeb5 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -1,7 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import classnames from 'classnames'; import { withStyles } from 'material-ui'; import DomainPropTypes from '../constants/prop-types'; @@ -93,8 +92,6 @@ export class DateTimePickerWrapper extends PickerBase { ...other } = this.props; - const dialogClassName = classnames(classes.dialogContent, { [classes.noTabs]: !showTabs }); - return ( { this.wrapper = node; }} @@ -103,7 +100,7 @@ export class DateTimePickerWrapper extends PickerBase { onAccept={this.handleAccept} onChange={this.handleTextFieldChange} onDismiss={this.handleDismiss} - dialogContentClassName={dialogClassName} + dialogContentClassName={classes.dialogContent} invalidLabel={invalidLabel} labelFunc={labelFunc} {...other} @@ -135,12 +132,8 @@ export class DateTimePickerWrapper extends PickerBase { const styles = { dialogContent: { - height: 470, width: 310, }, - noTabs: { - height: 422, - }, }; export default withStyles(styles, { name: 'MuiPickerDTPickerModal' })(DateTimePickerWrapper); From 45b5b3a8aacb549cabbbc0d7daf873616266eddf Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 13:11:15 +0100 Subject: [PATCH 0240/1801] fix linter error --- lib/src/TimePicker/Clock.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index c8f021c9179a61..5960b85e6e13f9 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -116,7 +116,7 @@ export class Clock extends Component { } } -const styles = (theme) => ({ +const styles = theme => ({ container: { display: 'flex', justifyContent: 'center', From f072cb46ca866a8f7c75f4b0f238898edada6945 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 23 Dec 2017 13:47:47 +0100 Subject: [PATCH 0241/1801] adjust CustomElementsExamples to match new Calendar --- docs/package.json | 1 + docs/src/Demo/Examples/CustomElements.jsx | 37 ++++++++++++----------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/docs/package.json b/docs/package.json index 5302513a4bc9c5..5aa11f3782407c 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "classnames": "^2.2.5", "eslint-config-react-app": "^2.0.1", "jss": "^9.3.3", "jss-preset-default": "^4.0.1", diff --git a/docs/src/Demo/Examples/CustomElements.jsx b/docs/src/Demo/Examples/CustomElements.jsx index 2fad30ce82a599..63e6d0376ca6b0 100644 --- a/docs/src/Demo/Examples/CustomElements.jsx +++ b/docs/src/Demo/Examples/CustomElements.jsx @@ -1,6 +1,7 @@ import React, { Fragment, Component } from 'react'; import PropTypes from 'prop-types'; import { IconButton, Typography, withStyles } from 'material-ui'; +import classNames from 'classnames'; import { DateTimePicker, DatePicker } from 'material-ui-pickers'; class CustomElements extends Component { @@ -27,9 +28,9 @@ class CustomElements extends Component { renderCustomDayForDateTime = (date, selectedDate, dayInCurrentMonth, dayComponent) => { const { classes } = this.props; - const dayClassName = [ - (date.isSame(selectedDate, 'day')) && classes.customDayHighlight, - ].join(' '); + const dayClassName = classNames({ + [classes.customDayHighlight]: date.isSame(selectedDate, 'day'), + }); return (
@@ -54,17 +55,16 @@ class CustomElements extends Component { const firstDay = date.isSame(startDate, 'day'); const lastDay = date.isSame(endDate, 'day'); - const wrapperClassName = [ - dayIsBetween ? classes.highlight : null, - firstDay ? classes.firstHighlight : null, - lastDay ? classes.endHighlight : null, - ].join(' '); + const wrapperClassName = classNames({ + [classes.highlight]: dayIsBetween, + [classes.firstHighlight]: firstDay, + [classes.endHighlight]: lastDay, + }); - const dayClassName = [ - classes.day, - (!dayInCurrentMonth) && classes.nonCurrentMonthDay, - (!dayInCurrentMonth && dayIsBetween) && classes.highlightNonCurrentMonthDay, - ].join(' '); + const dayClassName = classNames(classes.day, { + [classes.nonCurrentMonthDay]: !dayInCurrentMonth, + [classes.highlightNonCurrentMonthDay]: !dayInCurrentMonth && dayIsBetween, + }); return (
@@ -117,9 +117,9 @@ const styles = theme => ({ day: { width: 36, height: 36, - fontSize: 14, + fontSize: theme.typography.caption.fontSize, margin: '0 2px', - color: theme.palette.text.primary, + color: 'inherit', }, customDayHighlight: { position: 'absolute', @@ -127,17 +127,18 @@ const styles = theme => ({ bottom: 0, left: '2px', right: '2px', - border: '2px solid #6270bf', + border: `2px solid ${theme.palette.primary[100]}`, borderRadius: '50%', }, nonCurrentMonthDay: { - color: '#BCBCBC', + color: theme.palette.common.minBlack, }, highlightNonCurrentMonthDay: { color: '#676767', }, highlight: { - background: '#9fa8da', + background: theme.palette.primary[500], + color: theme.palette.common.white, }, firstHighlight: { extend: 'highlight', From e2f14ed95f28da0dc8bd64d2cdbccba9aa1cf8ef Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 26 Dec 2017 11:38:43 +0200 Subject: [PATCH 0242/1801] Add keyboardIcon prop to change icon of keyboard adornment --- README.md | 3 +++ lib/src/_shared/DateTextField.d.ts | 1 + lib/src/_shared/DateTextField.jsx | 17 ++++++++++++++--- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8c9339d345ccb0..78a09e2429e326 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ leftArrowIcon | react node, string | 'keyboard_arrow_left'| Left arrow icon rightArrowIcon | react node, string | 'keyboard_arrow_right'| Right arrow icon shouldDisableDate | (date: Moment) => boolean | () => false | Allow to disable custom date in calendar keyboard | boolean | false | Allow to manual input date to the text field +keyboardIcon | react node, string | 'event' | Keyboard adornment icon mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask #### Timepicker @@ -121,6 +122,7 @@ cancelLabel | string | 'CANCEL' | The label for the cancel button labelFunc | func | null | Allow to specify dynamic label for text field `labelFunc(date, invalidLabel)` ampm | boolean | true | 12h/24h view for hour selection clock keyboard | boolean | false | Allow to manual input date to the text field +keyboardIcon | react node, string | 'event' | Keyboard adornment icon mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask #### DateTimepicker @@ -151,6 +153,7 @@ timeIcon | react node, string | 'access_time'| Time tab icon ampm | boolean | true | 12h/24h view for hour selection clock shouldDisableDate | (date: Moment) => boolean | () => false | Allow to disable custom date in calendar keyboard | boolean | false | Allow to manual input date to the text field +keyboardIcon | react node, string | 'event' | Keyboard adornment icon mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask ### l10n diff --git a/lib/src/_shared/DateTextField.d.ts b/lib/src/_shared/DateTextField.d.ts index 2af1f7e763c60e..f990f81695adde 100644 --- a/lib/src/_shared/DateTextField.d.ts +++ b/lib/src/_shared/DateTextField.d.ts @@ -13,6 +13,7 @@ export interface DateTextFieldProps extends TextFieldProps { format?: string; invalidLabel?: string; labelFunc?: (date: object, invalidLabel: string) => string; + keyboardIcon?: string; } declare const DateTextField: ComponentClass; diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 8c2b282ff75c0d..9fd84e348471b0 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import moment from 'moment'; -import { TextField, InputAdornment, IconButton } from 'material-ui'; +import { TextField, InputAdornment, IconButton, Icon } from 'material-ui'; import MaskedInput from './MaskedInput'; @@ -25,6 +25,7 @@ export default class DateTextField extends PureComponent { labelFunc: PropTypes.func, keyboard: PropTypes.bool, InputProps: PropTypes.shape(), + keyboardIcon: PropTypes.node, } static defaultProps = { @@ -36,6 +37,7 @@ export default class DateTextField extends PureComponent { InputProps: undefined, keyboard: false, mask: undefined, + keyboardIcon: 'event', } getDisplayDate = (props) => { @@ -112,7 +114,16 @@ export default class DateTextField extends PureComponent { render() { const { - format, disabled, onClick, invalidLabel, labelFunc, keyboard, value, mask, InputProps, + format, + disabled, + onClick, + invalidLabel, + labelFunc, + keyboard, + value, + mask, + InputProps, + keyboardIcon, ...other } = this.props; const { displayValue, error } = this.state; @@ -125,7 +136,7 @@ export default class DateTextField extends PureComponent { if (keyboard) { localInputProps.endAdornment = ( - event + {keyboardIcon} ); } From ddd4f0401a34f511ccdc1059340d85e96e1ea8d5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 26 Dec 2017 11:43:23 +0200 Subject: [PATCH 0243/1801] Add invalidDateMessage prop to change invalid date message --- README.md | 1 + lib/src/_shared/DateTextField.jsx | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 78a09e2429e326..65e2e85efbf54b 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ ampm | boolean | true | 12h/24h view for hour selection clock shouldDisableDate | (date: Moment) => boolean | () => false | Allow to disable custom date in calendar keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node, string | 'event' | Keyboard adornment icon +invalidDateMessage | string | 'Invalid Date Format' | Message, appearing when date cannot be parsed mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask ### l10n diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 9fd84e348471b0..c201f69dbf7cb3 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -26,6 +26,7 @@ export default class DateTextField extends PureComponent { keyboard: PropTypes.bool, InputProps: PropTypes.shape(), keyboardIcon: PropTypes.node, + invalidDateMessage: PropTypes.string, } static defaultProps = { @@ -38,6 +39,7 @@ export default class DateTextField extends PureComponent { keyboard: false, mask: undefined, keyboardIcon: 'event', + invalidDateMessage: 'Invalid Date Format', } getDisplayDate = (props) => { @@ -74,10 +76,10 @@ export default class DateTextField extends PureComponent { } handleChange = (e) => { - const { format } = this.props; + const { format, invalidDateMessage } = this.props; const oldValue = moment(this.state.value); const newValue = moment(e.target.value, format, true); - const error = newValue.isValid() ? '' : 'Invalid Date Format'; + const error = newValue.isValid() ? '' : invalidDateMessage; this.setState({ displayValue: e.target.value, From 96b4abf3562f2d5426ed08c422163c5faf12298c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 26 Dec 2017 11:46:49 +0200 Subject: [PATCH 0244/1801] Add desc of keyboardIcon to icons section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65e2e85efbf54b..d0af718012a793 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ If you dont want to use icon font, or you are already use `material-ui-icons` yo * rightArrowIcon - arrow right for datepicker * dateRangeIcon - date tab icon for datetimepicker * timeIcon - time tab icon for datetimepicker +* keyboardIcon - icon for keyboard end adornmentic ### Usage Here is a quick example of how to use this package From 216f63e1f0c01758e17cda72086b3069d950f4bf Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 26 Dec 2017 11:51:55 +0200 Subject: [PATCH 0245/1801] Update version --- lib/package-lock.json | 2 +- lib/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index 0291a6046bebcc..764f462b6b6c31 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.10", + "version": "1.0.0-beta.11", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/package.json b/lib/package.json index c438fd67b1a4e0..ffbe78417ec458 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.10", + "version": "1.0.0-beta.11", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From a1d91c6a61f0bedce9c48489ba39efb6712a1bb7 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 26 Dec 2017 13:28:45 +0100 Subject: [PATCH 0246/1801] add lint-fix npm script --- lib/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index ffbe78417ec458..c3fcde3f901e60 100644 --- a/lib/package.json +++ b/lib/package.json @@ -54,7 +54,8 @@ "prerelease": "npm run ci", "release": "np --no-publish --any-branch", "postrelease": "npm run build && npm publish build", - "lint": "eslint ./src/**/*.js*" + "lint": "eslint ./src/**/*.js*", + "lint-fix": "npm run lint -- --fix" }, "devDependencies": { "babel-cli": "^6.24.1", From 155c8ea6147a87b38da791d64f0d33e71e7a23da Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 26 Dec 2017 13:31:17 +0100 Subject: [PATCH 0247/1801] add clear button to ModalDialog --- lib/src/_shared/ModalDialog.jsx | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 1b93ac5db38daf..9d4b4c758c5e17 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -15,13 +15,20 @@ const styles = { padding: 0, }, }, + dialogActions: { + '&:first-child': { + marginRight: 'auto', + }, + }, }; const ModalDialog = ({ children, classes, + onClear, onAccept, onDismiss, + clearLabel, okLabel, cancelLabel, dialogContentClassName, @@ -32,7 +39,18 @@ const ModalDialog = ({ { children } - + + + {clearable && + + }
- ) + ); } } -export default Day; \ No newline at end of file +export default Day; From 6c8ee1a3a5571cb3d118b77f3f1c4fd8c33f53e4 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 30 Dec 2017 21:53:08 +0100 Subject: [PATCH 0290/1801] do not pass disabledClass to a DayWrapper --- lib/src/DatePicker/Calendar.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 7cb394801ffab4..f2f3ed9ce31f42 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -122,7 +122,6 @@ export class Calendar extends Component { return ( Date: Sat, 30 Dec 2017 21:54:08 +0100 Subject: [PATCH 0291/1801] rename DayWrapper component --- lib/src/DatePicker/DayWrapper.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/DatePicker/DayWrapper.jsx b/lib/src/DatePicker/DayWrapper.jsx index 394b6d6752723b..6ca74950f585b3 100644 --- a/lib/src/DatePicker/DayWrapper.jsx +++ b/lib/src/DatePicker/DayWrapper.jsx @@ -1,7 +1,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -class Day extends PureComponent { +class DayWrapper extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, onSelect: PropTypes.func.isRequired, @@ -34,4 +34,4 @@ class Day extends PureComponent { } } -export default Day; +export default DayWrapper; From ed914e77668b1ba48925b8952e7a63535241f563 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 30 Dec 2017 22:22:40 +0100 Subject: [PATCH 0292/1801] add disabled prop to DayWrapper --- lib/src/DatePicker/Calendar.jsx | 4 +++- lib/src/DatePicker/DayWrapper.jsx | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index f2f3ed9ce31f42..34ef15683c321e 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -100,7 +100,8 @@ export class Calendar extends Component { return week.map((day) => { // should be applied both for wrapper and button - const disabledClass = classnames({ [classes.disabled]: this.shouldDisableDate(day) }); + const disabled = this.shouldDisableDate(day); + const disabledClass = classnames({ [classes.disabled]: disabled }); const dayInCurrentMonth = utils.getMonthNumber(day) === currentMonthNumber; const isHidden = !dayInCurrentMonth; @@ -125,6 +126,7 @@ export class Calendar extends Component { key={day.toString()} day={day} dayInCurrentMonth={dayInCurrentMonth} + disabled={disabled} onSelect={this.onDateSelect} > {dayComponent} diff --git a/lib/src/DatePicker/DayWrapper.jsx b/lib/src/DatePicker/DayWrapper.jsx index 6ca74950f585b3..5cb3693decb5c6 100644 --- a/lib/src/DatePicker/DayWrapper.jsx +++ b/lib/src/DatePicker/DayWrapper.jsx @@ -5,12 +5,14 @@ class DayWrapper extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, onSelect: PropTypes.func.isRequired, - dayInCurrentMonth: PropTypes.bool, day: PropTypes.any.isRequired, + dayInCurrentMonth: PropTypes.bool, + disabled: PropTypes.bool, } static defaultProps = { dayInCurrentMonth: true, + disabled: false, } handleClick = () => { @@ -19,12 +21,12 @@ class DayWrapper extends PureComponent { render() { const { - children, day, dayInCurrentMonth, onSelect, ...other + children, day, dayInCurrentMonth, disabled, onSelect, ...other } = this.props; return (
From f1a5179cbda781d439466bc473fce7e06d1b91d9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 30 Dec 2017 22:41:29 +0100 Subject: [PATCH 0293/1801] add Day component --- lib/src/DatePicker/Calendar.jsx | 51 +++++----------------- lib/src/DatePicker/Day.jsx | 76 +++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+), 40 deletions(-) create mode 100644 lib/src/DatePicker/Day.jsx diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 34ef15683c321e..f8c47ed2145e75 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -1,14 +1,14 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import { withStyles, IconButton } from 'material-ui'; +import { withStyles } from 'material-ui'; import Moment from 'moment'; import { extendMoment } from 'moment-range'; -import classnames from 'classnames'; import CalendarHeader from './CalendarHeader'; import DomainPropTypes from '../constants/prop-types'; import * as defaultUtils from '../utils/utils'; import DayWrapper from './DayWrapper'; +import Day from './Day'; const moment = extendMoment(Moment); @@ -91,7 +91,7 @@ export class Calendar extends Component { renderDays = (week) => { const { - classes, date, renderDay, utils, + date, renderDay, utils, } = this.props; const selectedDate = date.clone().startOf('day'); @@ -99,22 +99,18 @@ export class Calendar extends Component { const now = moment(); return week.map((day) => { - // should be applied both for wrapper and button const disabled = this.shouldDisableDate(day); - const disabledClass = classnames({ [classes.disabled]: disabled }); const dayInCurrentMonth = utils.getMonthNumber(day) === currentMonthNumber; - const isHidden = !dayInCurrentMonth; - - const dayClass = classnames(classes.day, disabledClass, { - [classes.hidden]: isHidden, - [classes.current]: day.isSame(now, 'day'), - [classes.selected]: selectedDate.isSame(day, 'day'), - }); let dayComponent = ( - - {utils.getDayText(day)} - + ); if (renderDay) { @@ -162,31 +158,6 @@ const styles = theme => ({ height: 36 * 6, marginTop: theme.spacing.unit * 1.5, }, - hidden: { - opacity: 0, - pointerEvents: 'none', - }, - day: { - width: 36, - height: 36, - fontSize: theme.typography.caption.fontSize, - margin: '0 2px', - color: theme.palette.text.primary, - fontWeight: theme.typography.fontWeightMedium, - }, - current: { - color: theme.palette.primary[500], - fontWeight: 600, - }, - selected: { - color: theme.palette.common.white, - backgroundColor: theme.palette.primary[500], - fontWeight: theme.typography.fontWeightMedium, - }, - disabled: { - pointerEvents: 'none', - color: theme.palette.text.hint, - }, week: { display: 'flex', justifyContent: 'center', diff --git a/lib/src/DatePicker/Day.jsx b/lib/src/DatePicker/Day.jsx new file mode 100644 index 00000000000000..497e665502e1ad --- /dev/null +++ b/lib/src/DatePicker/Day.jsx @@ -0,0 +1,76 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; + +import { IconButton, withStyles } from 'material-ui'; +import classnames from 'classnames'; + +class Day extends PureComponent { + static propTypes = { + children: PropTypes.node.isRequired, + classes: PropTypes.object.isRequired, + disabled: PropTypes.bool, + hidden: PropTypes.bool, + current: PropTypes.bool, + selected: PropTypes.bool, + } + + static defaultProps = { + disabled: false, + hidden: false, + current: false, + selected: false, + } + + render() { + const { + children, classes, disabled, hidden, current, selected, ...other + } = this.props; + + const className = classnames(classes.day, { + [classes.hidden]: hidden, + [classes.current]: current, + [classes.selected]: selected, + [classes.disabled]: disabled, + }); + + return ( + + {children} + + ); + } +} + +const styles = theme => ({ + day: { + width: 36, + height: 36, + fontSize: theme.typography.caption.fontSize, + margin: '0 2px', + color: theme.palette.text.primary, + fontWeight: theme.typography.fontWeightMedium, + }, + hidden: { + opacity: 0, + pointerEvents: 'none', + }, + current: { + color: theme.palette.primary[500], + fontWeight: 600, + }, + selected: { + color: theme.palette.common.white, + backgroundColor: theme.palette.primary[500], + fontWeight: theme.typography.fontWeightMedium, + }, + disabled: { + pointerEvents: 'none', + color: theme.palette.text.hint, + }, +}); + +export default withStyles(styles)(Day); From af5d97edb9d9d2627ec9ec49ae66f4581672ea22 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 31 Dec 2017 11:31:42 +0100 Subject: [PATCH 0294/1801] do not pass anonymous functions to HourView and MinutesView --- lib/src/TimePicker/TimePicker.jsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 3fec6f05a6cbc2..33bb36351c6902 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -33,11 +33,11 @@ export class TimePicker extends Component { setMeridiemMode = mode => () => { this.setState( { meridiemMode: mode }, - () => this.handleChange(false)(this.props.date, false), + () => this.handleChange(this.props.date, false, false), ); } - handleChange = openMinutes => (time, isFinish) => { + handleChange(time, isFinish, openMinutes) { const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm); if (isFinish) { @@ -52,6 +52,15 @@ export class TimePicker extends Component { this.props.onChange(withMeridiem, false); } + + handleHourChange = (time, isFinish) => { + this.handleChange(time, isFinish, true); + } + + handleMinutesChange = (time, isFinish) => { + this.handleChange(time, isFinish, false); + } + openMinutesView = () => { this.setState({ isHourViewShown: false }); } @@ -128,14 +137,14 @@ export class TimePicker extends Component { : } From 4b54acfed892add8cc2f7555846dd9d5aebe6fbf Mon Sep 17 00:00:00 2001 From: Andrew Date: Sun, 31 Dec 2017 11:32:11 +0100 Subject: [PATCH 0295/1801] do not pass anonymous functions in DateTimePicker --- lib/src/DateTimePicker/DateTimePicker.jsx | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 1b61c03ce7346f..dfefef36d18185 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -60,7 +60,7 @@ export class DateTimePicker extends Component { meridiemMode: this.props.date.hours() >= 12 ? 'pm' : 'am', } - onChange = nextView => (time, isFinish = true) => { + onChange = (time, isFinish = true, nextView) => { this.handleChange(time); if (isFinish && this.props.autoSubmit) { @@ -84,6 +84,18 @@ export class DateTimePicker extends Component { this.props.onChange(withMeridiem, isFinish); } + handleYearChange = (date, isFinish) => { + this.onChange(date, isFinish, viewType.DATE); + } + + handleDayChange = (date, isFinish) => { + this.onChange(date, isFinish, viewType.HOUR); + } + + handleHourChange = (time, isFinish) => { + this.onChange(time, isFinish, viewType.MINUTES); + } + render() { const { openView, meridiemMode } = this.state; const { @@ -131,7 +143,7 @@ export class DateTimePicker extends Component { date={date} minDate={minDate} maxDate={maxDate} - onChange={this.onChange(viewType.DATE)} + onChange={this.handleYearChange} disablePast={disablePast} disableFuture={disableFuture} utils={utils} @@ -144,7 +156,7 @@ export class DateTimePicker extends Component { date={date} minDate={minDate} maxDate={maxDate} - onChange={this.onChange(viewType.HOUR)} + onChange={this.handleDayChange} disablePast={disablePast} disableFuture={disableFuture} leftArrowIcon={leftArrowIcon} @@ -159,7 +171,7 @@ export class DateTimePicker extends Component { From cab18c7811e003dd7a8b237034da7d4c5733acc2 Mon Sep 17 00:00:00 2001 From: Ali Taheri Moghaddar Date: Mon, 1 Jan 2018 09:08:38 +0330 Subject: [PATCH 0296/1801] Update persian pickers demo --- docs/src/Demo/Examples/PersianPickers.jsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/docs/src/Demo/Examples/PersianPickers.jsx b/docs/src/Demo/Examples/PersianPickers.jsx index 50647641409437..00dc11a03e6a0a 100644 --- a/docs/src/Demo/Examples/PersianPickers.jsx +++ b/docs/src/Demo/Examples/PersianPickers.jsx @@ -7,6 +7,13 @@ import jalaliUtils from 'material-ui-pickers-jalali-utils'; jMoment.loadPersian({ dialect: 'persian-modern', usePersianDigits: true }); +function format(date, formatting) { + if (date === null) { + return ''; + } + return jMoment(date).locale('fa').format(formatting); +} + export default class BasicUsage extends Component { state = { selectedDate: moment(), @@ -29,7 +36,8 @@ export default class BasicUsage extends Component { date === null ? '' : jMoment(date).format('jYYYY/jMM/jDD')} + clearLabel="پاک کردن" + labelFunc={date => format(date, 'jYYYY/jMM/jDD')} value={selectedDate} onChange={this.handleDateChange} animateYearScrolling={false} @@ -45,7 +53,8 @@ export default class BasicUsage extends Component { date === null ? '' : jMoment(date).format('hh:mm A')} + clearLabel="پاک کردن" + labelFunc={date => format(date, 'hh:mm A')} value={selectedDate} onChange={this.handleDateChange} utils={jalaliUtils} @@ -60,7 +69,8 @@ export default class BasicUsage extends Component { date === null ? '' : jMoment(date).format('jYYYY/jMM/jDD hh:mm A')} + clearable={false} + labelFunc={date => format(date, 'jYYYY/jMM/jDD hh:mm A')} value={selectedDate} onChange={this.handleDateChange} utils={jalaliUtils} From 63845dedc762e37151d17c86d5f751f9f8858c51 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 13:05:29 +0100 Subject: [PATCH 0297/1801] use findDOMNode for scrolling to current year --- lib/src/DatePicker/YearSelection.jsx | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index 79dcaa3bb63e95..b4d825199a6230 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -1,5 +1,6 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; +import { findDOMNode } from 'react-dom'; import Moment from 'moment'; import { extendMoment } from 'moment-range'; import { withStyles } from 'material-ui'; @@ -38,9 +39,13 @@ export class YearSelection extends PureComponent { onChange(newDate); } + getSelectedYearRef = (ref) => { + this.selectedYearRef = ref; + } + scrollToCurrentYear = () => { - const { animateYearScrolling, classes } = this.props; - const currentYearElement = document.getElementsByClassName(classes.selected)[0]; + const { animateYearScrolling } = this.props; + const currentYearElement = findDOMNode(this.selectedYearRef); if (currentYearElement) { currentYearElement.scrollIntoView({ @@ -49,6 +54,8 @@ export class YearSelection extends PureComponent { } } + selectedYearRef = undefined; + render() { const { minDate, maxDate, date, classes, disablePast, disableFuture, utils, @@ -61,10 +68,11 @@ export class YearSelection extends PureComponent { Array.from(moment.range(minDate, maxDate).by('year')) .map((year) => { const yearNumber = utils.getYear(year); + const selected = yearNumber === currentYear; return ( {utils.getYearText(year)} From 3815e961a414607275847692c420999e6a30ecfd Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 13:05:59 +0100 Subject: [PATCH 0298/1801] turn off no-find-dom-node eslint rule --- .eslintrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc b/.eslintrc index 1cb55e195a4787..514a8137e00ca5 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,6 +4,7 @@ "rules": { "react/forbid-prop-types": 0, "react/jsx-filename-extension": 0, + "react/no-find-dom-node": 0, "no-param-reassign": 0, "import/no-named-as-default": 0, "import/no-extraneous-dependencies": 0 From 5245da50be8a9138e5e15c5e8feab4a7cc478512 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 13:19:20 +0100 Subject: [PATCH 0299/1801] add Day.d.ts --- lib/src/DatePicker/Day.d.ts | 13 +++++++++++++ lib/src/DatePicker/Day.jsx | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 lib/src/DatePicker/Day.d.ts diff --git a/lib/src/DatePicker/Day.d.ts b/lib/src/DatePicker/Day.d.ts new file mode 100644 index 00000000000000..04670ad06fdb4c --- /dev/null +++ b/lib/src/DatePicker/Day.d.ts @@ -0,0 +1,13 @@ +import { ComponentClass, ReactNode } from 'react'; + +export interface DayProps { + children: ReactNode; + current?: boolean; + disabled?: boolean; + hidden?: boolean; + selected?: boolean; +} + +declare const Day: ComponentClass; + +export default Day; diff --git a/lib/src/DatePicker/Day.jsx b/lib/src/DatePicker/Day.jsx index 497e665502e1ad..58a0289773e72f 100644 --- a/lib/src/DatePicker/Day.jsx +++ b/lib/src/DatePicker/Day.jsx @@ -8,9 +8,9 @@ class Day extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, classes: PropTypes.object.isRequired, + current: PropTypes.bool, disabled: PropTypes.bool, hidden: PropTypes.bool, - current: PropTypes.bool, selected: PropTypes.bool, } From 3b3f754f5a94115dacf2dc0758545142ac34917a Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 13:22:08 +0100 Subject: [PATCH 0300/1801] rename DayWrapper day prop to value --- lib/src/DatePicker/Calendar.jsx | 2 +- lib/src/DatePicker/DayWrapper.jsx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index f8c47ed2145e75..5de687471bff25 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -120,7 +120,7 @@ export class Calendar extends Component { return ( { - this.props.onSelect(this.props.day); + this.props.onSelect(this.props.value); } render() { const { - children, day, dayInCurrentMonth, disabled, onSelect, ...other + children, value, dayInCurrentMonth, disabled, onSelect, ...other } = this.props; return (
Date: Mon, 1 Jan 2018 13:24:07 +0100 Subject: [PATCH 0301/1801] rename Year year prop to value --- lib/src/DatePicker/Year.d.ts | 4 ++-- lib/src/DatePicker/Year.jsx | 6 +++--- lib/src/DatePicker/YearSelection.jsx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/src/DatePicker/Year.d.ts b/lib/src/DatePicker/Year.d.ts index 538df90d728b3f..3a93cc8a6252f2 100644 --- a/lib/src/DatePicker/Year.d.ts +++ b/lib/src/DatePicker/Year.d.ts @@ -3,9 +3,9 @@ import { ComponentClass, ReactNode } from 'react'; export interface YearProps { children: ReactNode; disabled?: boolean; - onSelect: (year: number) => void; + onSelect: (value: any) => void; selected?: boolean; - year: number; + value: any; } declare const Year: ComponentClass; diff --git a/lib/src/DatePicker/Year.jsx b/lib/src/DatePicker/Year.jsx index 6482e261f924eb..d4b28627efae20 100644 --- a/lib/src/DatePicker/Year.jsx +++ b/lib/src/DatePicker/Year.jsx @@ -11,7 +11,7 @@ class Year extends PureComponent { disabled: PropTypes.bool, onSelect: PropTypes.func.isRequired, selected: PropTypes.bool, - year: PropTypes.number.isRequired, + value: PropTypes.any.isRequired, } static defaultProps = { @@ -20,12 +20,12 @@ class Year extends PureComponent { } handleClick = () => { - this.props.onSelect(this.props.year); + this.props.onSelect(this.props.value); } render() { const { - classes, selected, disabled, year, children, ...other + classes, selected, disabled, value, children, ...other } = this.props; return ( diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index b4d825199a6230..055a7491c09034 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -77,7 +77,7 @@ export class YearSelection extends PureComponent { (disablePast && year.isBefore(moment(), 'year')) || (disableFuture && year.isAfter(moment(), 'year')) )} - year={yearNumber} + value={yearNumber} key={utils.getYearText(year)} onSelect={this.onYearSelect} ref={selected From 8c533953d3145008d05a5d56a2573cb4466ef580 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 13:26:59 +0100 Subject: [PATCH 0302/1801] add DayWrapper.d.ts --- lib/src/DatePicker/DayWrapper.d.ts | 13 +++++++++++++ lib/src/DatePicker/DayWrapper.jsx | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 lib/src/DatePicker/DayWrapper.d.ts diff --git a/lib/src/DatePicker/DayWrapper.d.ts b/lib/src/DatePicker/DayWrapper.d.ts new file mode 100644 index 00000000000000..1c951a07450a39 --- /dev/null +++ b/lib/src/DatePicker/DayWrapper.d.ts @@ -0,0 +1,13 @@ +import { ComponentClass, ReactNode } from 'react'; + +export interface DayWrapperProps { + children: ReactNode; + dayInCurrentMonth?: boolean, + disabled?: boolean; + onSelect: (value: any) => void; + value: any; +} + +declare const DayWrapper: ComponentClass; + +export default DayWrapper; diff --git a/lib/src/DatePicker/DayWrapper.jsx b/lib/src/DatePicker/DayWrapper.jsx index 7f69b5795883fd..6e40ef3086bcf0 100644 --- a/lib/src/DatePicker/DayWrapper.jsx +++ b/lib/src/DatePicker/DayWrapper.jsx @@ -4,10 +4,10 @@ import PropTypes from 'prop-types'; class DayWrapper extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, - onSelect: PropTypes.func.isRequired, - value: PropTypes.any.isRequired, dayInCurrentMonth: PropTypes.bool, disabled: PropTypes.bool, + onSelect: PropTypes.func.isRequired, + value: PropTypes.any.isRequired, } static defaultProps = { From e317a186ad8b2ada2de1a793af545f56cde1d348 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 13:29:29 +0100 Subject: [PATCH 0303/1801] Update index.d.ts --- lib/src/index.d.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/index.d.ts b/lib/src/index.d.ts index 6bb9daf1d0ed65..50298e750961cd 100644 --- a/lib/src/index.d.ts +++ b/lib/src/index.d.ts @@ -1,5 +1,5 @@ export { Utils } from './utils/utils'; -export { default as DatePicker } from './DatePicker/DatePickerWrapper.jsx'; -export { default as TimePicker } from './TimePicker/TimePickerWrapper.jsx'; -export { default as DateTimePicker } from './DateTimePicker/DateTimePickerWrapper.jsx'; +export { default as DatePicker } from './DatePicker/DatePickerWrapper'; +export { default as TimePicker } from './TimePicker/TimePickerWrapper'; +export { default as DateTimePicker } from './DateTimePicker/DateTimePickerWrapper'; From 24b36d2fc867ad1aeebb15bdff76e9649e74b968 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 1 Jan 2018 19:41:55 +0100 Subject: [PATCH 0304/1801] fix array-like margin in mui-beta.22 jss-expand plugin was removed, so previous syntax doesn't work anymore --- lib/src/TimePicker/Clock.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 5960b85e6e13f9..c77e7b2aa6a66d 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -121,7 +121,7 @@ const styles = theme => ({ display: 'flex', justifyContent: 'center', alignItems: 'flex-end', - margin: [theme.spacing.unit * 4, 0, theme.spacing.unit], + margin: [[theme.spacing.unit * 4, 0, theme.spacing.unit]], }, clock: { backgroundColor: 'rgba(0,0,0,.07)', From 06ee0189d149a267aa40d3d538142cf716073775 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 2 Jan 2018 12:30:06 +0200 Subject: [PATCH 0305/1801] Make clearable by default, align clear button left --- README.md | 6 +- docs/package-lock.json | 1705 ++++++++++++++++++++++++- docs/package.json | 16 +- docs/src/Demo/Examples/BasicUsage.jsx | 1 + lib/package-lock.json | 962 +++++++++++++- lib/package.json | 4 +- lib/src/_shared/DateTextField.jsx | 2 +- lib/src/_shared/ModalDialog.jsx | 14 +- lib/src/wrappers/ModalWrapper.jsx | 2 +- 9 files changed, 2632 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index c613be996c65ce..13e07cef2c8ba0 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,7 @@ shouldDisableDate | (date: Moment) => boolean | () => false | Allow to disable c keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node, string | 'event' | Keyboard adornment icon mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask -clearable | boolean | true | If `false`, clear button is not displayed +clearable | boolean | false | If `true`, clear button will be displayed #### Timepicker Prop | Type | Default | Definition @@ -130,7 +130,7 @@ ampm | boolean | true | 12h/24h view for hour selection clock keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node, string | 'event' | Keyboard adornment icon mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask -clearable | boolean | true | If `false`, clear button is not displayed +clearable | boolean | false | If `true`, clear button will be displayed #### DateTimepicker Prop | Type | Default | Definition @@ -165,7 +165,7 @@ keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node, string | 'event' | Keyboard adornment icon invalidDateMessage | string | 'Invalid Date Format' | Message, appearing when date cannot be parsed mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask -clearable | boolean | true | If `false`, clear button is not displayed +clearable | boolean | false | If `true`, clear button will be displayed ### l10n For l10n texts we're currently relying on moment which is stateful. To change the locale you have to import your langauge specific files an change the locale manually via `moment.locale(language)`. diff --git a/docs/package-lock.json b/docs/package-lock.json index bc6b1b30f751de..956c66d1766ba3 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1582,6 +1582,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", + "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -1977,9 +1978,9 @@ } }, "cross-env": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.1.tgz", - "integrity": "sha512-Wtvr+z0Z06KO1JxjfRRsPC+df7biIOiuV4iZ73cThjFGkH+ULBZq1MkBdywEcJC4cTDbO6c8IjgRjfswx3YTBA==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.3.tgz", + "integrity": "sha512-UOokgwvDzCT0mqRSLEkJzUhYXB1vK3E5UgDrD41QiXsm9UetcW2rCGHYz/O3p873lMJ1VZbFCF9Izkwh7nYR5A==", "dev": true, "requires": { "cross-spawn": "5.1.0", @@ -2370,9 +2371,9 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegate": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.1.3.tgz", - "integrity": "sha1-moJRp3fXAl+qVXN7w7BxdCEnqf0=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==", "optional": true }, "depd": { @@ -2789,9 +2790,9 @@ } }, "eslint": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.12.1.tgz", - "integrity": "sha512-28hOYej+NZ/R5H1yMvyKa1+bPlu+fnsIAQffK6hxXgvmXnImos2bA5XfCn5dYv2k2mrKj+/U/Z4L5ICWxC7TQw==", + "version": "4.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.14.0.tgz", + "integrity": "sha512-Ul6CSGRjKscEyg0X/EeNs7o2XdnbTEOD1OM8cTjmx85RPcBJQrEhZLevhuJZNAE/vS2iVl5Uhgiqf3h5uLMCJQ==", "dev": true, "requires": { "ajv": "5.5.0", @@ -2802,14 +2803,14 @@ "debug": "3.1.0", "doctrine": "2.0.2", "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", "espree": "3.5.2", "esquery": "1.0.0", - "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "11.0.1", + "globals": "11.1.0", "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "3.3.0", @@ -2866,9 +2867,9 @@ "dev": true }, "globals": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.0.1.tgz", - "integrity": "sha1-Eqh7sBDlFUOWrMU14eQ/x1Ow5eg=", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", + "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", "dev": true }, "js-yaml": { @@ -3052,9 +3053,9 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.2.tgz", - "integrity": "sha1-ZZJ3p1iwNsMFp+ShMFfDAc075z8=", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.0.3.tgz", + "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", "dev": true, "requires": { "aria-query": "0.7.0", @@ -3063,7 +3064,18 @@ "axobject-query": "0.1.0", "damerau-levenshtein": "1.0.4", "emoji-regex": "6.5.1", - "jsx-ast-utils": "1.4.1" + "jsx-ast-utils": "2.0.1" + }, + "dependencies": { + "jsx-ast-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", + "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", + "dev": true, + "requires": { + "array-includes": "3.0.3" + } + } } }, "eslint-plugin-react": { @@ -3104,6 +3116,12 @@ "estraverse": "4.2.0" } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "espree": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", @@ -3550,11 +3568,800 @@ "universalify": "0.1.1" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -3673,7 +4480,7 @@ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", "optional": true, "requires": { - "delegate": "3.1.3" + "delegate": "3.2.0" } }, "got": { @@ -5038,12 +5845,12 @@ } }, "jss": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/jss/-/jss-9.3.3.tgz", - "integrity": "sha512-hr/x3wHZrk5k6GEMVvxvdajYZ8cx2FeII+dRfsbehcNT9bV5hctXATS45ckDjVGJzBqaKtxhRh+FE/qo05Q1eg==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-9.4.0.tgz", + "integrity": "sha512-ckJpElL5CimehboeLDQoHeY7mlxn0KPnPn2EZVbn6pomhfbTXiQJ6fAJXSp9rUM2hPtE0PG8Swzdy9vhB2v82w==", "requires": { "is-in-browser": "1.1.3", - "symbol-observable": "1.0.4", + "symbol-observable": "1.1.0", "warning": "3.0.0" } }, @@ -5439,9 +6246,9 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "material-ui": { - "version": "1.0.0-beta.24", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.24.tgz", - "integrity": "sha512-tPKQeR9RXXSJFj/QIhU5+mAnnZm5Gk6WcTufbVBDd0946wpfMJA2NY2J+M/SK9NXe+BTTVUCnWY92UCw5YA9tA==", + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.26.tgz", + "integrity": "sha512-gfhOimlpwRHCv5taoc96sjcEafPdmKgidEBxnxGEho3xtyFp5cDLF8TAhAiPYn58zaDNAhn0Jkk2Ny3P8CH8Nw==", "requires": { "babel-runtime": "6.26.0", "brcast": "3.0.1", @@ -5449,14 +6256,14 @@ "deepmerge": "2.0.1", "dom-helpers": "3.2.1", "hoist-non-react-statics": "2.3.1", - "jss": "9.3.3", + "jss": "9.4.0", "jss-preset-default": "4.0.1", "keycode": "2.1.9", "lodash": "4.17.4", "normalize-scroll-left": "0.1.2", "prop-types": "15.6.0", "react-event-listener": "0.5.1", - "react-jss": "8.1.0", + "react-jss": "8.2.0", "react-popper": "0.7.4", "react-scrollbar-size": "2.0.2", "react-transition-group": "2.2.1", @@ -5470,7 +6277,7 @@ "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.2.0.tgz", "integrity": "sha512-nWyi6AnvQx7Ev7gc2aICbF1btYDb5265xJrJj9E58rcl7XxaYPkC6MhRfFBpfrUIqXbM4hnxFbJyEc1ycKujjA==", "requires": { - "moment": "2.19.3", + "moment": "2.20.1", "moment-jalaali": "0.7.2", "moment-range": "3.0.3" } @@ -5658,9 +6465,9 @@ } }, "moment": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.3.tgz", - "integrity": "sha1-vbmdJw1tf9p4zA+6zoVeJ/59pp8=" + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", + "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" }, "moment-jalaali": { "version": "0.7.2", @@ -5668,7 +6475,7 @@ "integrity": "sha512-CO9FG+vuuhzcyboqmocubwmVj0d0Z1QvnU1uNUzuO9ZyyMT7oJAAj1oGC1JvN9PA5GcAhDcrEQkGWim1lfRYYQ==", "requires": { "jalaali-js": "1.1.0", - "moment": "2.19.3", + "moment": "2.20.1", "rimraf": "2.6.2" } }, @@ -5704,6 +6511,12 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "optional": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7431,9 +8244,9 @@ } }, "prismjs": { - "version": "1.8.4", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.8.4.tgz", - "integrity": "sha1-VzzHoUwsBlZuHsog2BP1rlXbgNI=", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.9.0.tgz", + "integrity": "sha1-+j4tntw8OIfB8fMJXUHx+bQgDw8=", "requires": { "clipboard": "1.7.1" } @@ -7720,15 +8533,15 @@ } }, "react-jss": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.1.0.tgz", - "integrity": "sha512-AQNM9/desndTeQuvtGp2kkGT2Fy0FeiI1+jkU0ND6vGHbwPKaEnX+RqCkjzgoPdpjmfTa70y8RMp3rao9w25Eg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.2.0.tgz", + "integrity": "sha512-GaD9lPMFeNaLGbgrGNVKn8MwqxEULfi2+nuU0chYALK4wivhVJ2qya7UN6UNXzqxb+rjR1rOqdUQejHKCTQRTg==", "requires": { "hoist-non-react-statics": "2.3.1", - "jss": "9.3.3", + "jss": "9.4.0", "jss-preset-default": "4.0.1", "prop-types": "15.6.0", - "theming": "1.2.1" + "theming": "1.3.0" } }, "react-markdown": { @@ -7776,6 +8589,7 @@ "extract-text-webpack-plugin": "3.0.2", "file-loader": "1.1.5", "fs-extra": "3.0.1", + "fsevents": "1.1.2", "html-webpack-plugin": "2.29.0", "jest": "20.0.4", "object-assign": "4.1.1", @@ -7902,6 +8716,791 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==" }, + "fsevents": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", + "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.36" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "optional": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "optional": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.36", + "bundled": true, + "optional": true, + "requires": { + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "optional": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + } + } + }, "js-yaml": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", @@ -8032,7 +9631,7 @@ "change-emitter": "0.1.6", "fbjs": "0.8.16", "hoist-non-react-statics": "2.3.1", - "symbol-observable": "1.0.4" + "symbol-observable": "1.1.0" } }, "recursive-readdir": { @@ -8930,9 +10529,9 @@ } }, "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", + "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==" }, "symbol-tree": { "version": "3.2.2", @@ -8987,9 +10586,9 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "theming": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/theming/-/theming-1.2.1.tgz", - "integrity": "sha512-cGFWBqPP93I/pVucq6OAYQFoYyvueEOUmK5dxdlFsgx/fzn8In0sbeLEgxvEHk1ktvHGeX4uZFP8QJmXyIzw/A==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", + "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", "requires": { "brcast": "3.0.1", "is-function": "1.0.1", diff --git a/docs/package.json b/docs/package.json index 5aa11f3782407c..0ec29aebc9c321 100644 --- a/docs/package.json +++ b/docs/package.json @@ -5,26 +5,26 @@ "dependencies": { "classnames": "^2.2.5", "eslint-config-react-app": "^2.0.1", - "jss": "^9.3.3", + "jss": "^9.4.0", "jss-preset-default": "^4.0.1", "jss-rtl": "^0.2.1", - "material-ui": "^1.0.0-beta.24", + "material-ui": "^1.0.0-beta.26", "material-ui-pickers-jalali-utils": "^0.2.0", - "moment": "^2.19.3", + "moment": "^2.20.1", "moment-jalaali": "^0.7.2", - "prismjs": "^1.8.4", + "prismjs": "^1.9.0", "react": "^16.2.0", "react-dom": "^16.2.0", - "react-jss": "^8.1.0", + "react-jss": "^8.2.0", "react-markdown": "^2.5.1", "react-scripts": "^1.0.17" }, "devDependencies": { - "cross-env": "^5.1.0", - "eslint": "^4.12.1", + "cross-env": "^5.1.3", + "eslint": "^4.14.0", "eslint-config-airbnb": "^16.0.0", "eslint-plugin-import": "^2.8.0", - "eslint-plugin-jsx-a11y": "^6.0.2", + "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-react": "^7.5.1", "raw-loader": "^0.5.1" }, diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx index eb4eeb11037fcf..bd20c63dd56a05 100644 --- a/docs/src/Demo/Examples/BasicUsage.jsx +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -24,6 +24,7 @@ export default class BasicUsage extends Component { - - {clearable && + + + { clearable &&
- + Here you are! diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx index 91abc1cd75a45a..90416bad7d93fd 100644 --- a/docs/src/Demo/Examples/BasicUsage.jsx +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -18,7 +18,7 @@ export default class BasicUsage extends Component { return (
- + Date picker @@ -33,7 +33,7 @@ export default class BasicUsage extends Component {
- + Time picker diff --git a/docs/src/Demo/Examples/CustomElements.jsx b/docs/src/Demo/Examples/CustomElements.jsx index 505849dde4f976..cdc4e01a6b410f 100644 --- a/docs/src/Demo/Examples/CustomElements.jsx +++ b/docs/src/Demo/Examples/CustomElements.jsx @@ -88,7 +88,7 @@ class CustomElements extends Component { return (
- + Week picker @@ -101,7 +101,7 @@ class CustomElements extends Component {
- + DateTime picker diff --git a/docs/src/Demo/Examples/DateTimePickers.jsx b/docs/src/Demo/Examples/DateTimePickers.jsx index f47a61d37ecdbc..5ad9db726d9585 100644 --- a/docs/src/Demo/Examples/DateTimePickers.jsx +++ b/docs/src/Demo/Examples/DateTimePickers.jsx @@ -18,7 +18,7 @@ export default class BasicUsage extends Component { return (
- + Default @@ -32,7 +32,7 @@ export default class BasicUsage extends Component {
- + Custom diff --git a/docs/src/Demo/Examples/PersianPickers.jsx b/docs/src/Demo/Examples/PersianPickers.jsx index 3caa7b3cc1ac8b..49659cfc14c831 100644 --- a/docs/src/Demo/Examples/PersianPickers.jsx +++ b/docs/src/Demo/Examples/PersianPickers.jsx @@ -29,7 +29,7 @@ export default class BasicUsage extends Component { return (
- + Date picker @@ -47,7 +47,7 @@ export default class BasicUsage extends Component {
- + Time picker @@ -64,7 +64,7 @@ export default class BasicUsage extends Component {
- + DateTime picker diff --git a/docs/src/Demo/components/SourcablePanel.jsx b/docs/src/Demo/components/SourcablePanel.jsx index 4dcef36181eca7..aa334fe4635ff2 100644 --- a/docs/src/Demo/components/SourcablePanel.jsx +++ b/docs/src/Demo/components/SourcablePanel.jsx @@ -41,7 +41,7 @@ class SourcablePanel extends PureComponent { return [ { title } diff --git a/lib/package-lock.json b/lib/package-lock.json index 23b4fd418377e5..24a6321824647d 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -179,9 +179,9 @@ "dev": true }, "@types/react": { - "version": "16.0.34", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.34.tgz", - "integrity": "sha512-Ee66fX2qMsDnDq7sPnDtq1bGoo479j6Fo1BlSnne+L5rp6ndzBUgz72+MRNuN56zg9uuteRCkJAMdDJEX2Uqig==", + "version": "16.0.36", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.36.tgz", + "integrity": "sha512-q33EVfy4i+fwhM31PL6/c6Job/DyjOiExHuR163bJK3rEMRf2ENkBrN4thQH5cwA+TiiN1vWDZU6D5H1AvQTlA==", "dev": true }, "@types/react-transition-group": { @@ -190,7 +190,7 @@ "integrity": "sha512-mVhRv+d0MIoLWl6hEFA7Nnd/obW2RQpZViTAKhM37mltuTDWCdoj8xAZv94ntB8wgAc6DDiDCXxFXPgClGnsfQ==", "dev": true, "requires": { - "@types/react": "16.0.34" + "@types/react": "16.0.36" } }, "abab": { @@ -2029,12 +2029,6 @@ "is-obj": "1.0.1" } }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", - "dev": true - }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -2392,27 +2386,27 @@ } }, "eslint": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.13.1.tgz", - "integrity": "sha512-UCJVV50RtLHYzBp1DZ8CMPtRSg4iVZvjgO9IJHIKyWU/AnJVjtdRikoUPLB29n5pzMB7TnsLQWf0V6VUJfoPfw==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.17.0.tgz", + "integrity": "sha512-AyxBUCANU/o/xC0ijGMKavo5Ls3oK6xykiOITlMdjFjrKOsqLrA7Nf5cnrDgcKrHzBirclAZt63XO7YZlVUPwA==", "dev": true, "requires": { "ajv": "5.5.2", "babel-code-frame": "6.26.0", - "chalk": "2.3.0", + "chalk": "2.3.1", "concat-stream": "1.6.0", "cross-spawn": "5.1.0", "debug": "3.1.0", - "doctrine": "2.0.2", + "doctrine": "2.1.0", "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", "espree": "3.5.2", "esquery": "1.0.0", - "estraverse": "4.2.0", "esutils": "2.0.2", "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "11.1.0", + "globals": "11.3.0", "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "3.3.0", @@ -2452,14 +2446,14 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "debug": { @@ -2471,10 +2465,25 @@ "ms": "2.0.0" } }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, "globals": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.1.0.tgz", - "integrity": "sha512-uEuWt9mqTlPDwSqi+sHjD4nWU/1N+q0fiWI9T1mZpD2UENqX20CFD5T/ziLZvztPaBKl7ZylUi1q6Qfm7E2CiQ==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", + "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "strip-ansi": { @@ -2487,12 +2496,12 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -2656,6 +2665,12 @@ "estraverse": "4.2.0" } }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, "espree": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz", @@ -4206,6 +4221,12 @@ "sshpk": "1.13.1" } }, + "hyphenate-style-name": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz", + "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=", + "dev": true + }, "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", @@ -5598,9 +5619,9 @@ } }, "jss": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-9.6.0.tgz", - "integrity": "sha512-fnj0UV//VdgxwH0h9pOZljAwFlJMZTAeaDD6u9G0VFMSDwTgdRYxV7+/RZohZYMEVITkgXedHiQHW5ETRVAXkA==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.0.tgz", + "integrity": "sha512-1E9pn6k1Qd1BxKz845supoedukHuwMeBiqybCQV9l60v8JE7owkZSvVJfjw3wm50SjG1C/ABPtQ8PrGfhfrzLw==", "dev": true, "requires": { "is-in-browser": "1.1.3", @@ -5609,10 +5630,13 @@ } }, "jss-camel-case": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.0.0.tgz", - "integrity": "sha512-XAYa7JpGkLdlLgEfuzSQSVONRzSVvv4Tvyv5H8hLmJuHeFHTWwVrJrW1Cg/buED3izXKwTU2KBGpeXjIR5Eaew==", - "dev": true + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", + "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", + "dev": true, + "requires": { + "hyphenate-style-name": "1.0.2" + } }, "jss-compose": { "version": "5.0.0", @@ -5636,9 +5660,9 @@ "dev": true }, "jss-extend": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.1.0.tgz", - "integrity": "sha512-bSNwLDOZnMxABsUqvq2lwLJ/MMFs8ThligiLZBOUeyoZCoHqAbcTghvunk2QDVxiOhRTDS57VvhXVJZETW58Bw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", + "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "dev": true, "requires": { "warning": "3.0.0" @@ -5660,16 +5684,16 @@ } }, "jss-preset-default": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.1.0.tgz", - "integrity": "sha512-C6SyfDg99EFrt0bv0lsg2OEN3e72Fry9/hMPW2sO6MSVsx+vc/Og6TJJY3F2MY5Z/V2/wlARHVmCb3TYMr0zFA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.3.0.tgz", + "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==", "dev": true, "requires": { - "jss-camel-case": "6.0.0", + "jss-camel-case": "6.1.0", "jss-compose": "5.0.0", "jss-default-unit": "8.0.2", "jss-expand": "5.1.0", - "jss-extend": "6.1.0", + "jss-extend": "6.2.0", "jss-global": "3.0.0", "jss-nested": "6.0.1", "jss-props-sort": "6.0.0", @@ -6149,9 +6173,9 @@ "dev": true }, "material-ui": { - "version": "1.0.0-beta.31", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.31.tgz", - "integrity": "sha512-FTeNaBiTPhRAXMjtFyQfjKL5famLoFJK4jZS2qnkqvvbuO3LAtrdtB8L6nDzwbaU/NJmU5007gd+mjXABgBpiA==", + "version": "1.0.0-beta.33", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.33.tgz", + "integrity": "sha512-9p3a6d62AQtl1pn4eXgT97Pjd/iVmzSeEmv14ZLFho29eqhoETGYnULs5t19jprf+5aJSfVP+r+Dm4SJMa0uPg==", "dev": true, "requires": { "@types/jss": "9.3.0", @@ -6162,8 +6186,8 @@ "deepmerge": "2.0.1", "dom-helpers": "3.3.1", "hoist-non-react-statics": "2.3.1", - "jss": "9.6.0", - "jss-camel-case": "6.0.0", + "jss": "9.8.0", + "jss-camel-case": "6.1.0", "jss-default-unit": "8.0.2", "jss-global": "3.0.0", "jss-nested": "6.0.1", @@ -6174,9 +6198,9 @@ "normalize-scroll-left": "0.1.2", "prop-types": "15.6.0", "react-event-listener": "0.5.3", - "react-jss": "8.2.1", + "react-jss": "8.3.1", "react-popper": "0.7.5", - "react-scrollbar-size": "2.0.2", + "react-scrollbar-size": "2.1.0", "react-transition-group": "2.2.1", "recompose": "0.26.0", "scroll": "2.0.1", @@ -6487,13 +6511,13 @@ "dev": true }, "np": { - "version": "2.18.3", - "resolved": "https://registry.npmjs.org/np/-/np-2.18.3.tgz", - "integrity": "sha512-o5jaG54VTkHZiScRpGz/PaqWsJNpH/wVYsIpXT51xGKjLjNIMCTxO20cp2jHsg3dlmi7QxMHeDVokFdD2HPK9w==", + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/np/-/np-2.19.0.tgz", + "integrity": "sha512-sKbIAeoYkHvtiMdMba4sQ8C17WuYtuEgtePvnro/VkGXRn2oev/OzwqF/7VkBVcuy/nKOjzHFtAiS/drO+sWnw==", "dev": true, "requires": { "any-observable": "0.2.0", - "chalk": "2.3.0", + "chalk": "2.3.1", "del": "3.0.0", "execa": "0.8.0", "has-yarn": "1.0.0", @@ -6522,14 +6546,14 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "del": { @@ -6582,6 +6606,12 @@ } } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "load-json-file": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", @@ -6647,12 +6677,12 @@ "dev": true }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -7283,7 +7313,6 @@ "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "dev": true, "requires": { - "deep-extend": "0.4.2", "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" @@ -7334,14 +7363,14 @@ } }, "react-jss": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.2.1.tgz", - "integrity": "sha512-H1fm32xG8pi4LMHkXjqpLyFOvSDsravd0HI6Dtlb/iyma1tfi7qqqSH2bf0kKyTAJV5hvYL0ls0qvRJWKfDPcA==", + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.3.1.tgz", + "integrity": "sha512-reKzVvaEHtzlVxJOzoeMOCCrBVCMRlIqlVXHJqgde1Pz04HNrbMaHGYC2CugK6Yk8kkDFuO6p0fTPe66ktyPMA==", "dev": true, "requires": { "hoist-non-react-statics": "2.3.1", - "jss": "9.6.0", - "jss-preset-default": "4.1.0", + "jss": "9.8.0", + "jss-preset-default": "4.3.0", "prop-types": "15.6.0", "theming": "1.3.0" } @@ -7369,14 +7398,15 @@ } }, "react-scrollbar-size": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.0.2.tgz", - "integrity": "sha512-scpDs2PZFf9CJteBeDu7jkk7s+YX06Si4rQGVHsH6vjR/p7417q1Jv5SpOblLLesOgNrfWekwoHQG1g0/p3tvw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz", + "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", "dev": true, "requires": { "babel-runtime": "6.26.0", "prop-types": "15.6.0", - "react-event-listener": "0.5.3" + "react-event-listener": "0.5.3", + "stifle": "1.0.4" } }, "react-test-renderer": { @@ -8062,6 +8092,12 @@ "tweetnacl": "0.14.5" } }, + "stifle": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stifle/-/stifle-1.0.4.tgz", + "integrity": "sha1-izvN9SQZsKnHnjWtrc5QEjwdjpk=", + "dev": true + }, "stream-to-observable": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/stream-to-observable/-/stream-to-observable-0.2.0.tgz", @@ -8377,9 +8413,9 @@ "dev": true }, "typescript": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz", - "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.1.tgz", + "integrity": "sha512-bqB1yS6o9TNA9ZC/MJxM0FZzPnZdtHj0xWK/IZ5khzVqdpGul/R/EIiHRgFXlwTD7PSIaYVnGKq1QgMCu2mnqw==", "dev": true }, "ua-parser-js": { @@ -8455,7 +8491,7 @@ "dev": true, "requires": { "boxen": "1.3.0", - "chalk": "2.3.0", + "chalk": "2.3.1", "configstore": "3.1.1", "import-lazy": "2.1.0", "is-installed-globally": "0.1.0", @@ -8475,23 +8511,29 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } diff --git a/lib/package.json b/lib/package.json index d72fcdab8a54e4..bc456b2b2dfa52 100644 --- a/lib/package.json +++ b/lib/package.json @@ -64,7 +64,7 @@ "@types/jss": "^9.3.0", "@types/moment": "^2.13.0", "@types/prop-types": "^15.5.2", - "@types/react": "^16.0.34", + "@types/react": "^16.0.36", "babel-cli": "^6.24.1", "babel-core": "^6.24.1", "babel-eslint": "^8.0.1", @@ -81,7 +81,7 @@ "cross-env": "^5.1.0", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.0", - "eslint": "^4.8.0", + "eslint": "^4.17.0", "eslint-config-airbnb": "^16.0.0", "eslint-plugin-import": "^2.7.0", "eslint-plugin-jsx-a11y": "^6.0.2", @@ -89,9 +89,9 @@ "fs-extra": "^4.0.2", "glob": "^7.1.2", "jest": "^21.2.1", - "material-ui": "^1.0.0-beta.31", + "material-ui": "^1.0.0-beta.33", "moment": "^2.19.2", - "np": "^2.18.3", + "np": "^2.19.0", "prop-types": "^15.6.0", "react": "^16.2.0", "react-dom": "^16.2.0", @@ -100,7 +100,7 @@ "rollup-plugin-commonjs": "^8.2.4", "rollup-plugin-filesize": "^1.5.0", "rollup-plugin-node-resolve": "^3.0.0", - "typescript": "^2.6.2" + "typescript": "^2.7.1" }, "jest": { "setupTestFrameworkScriptFile": "/__tests__/setup.js", diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index 05b7de1c8bc15a..aca240e44078fd 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -29,7 +29,7 @@ export const CalendarHeader = (props) => { {rtl ? rightArrowIcon : leftArrowIcon} - + {utils.getCalendarHeaderText(currentMonth)} @@ -43,7 +43,7 @@ export const CalendarHeader = (props) => { {day} diff --git a/lib/src/DatePicker/DatePicker.jsx b/lib/src/DatePicker/DatePicker.jsx index a8109df4c5b144..d2c389aaf4a8de 100644 --- a/lib/src/DatePicker/DatePicker.jsx +++ b/lib/src/DatePicker/DatePicker.jsx @@ -89,14 +89,14 @@ export class DatePicker extends PureComponent { {children} diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index 52975889594128..14fad49caf5424 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -23,14 +23,14 @@ export const DateTimePickerHeader = (props) => {
{
@@ -121,7 +121,7 @@ export class TimePicker extends Component { From a19b2efc9d418557892c3bb018a4d7b11230cb72 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Feb 2018 14:37:00 +0200 Subject: [PATCH 0365/1801] Add label to date picker in basic usage --- docs/src/Demo/Examples/BasicUsage.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx index 90416bad7d93fd..382382aa0785d2 100644 --- a/docs/src/Demo/Examples/BasicUsage.jsx +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -25,6 +25,8 @@ export default class BasicUsage extends Component { Date: Mon, 12 Feb 2018 14:55:28 +0200 Subject: [PATCH 0366/1801] Add downloads badge to readme --- README.md | 1 + lib/package-lock.json | 913 ------------------------------------------ 2 files changed, 1 insertion(+), 913 deletions(-) diff --git a/README.md b/README.md index b085974b901ae4..3d5173be2e8dcd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Material-UI pickers [![npm package](https://img.shields.io/npm/v/material-ui-pickers.svg)](https://www.npmjs.org/package/material-ui-pickers) +[![npm download](https://img.shields.io/npm/dm/material-ui-pickers.svg)](https://www.npmjs.org/package/material-ui-pickers) [![Build Status](https://api.travis-ci.org/dmtrKovalenko/material-ui-pickers.svg?branch=master)](https://travis-ci.org/dmtrKovalenko/material-ui-pickers) > Components, that implements material design date and time pickers for material-ui v1 diff --git a/lib/package-lock.json b/lib/package-lock.json index 24a6321824647d..875b11de83f8b3 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1630,7 +1630,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -3006,910 +3005,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", - "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.39", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "1.0.2", - "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -6422,13 +5517,6 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "dev": true, - "optional": true - }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -7911,7 +6999,6 @@ "anymatch": "1.3.2", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", - "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", From 0ad343c6b4312d292855731dfd976e732963f779 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Feb 2018 15:04:04 +0200 Subject: [PATCH 0367/1801] Release 1.0.0-beta.15 --- lib/package-lock.json | 2 +- lib/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index 875b11de83f8b3..4ad12412047244 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.14", + "version": "1.0.0-beta.15", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/package.json b/lib/package.json index bc456b2b2dfa52..04b1145cf99dd1 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.14", + "version": "1.0.0-beta.15", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From feebc0b07f34d4a7b979231177c8e47ff5af9ea6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Feb 2018 15:14:35 +0200 Subject: [PATCH 0368/1801] Fix not upadted material-ui version in peer dependencies --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index 04b1145cf99dd1..b0e45eb8bd8dd3 100644 --- a/lib/package.json +++ b/lib/package.json @@ -33,7 +33,7 @@ }, "peerDependencies": { "classnames": "^2.2.5", - "material-ui": "^1.0.0-beta.31", + "material-ui": "^1.0.0-beta.33", "moment": "^2.19.2", "prop-types": "^15.6.0", "react": "^16.2.0", From 68e90b566e106e4d17bed685e5368616fd5e24cd Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Feb 2018 15:17:43 +0200 Subject: [PATCH 0369/1801] Bump to beta.15.1 --- lib/package-lock.json | 2 +- lib/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index 4ad12412047244..f771955b6424ab 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.15", + "version": "1.0.0-beta.15.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/package.json b/lib/package.json index b0e45eb8bd8dd3..4858f0e6f9f5b7 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-beta.15", + "version": "1.0.0-beta.15.1", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From 90cb87796a91ec19887a7d443d5fa1860acf63dc Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 13 Feb 2018 15:43:30 +0200 Subject: [PATCH 0370/1801] Move all moment specific usages to utils --- .eslintrc | 3 +- docs/src/Demo/Demo.jsx | 4 +- lib/src/DatePicker/Calendar.jsx | 36 ++-- lib/src/DatePicker/CalendarHeader.jsx | 4 +- lib/src/DatePicker/DatePicker.jsx | 13 +- lib/src/DatePicker/DatePickerWrapper.jsx | 4 +- lib/src/DatePicker/YearSelection.jsx | 18 +- lib/src/DateTimePicker/DateTimePicker.jsx | 6 +- .../DateTimePicker/DateTimePickerHeader.jsx | 16 +- .../DateTimePicker/DateTimePickerWrapper.jsx | 4 +- lib/src/TimePicker/HourView.jsx | 13 +- lib/src/TimePicker/MinutesView.jsx | 9 +- lib/src/TimePicker/TimePicker.jsx | 8 +- lib/src/TimePicker/TimePickerWrapper.jsx | 4 +- lib/src/_shared/DateTextField.jsx | 34 ++-- lib/src/_shared/PickerBase.jsx | 14 +- lib/src/utils/utils.js | 167 ++++++++++++------ 17 files changed, 206 insertions(+), 151 deletions(-) diff --git a/.eslintrc b/.eslintrc index 514a8137e00ca5..e48fa5d9d1a015 100644 --- a/.eslintrc +++ b/.eslintrc @@ -7,7 +7,8 @@ "react/no-find-dom-node": 0, "no-param-reassign": 0, "import/no-named-as-default": 0, - "import/no-extraneous-dependencies": 0 + "import/no-extraneous-dependencies": 0, + "class-methods-use-this": 0 }, "globals": { "document": true diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 30099f27742968..9d9d879bb45005 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -111,7 +111,7 @@ class Demo extends Component { - @@ -123,7 +123,7 @@ class Demo extends Component { sourceFile="PersianPickers.jsx" > - + */}
); diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 722f9ffa21a95d..be42e2e7ac990c 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -2,8 +2,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import withStyles from 'material-ui/styles/withStyles'; -import Moment from 'moment'; -import { extendMoment } from 'moment-range'; import EventListener from 'react-event-listener'; import keycode from 'keycode'; import CalendarHeader from './CalendarHeader'; @@ -13,8 +11,6 @@ import DayWrapper from './DayWrapper'; import Day from './Day'; -const moment = extendMoment(Moment); - /* eslint-disable no-unused-expressions */ export class Calendar extends Component { static propTypes = { @@ -30,7 +26,7 @@ export class Calendar extends Component { renderDay: PropTypes.func, /** @ignore */ theme: PropTypes.object.isRequired, - utils: PropTypes.object, + utils: PropTypes.func, shouldDisableDate: PropTypes.func, }; @@ -71,20 +67,23 @@ export class Calendar extends Component { }; validateMinMaxDate = (day) => { - const { minDate, maxDate } = this.props; - const startOfDay = date => moment(date).startOf('day'); + const { minDate, maxDate, utils } = this.props; + const startOfDay = date => utils.startOfDay(utils.date(date)); return ( - (minDate && day.isBefore(startOfDay(minDate))) || - (maxDate && day.isAfter(startOfDay(maxDate))) + (minDate && utils.isBefore(day, startOfDay(minDate))) || + (maxDate && utils.isAfter(day, startOfDay(maxDate))) ); }; shouldDisableDate = (day) => { - const { disablePast, disableFuture, shouldDisableDate } = this.props; + const { + disablePast, disableFuture, shouldDisableDate, utils, + } = this.props; + return ( - (disableFuture && day.isAfter(moment(), 'day')) || - (disablePast && day.isBefore(moment(), 'day')) || + (disableFuture && utils.isAfterDay(day, utils.date())) || + (disablePast && utils.isBeforeDay(day, utils.date())) || this.validateMinMaxDate(day) || shouldDisableDate(day) ); @@ -145,22 +144,21 @@ export class Calendar extends Component { const { date, renderDay, utils } = this.props; const selectedDate = date.clone().startOf('day'); - const currentMonthNumber = utils.getMonthNumber(this.state.currentMonth); - const now = moment(); + const currentMonthNumber = utils.getMonth(this.state.currentMonth); + const now = utils.date(); return week.map((day) => { const disabled = this.shouldDisableDate(day); - const dayInCurrentMonth = - utils.getMonthNumber(day) === currentMonthNumber; + const dayInCurrentMonth = utils.getMonth(day) === currentMonthNumber; let dayComponent = ( ); diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index aca240e44078fd..fe033acc819c70 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -30,7 +30,7 @@ export const CalendarHeader = (props) => { - {utils.getCalendarHeaderText(currentMonth)} + {utils.format(currentMonth, 'MMMM YYYY')} @@ -61,7 +61,7 @@ CalendarHeader.propTypes = { theme: PropTypes.object.isRequired, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, - utils: PropTypes.object, + utils: PropTypes.func, }; CalendarHeader.defaultProps = { diff --git a/lib/src/DatePicker/DatePicker.jsx b/lib/src/DatePicker/DatePicker.jsx index d2c389aaf4a8de..c42c70d551a67b 100644 --- a/lib/src/DatePicker/DatePicker.jsx +++ b/lib/src/DatePicker/DatePicker.jsx @@ -1,6 +1,5 @@ import React, { PureComponent, Fragment } from 'react'; import PropTypes from 'prop-types'; -import moment from 'moment'; import Calendar from './Calendar'; import YearSelection from './YearSelection'; @@ -23,7 +22,7 @@ export class DatePicker extends PureComponent { leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, renderDay: PropTypes.func, - utils: PropTypes.object, + utils: PropTypes.func, shouldDisableDate: PropTypes.func, } @@ -47,15 +46,15 @@ export class DatePicker extends PureComponent { } get date() { - return this.props.date.startOf('day'); + return this.props.utils.startOfDay(this.props.date); } get minDate() { - return moment(this.props.minDate); + return this.props.utils.date(this.props.minDate); } get maxDate() { - return moment(this.props.maxDate); + return this.props.utils.date(this.props.maxDate); } handleYearSelect = (date) => { @@ -92,14 +91,14 @@ export class DatePicker extends PureComponent { variant="subheading" onClick={this.openYearSelection} selected={showYearSelection} - label={utils.getYearText(this.date)} + label={utils.format(this.date, 'YYYY')} /> diff --git a/lib/src/DatePicker/DatePickerWrapper.jsx b/lib/src/DatePicker/DatePickerWrapper.jsx index 44af8980c7c630..bca559ed0b02ae 100644 --- a/lib/src/DatePicker/DatePickerWrapper.jsx +++ b/lib/src/DatePicker/DatePickerWrapper.jsx @@ -5,7 +5,7 @@ import ModalWrapper from '../wrappers/ModalWrapper'; import DatePicker from './DatePicker'; import DomainPropTypes from '../constants/prop-types'; import PickerBase from '../_shared/PickerBase'; -import * as defaultUtils from '../utils/utils'; +import defaultUtils from '../utils/utils'; export default class DatePickerWrapper extends PickerBase { static propTypes = { @@ -42,7 +42,7 @@ export default class DatePickerWrapper extends PickerBase { /* Custom renderer for day renderDay(date, selectedDate, dayInCurrentMonth) */ renderDay: PropTypes.func, /* Date displaying utils */ - utils: PropTypes.object, + utils: PropTypes.func, /* Disable specific date hook */ shouldDisableDate: PropTypes.func, } diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index c42f3c0eeab7e0..83af13eaff27e9 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -1,15 +1,11 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { findDOMNode } from 'react-dom'; -import Moment from 'moment'; -import { extendMoment } from 'moment-range'; import withStyles from 'material-ui/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; -import * as defaultUtils from '../utils/utils'; +import defaultUtils from '../utils/utils'; import Year from './Year'; -const moment = extendMoment(Moment); - export class YearSelection extends PureComponent { static propTypes = { date: PropTypes.shape({}).isRequired, @@ -20,7 +16,7 @@ export class YearSelection extends PureComponent { disablePast: PropTypes.bool.isRequired, disableFuture: PropTypes.bool.isRequired, animateYearScrolling: PropTypes.bool, - utils: PropTypes.object, + utils: PropTypes.func, } static defaultProps = { @@ -65,7 +61,7 @@ export class YearSelection extends PureComponent { return (
{ - Array.from(moment.range(minDate, maxDate).by('year')) + utils.getYearRange(minDate, maxDate) .map((year) => { const yearNumber = utils.getYear(year); const selected = yearNumber === currentYear; @@ -74,18 +70,18 @@ export class YearSelection extends PureComponent { - {utils.getYearText(year)} + {utils.format(year, 'YYYY')} ); }) diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index dfefef36d18185..bc31fad6ba83fb 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -12,7 +12,7 @@ import { convertToMeridiem } from '../utils/time-utils'; import DomainPropTypes from '../constants/prop-types'; import * as viewType from '../constants/date-picker-view'; -import * as defaultUtils from '../utils/utils'; +import defaultUtils from '../utils/utils'; export class DateTimePicker extends Component { static propTypes = { @@ -30,7 +30,7 @@ export class DateTimePicker extends Component { dateRangeIcon: PropTypes.node, timeIcon: PropTypes.node, renderDay: PropTypes.func, - utils: PropTypes.object, + utils: PropTypes.func, ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, @@ -57,7 +57,7 @@ export class DateTimePicker extends Component { state = { openView: this.props.openTo, - meridiemMode: this.props.date.hours() >= 12 ? 'pm' : 'am', + meridiemMode: this.props.utils.getHours(this.props.date) >= 12 ? 'pm' : 'am', } onChange = (time, isFinish = true, nextView) => { diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index 14fad49caf5424..4e323a32562827 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -3,8 +3,8 @@ import PropTypes from 'prop-types'; import withStyles from 'material-ui/styles/withStyles'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; +import defaultUtils from '../utils/utils'; import * as viewType from '../constants/date-picker-view'; -import * as defaultUtils from '../utils/utils'; export const DateTimePickerHeader = (props) => { const { @@ -15,7 +15,7 @@ export const DateTimePickerHeader = (props) => { const changeOpenView = view => () => onOpenViewChange(view); const rtl = theme.direction === 'rtl'; - const hourMinuteClassname = rtl + const hourMinuteClassName = rtl ? classes.hourMinuteLabelReverse : classes.hourMinuteLabel; @@ -26,24 +26,24 @@ export const DateTimePickerHeader = (props) => { variant="subheading" onClick={changeOpenView(viewType.YEAR)} selected={openView === viewType.YEAR} - label={utils.getYearText(date)} + label={utils.format(date, 'YYYY')} />
-
+
{ variant="display2" onClick={changeOpenView(viewType.MINUTES)} selected={openView === viewType.MINUTES} - label={utils.getMinuteText(date)} + label={utils.format(date, 'mm')} />
@@ -93,7 +93,7 @@ DateTimePickerHeader.propTypes = { openView: PropTypes.string.isRequired, onOpenViewChange: PropTypes.func.isRequired, setMeridiemMode: PropTypes.func.isRequired, - utils: PropTypes.object, + utils: PropTypes.func, ampm: PropTypes.bool, }; diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx index 4e3deb9ebe5fca..369bfbaf3acb16 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -7,7 +7,7 @@ import DomainPropTypes from '../constants/prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; import DateTimePicker from './DateTimePicker'; import PickerBase from '../_shared/PickerBase'; -import * as defaultUtils from '../utils/utils'; +import defaultUtils from '../utils/utils'; export class DateTimePickerWrapper extends PickerBase { static propTypes = { @@ -30,7 +30,7 @@ export class DateTimePickerWrapper extends PickerBase { timeIcon: PropTypes.node, renderDay: PropTypes.func, labelFunc: PropTypes.func, - utils: PropTypes.object, + utils: PropTypes.func, ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, diff --git a/lib/src/TimePicker/HourView.jsx b/lib/src/TimePicker/HourView.jsx index 59cbd6ad2cd511..42017fed9868f1 100644 --- a/lib/src/TimePicker/HourView.jsx +++ b/lib/src/TimePicker/HourView.jsx @@ -3,14 +3,14 @@ import PropTypes from 'prop-types'; import Clock from './Clock'; import { HOURS } from '../constants/clock-types'; import ClockNumber from './ClockNumber'; -import * as defaultUtils from '../utils/utils'; +import defaultUtils from '../utils/utils'; export default class HourView extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, - utils: PropTypes.object, + utils: PropTypes.func, ampm: PropTypes.bool, } @@ -22,7 +22,7 @@ export default class HourView extends PureComponent { getHourNumbers = () => { const { ampm, utils, date } = this.props; - const currentHours = date.get('hours'); + const currentHours = utils.getHours(date); const hourNumbers = []; const startHour = ampm ? 1 : 0; @@ -62,14 +62,15 @@ export default class HourView extends PureComponent { } handleChange = (hours, isFinish) => { - const updatedTime = this.props.date.clone().hour(hours); + const { date, utils } = this.props; + const updatedTime = utils.setHours(date, hours); this.props.onChange(updatedTime, isFinish); } render() { - const { date, ampm } = this.props; - const value = date.get('hours'); + const { date, ampm, utils } = this.props; + const value = utils.getHours(date); return ( { - const updatedDate = this.props.date.clone().minutes(minutes); + const { date, utils } = this.props; + const updatedDate = utils.setMinutes(date, minutes); this.props.onChange(updatedDate, isFinish); } @@ -25,7 +26,7 @@ export default class MinutesView extends Component { const { date, utils } = this.props; const f = utils.formatNumber; - const value = date.get('minutes'); + const value = utils.getMinutes(date); return (
diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/TimePickerWrapper.jsx index 6e91555d1140ba..e2e93588f98e2b 100644 --- a/lib/src/TimePicker/TimePickerWrapper.jsx +++ b/lib/src/TimePicker/TimePickerWrapper.jsx @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; import TimePicker from './TimePicker'; import PickerBase from '../_shared/PickerBase'; -import * as defaultUtils from '../utils/utils'; +import defaultUtils from '../utils/utils'; export default class TimePickerWrapper extends PickerBase { static propTypes = { @@ -19,7 +19,7 @@ export default class TimePickerWrapper extends PickerBase { autoOk: PropTypes.bool, returnMoment: PropTypes.bool, invalidLabel: PropTypes.string, - utils: PropTypes.object, + utils: PropTypes.func, ampm: PropTypes.bool, } diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 2823907d44994d..e23dd28e2e5e58 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -1,7 +1,6 @@ /* eslint-disable react/sort-comp */ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -import moment from 'moment'; import Icon from 'material-ui/Icon'; import InputAdornment from 'material-ui/Input/InputAdornment'; import TextField from 'material-ui/TextField'; @@ -10,6 +9,7 @@ import withStyles from 'material-ui/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; import MaskedInput from './MaskedInput'; +import defaultUtils from '../utils/utils'; class DateTextField extends PureComponent { static propTypes = { @@ -41,6 +41,7 @@ class DateTextField extends PureComponent { invalidDateMessage: PropTypes.string, clearable: PropTypes.bool, TextFieldComponent: PropTypes.oneOfType([PropTypes.string, PropTypes.func]), + utils: PropTypes.func, } static defaultProps = { @@ -64,15 +65,16 @@ class DateTextField extends PureComponent { minDateMessage: 'Date should not be before minimal date', maxDateMessage: 'Date should not be after maximal date', TextFieldComponent: TextField, + utils: defaultUtils, } getDisplayDate = (props) => { const { - value, format, invalidLabel, emptyLabel, labelFunc, + utils, value, format, invalidLabel, emptyLabel, labelFunc, } = props; const isEmpty = value === null; - const date = moment(value); + const date = utils.date(value); if (labelFunc) { return labelFunc(isEmpty ? null : date, invalidLabel); @@ -82,13 +84,14 @@ class DateTextField extends PureComponent { return emptyLabel; } - return date.isValid() - ? date.format(format) + return utils.isValid(date) + ? utils.format(date, format) : invalidLabel; } getError = (value) => { const { + utils, maxDate, minDate, disablePast, @@ -98,24 +101,24 @@ class DateTextField extends PureComponent { invalidDateMessage, } = this.props; - if (!value.isValid()) { + if (!utils.isValid(value)) { // if null - do not show error - if (value.parsingFlags().nullInput) { + if (utils.isNull(value)) { return ''; } return invalidDateMessage; } if ( - (maxDate && value.isAfter(maxDate)) || - (disableFuture && value.isAfter(moment().endOf('day'))) + (maxDate && utils.isAfter(value, maxDate)) || + (disableFuture && utils.isAfter(value, utils.endOfDay(utils.date()))) ) { return maxDateMessage; } if ( - (minDate && value.isBefore(minDate)) || - (disablePast && value.isBefore(moment().startOf('day'))) + (minDate && utils.isBefore(value, minDate)) || + (disablePast && utils.isBefore(value, utils.startOfDay(utils.date()))) ) { return minDateMessage; } @@ -126,7 +129,7 @@ class DateTextField extends PureComponent { updateState = (props = this.props) => ({ value: props.value, displayValue: this.getDisplayDate(props), - error: this.getError(moment(props.value)), + error: this.getError(props.utils.date(props.value)), }) state = this.updateState() @@ -150,6 +153,7 @@ class DateTextField extends PureComponent { format, clearable, onClear, + utils, } = this.props; if (clearable && e.target.value === '') { @@ -162,8 +166,8 @@ class DateTextField extends PureComponent { return; } - const oldValue = moment(this.state.value); - const newValue = moment(e.target.value, format, true); + const oldValue = utils.date(this.state.value); + const newValue = utils.date(e.target.value, format, true); const error = this.getError(newValue); this.setState({ @@ -171,7 +175,7 @@ class DateTextField extends PureComponent { value: error ? newValue : oldValue, error, }, () => { - if (!error && newValue.format('LLLL') !== oldValue.format('LLLL')) { + if (!error && utils.format(newValue, 'LLLL') !== utils.format(oldValue, 'LLLL')) { this.props.onChange(newValue, true); } }); diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index 3bfdc9b3735030..aa7c75e21c35ad 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -1,7 +1,7 @@ import { PureComponent } from 'react'; import PropTypes from 'prop-types'; -import moment from 'moment'; import DomainPropTypes from '../constants/prop-types'; +import defaultUtils from '../utils/utils'; /* eslint-disable react/sort-comp */ export default class PickerBase extends PureComponent { @@ -13,6 +13,7 @@ export default class PickerBase extends PureComponent { format: PropTypes.string, labelFunc: PropTypes.func, ampm: PropTypes.bool, + utils: PropTypes.func, } static defaultProps = { @@ -22,12 +23,15 @@ export default class PickerBase extends PureComponent { labelFunc: undefined, format: undefined, ampm: true, + utils: defaultUtils, } - getValidDateOrCurrent = (props = this.props) => { - const date = moment(props.value); + getValidDateOrCurrent = () => { + const { utils, value } = this.props; + console.log(this.props.utils); + const date = utils.date(value); - return date.isValid() ? date : moment(); + return utils.isValid(date) ? date : utils.date(); } state = { @@ -59,7 +63,7 @@ export default class PickerBase extends PureComponent { handleAccept = () => { const dateToReturn = this.props.returnMoment ? this.state.date - : this.state.date.toDate(); + : this.props.utils.toNativeDate(this.state.date); this.props.onChange(dateToReturn); } diff --git a/lib/src/utils/utils.js b/lib/src/utils/utils.js index b29549cf624e67..5c354571d69333 100644 --- a/lib/src/utils/utils.js +++ b/lib/src/utils/utils.js @@ -3,82 +3,133 @@ import { extendMoment } from 'moment-range'; const moment = extendMoment(Moment); -export function formatNumber(num) { - return num; -} +export default class Utils { + static date(value) { + return moment(value); + } -export function getCalendarHeaderText(date) { - return date.format('MMMM YYYY'); -} + static isValid(date) { + return date.isValid(); + } -export function getDatePickerHeaderText(date) { - return date.format('ddd, MMM D'); -} + static isNull(date) { + return date.parsingFlags().nullInput; + } -export function getDateTimePickerHeaderText(date) { - return date.format('MMM D'); -} + static isAfter(date, value) { + return date.isAfter(value); + } -export function getDayText(date) { - return date.format('D'); -} + static isBefore(date, value) { + return date.isBefore(value); + } -export function getHourText(date, ampm) { - return date.format(ampm ? 'hh' : 'HH'); -} + static isAfterDay(date, value) { + return date.isAfter(value, 'day'); + } -export function getMinuteText(date) { - return date.format('mm'); -} + static isBeforeDay(date, value) { + return date.isBefore(value, 'day'); + } -export function getMeridiemText(ampm) { - return ampm === 'am' ? 'AM' : 'PM'; -} + static isBeforeYear(date, value) { + return date.isBefore(value, 'year'); + } -export function getYearText(date) { - return date.format('YYYY'); -} + static isAfterYear(date, value) { + return date.isAfter(value, 'year'); + } -export function getMonthNumber(date) { - return date.get('month'); -} + static startOfDay(date) { + return date.startOf('day'); + } -export function getStartOfMonth(date) { - return date.clone().startOf('month'); -} + static endOfDay(date) { + return date.endOf('day'); + } -export function getNextMonth(date) { - return date.clone().add(1, 'month'); -} + static format(date, formatString) { + return date.format(formatString); + } -export function getPreviousMonth(date) { - return date.clone().subtract(1, 'month'); -} + static formatNumber(num) { + return num; + } -export function getYear(date) { - return date.get('year'); -} + static getHours(date) { + return date.get('hours'); + } -export function setYear(date, year) { - return date.clone().set('year', year); -} + static setHours(date, value) { + return date.clone().hours(value); + } -export function getWeekdays() { - return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')[0]); -} + static getMinutes(date) { + return date.get('minutes'); + } + + static setMinutes(date, value) { + return date.clone().minutes(value); + } + + static getMonth(date) { + return date.get('month'); + } + + + static isSameDay(date, comparing) { + return date.isSame(comparing, 'day'); + } + + static getMeridiemText(ampm) { + return ampm === 'am' ? 'AM' : 'PM'; + } + + static getStartOfMonth(date) { + return date.clone().startOf('month'); + } + + static getNextMonth(date) { + return date.clone().add(1, 'month'); + } + + static getPreviousMonth(date) { + return date.clone().subtract(1, 'month'); + } + + static getYear(date) { + return date.get('year'); + } + + static setYear(date, year) { + return date.clone().set('year', year); + } + + static getWeekdays() { + return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')[0]); + } + + static getWeekArray(date) { + const start = date.clone().startOf('month').startOf('week'); + const end = date.clone().endOf('month').endOf('week'); + + const weeks = Array.from(moment.range(start, end).by('week')); -export function getWeekArray(date) { - const start = date.clone().startOf('month').startOf('week'); - const end = date.clone().endOf('month').endOf('week'); + const nestedWeeks = []; - const weeks = Array.from(moment.range(start, end).by('week')); + weeks.forEach((week) => { + const endOfWeek = week.clone().endOf('week'); + nestedWeeks.push(Array.from(moment.range(week, endOfWeek).by('day'))); + }); - const nestedWeeks = []; + return nestedWeeks; + } - weeks.forEach((week) => { - const endOfWeek = week.clone().endOf('week'); - nestedWeeks.push(Array.from(moment.range(week, endOfWeek).by('day'))); - }); + static getYearRange(start, end) { + return Array.from(moment.range(start, end).by('year')); + } - return nestedWeeks; + static toNativeDate(date) { + return date.toDate(); + } } From fc9402dd2d39268ecbc6354162fac7cd02b95be0 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 14:33:09 +0200 Subject: [PATCH 0371/1801] Move missing moment usages to utils --- lib/src/DatePicker/Calendar.jsx | 29 +++++++++++++---------------- lib/src/TimePicker/TimePicker.jsx | 2 +- lib/src/utils/time-utils.js | 10 +++++----- lib/src/utils/utils.js | 9 ++++++++- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index be42e2e7ac990c..56e6a103453d5f 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -53,13 +53,11 @@ export class Calendar extends Component { } onDateSelect = (day) => { - const { date } = this.props; - const updatedDate = day - .clone() - .hours(date.hours()) - .minutes(date.minutes()); + const { date, utils } = this.props; + const withHours = utils.setHours(day, utils.setMinutes(date)); + const withMinutes = utils.setMinutes(withHours, utils.getMinutes(date)); - this.props.onChange(updatedDate); + this.props.onChange(withMinutes); }; handleChangeMonth = (newMonth) => { @@ -96,24 +94,24 @@ export class Calendar extends Component { } handleKeyDown = (event) => { - const { theme, date } = this.props; + const { theme, date, utils } = this.props; switch (keycode(event)) { case 'up': - this.moveToDay(date.clone().subtract(7, 'days')); + this.moveToDay(utils.addDays(date, -7)); break; case 'down': - this.moveToDay(date.clone().add(7, 'days')); + this.moveToDay(utils.addDays(date, 7)); break; case 'left': theme.direction === 'ltr' - ? this.moveToDay(date.clone().subtract(1, 'day')) - : this.moveToDay(date.clone().add(1, 'day')); + ? this.moveToDay(utils.addDays(date, -1)) + : this.moveToDay(utils.addDays(date, 1)); break; case 'right': theme.direction === 'ltr' - ? this.moveToDay(date.clone().add(1, 'day')) - : this.moveToDay(date.clone().subtract(1, 'day')); + ? this.moveToDay(utils.addDays(date, 1)) + : this.moveToDay(utils.addDays(date, -1)); break; default: // if keycode is not handled, stop execution @@ -137,13 +135,12 @@ export class Calendar extends Component { {this.renderDays(week)}
)); - }; - + } renderDays = (week) => { const { date, renderDay, utils } = this.props; - const selectedDate = date.clone().startOf('day'); + const selectedDate = utils.startOfDay(date); const currentMonthNumber = utils.getMonth(this.state.currentMonth); const now = utils.date(); diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 2b5eb2ff1a9d51..ee0d688fdfe328 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -27,7 +27,7 @@ export class TimePicker extends Component { state = { isHourViewShown: true, - meridiemMode: this.props.date.hours() >= 12 ? 'pm' : 'am', + meridiemMode: this.props.utils.getHours(this.props.date) >= 12 ? 'pm' : 'am', } setMeridiemMode = mode => () => { diff --git a/lib/src/utils/time-utils.js b/lib/src/utils/time-utils.js index 4dedf4552cf3fe..affd5f17b28c93 100644 --- a/lib/src/utils/time-utils.js +++ b/lib/src/utils/time-utils.js @@ -54,15 +54,15 @@ export const getMinutes = (offsetX, offsetY, step = 6) => { return value; }; -export const convertToMeridiem = (time, meridiem, ampm) => { +export const convertToMeridiem = (time, meridiem, ampm, utils) => { if (ampm) { - const currentMeridiem = time.hours() >= 12 ? 'pm' : 'am'; + const currentMeridiem = utils.getHours(time) >= 12 ? 'pm' : 'am'; if (currentMeridiem !== meridiem) { const hours = meridiem === 'am' - ? time.hours() - 12 - : time.hours() + 12; + ? utils.getHours(time) - 12 + : utils.getHours(time) + 12; - return time.clone().hours(hours); + return utils.setHours(time, hours); } } diff --git a/lib/src/utils/utils.js b/lib/src/utils/utils.js index 5c354571d69333..17ca75a4f33595 100644 --- a/lib/src/utils/utils.js +++ b/lib/src/utils/utils.js @@ -60,6 +60,14 @@ export default class Utils { return date.get('hours'); } + static addDays(date, count) { + if (count < 0) { + date.clone().subtract(Math.abs(count)); + } else { + date.clone().add(count); + } + } + static setHours(date, value) { return date.clone().hours(value); } @@ -76,7 +84,6 @@ export default class Utils { return date.get('month'); } - static isSameDay(date, comparing) { return date.isSame(comparing, 'day'); } From 9f2d8fbbb682956a9db07a5f95947f1290064b67 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 15:15:44 +0200 Subject: [PATCH 0372/1801] Add date-fns utils --- docs/src/Demo/Demo.jsx | 4 +- docs/src/Demo/Examples/BasicUsage.jsx | 3 +- docs/src/Demo/Examples/DateTimePickers.jsx | 1 - lib/package-lock.json | 916 ++++++++++++++++++++- lib/package.json | 1 + lib/src/DatePicker/Calendar.jsx | 3 +- lib/src/DateTimePicker/DateTimePicker.jsx | 4 +- lib/src/TimePicker/Clock.jsx | 2 +- lib/src/TimePicker/TimePicker.jsx | 4 +- lib/src/{utils => _helpers}/time-utils.js | 0 lib/src/_shared/PickerBase.jsx | 1 - lib/src/utils/moment-utils.js | 142 ++++ lib/src/utils/utils.js | 141 ++-- 13 files changed, 1135 insertions(+), 87 deletions(-) rename lib/src/{utils => _helpers}/time-utils.js (100%) create mode 100644 lib/src/utils/moment-utils.js diff --git a/docs/src/Demo/Demo.jsx b/docs/src/Demo/Demo.jsx index 9d9d879bb45005..a942f2a56d57d9 100644 --- a/docs/src/Demo/Demo.jsx +++ b/docs/src/Demo/Demo.jsx @@ -103,7 +103,7 @@ class Demo extends Component { > - + {/* - {/* diff --git a/docs/src/Demo/Examples/BasicUsage.jsx b/docs/src/Demo/Examples/BasicUsage.jsx index 382382aa0785d2..5da9afe94e1a70 100644 --- a/docs/src/Demo/Examples/BasicUsage.jsx +++ b/docs/src/Demo/Examples/BasicUsage.jsx @@ -1,11 +1,10 @@ import React, { Fragment, Component } from 'react'; -import moment from 'moment'; import { Typography } from 'material-ui'; import { TimePicker, DatePicker } from 'material-ui-pickers'; export default class BasicUsage extends Component { state = { - selectedDate: moment(), + selectedDate: new Date(), } handleDateChange = (date) => { diff --git a/docs/src/Demo/Examples/DateTimePickers.jsx b/docs/src/Demo/Examples/DateTimePickers.jsx index 5ad9db726d9585..03b6b6e0bf3908 100644 --- a/docs/src/Demo/Examples/DateTimePickers.jsx +++ b/docs/src/Demo/Examples/DateTimePickers.jsx @@ -1,7 +1,6 @@ import React, { Fragment, Component } from 'react'; import { DateTimePicker } from 'material-ui-pickers'; import { IconButton, Typography, Icon, InputAdornment } from 'material-ui'; -import moment from 'moment'; export default class BasicUsage extends Component { state = { diff --git a/lib/package-lock.json b/lib/package-lock.json index f771955b6424ab..1c071994e64bb1 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1630,6 +1630,7 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", + "fsevents": "1.1.3", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -1983,8 +1984,7 @@ "date-fns": { "version": "1.29.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", - "dev": true + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==" }, "debug": { "version": "2.6.9", @@ -3005,6 +3005,910 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", + "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, + "optional": true, + "requires": { + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" + }, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "ajv": { + "version": "4.11.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.2.9" + } + }, + "asn1": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "balanced-match": { + "version": "0.4.2", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "brace-expansion": { + "version": "1.1.7", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "concat-map": "0.0.1" + } + }, + "buffer-shims": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "combined-stream": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "debug": { + "version": "2.6.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.4.2", + "bundled": true, + "dev": true, + "optional": true + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "extsprintf": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.15" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "dev": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true, + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "jodid25519": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true, + "optional": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "jsprim": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.0.2", + "json-schema": "0.2.3", + "verror": "1.3.6" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "mime-db": { + "version": "1.27.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.15", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "1.27.0" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "node-pre-gyp": { + "version": "0.6.39", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "1.0.2", + "hawk": "3.1.3", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", + "request": "2.81.0", + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.0", + "osenv": "0.1.4" + } + }, + "npmlog": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "1.0.7", + "bundled": true, + "dev": true + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true + }, + "qs": { + "version": "6.4.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.2.9", + "bundled": true, + "dev": true, + "requires": { + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" + } + }, + "rimraf": { + "version": "2.6.1", + "bundled": true, + "dev": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "dev": true, + "requires": { + "hoek": "2.16.3" + } + }, + "sshpk": { + "version": "1.13.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "string_decoder": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "stringstream": { + "version": "0.0.5", + "bundled": true, + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, + "tar-pack": { + "version": "3.4.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, + "tough-cookie": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "verror": { + "version": "1.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "extsprintf": "1.0.2" + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -5517,6 +6421,13 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, + "nan": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", + "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true, + "optional": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6999,6 +7910,7 @@ "anymatch": "1.3.2", "exec-sh": "0.2.1", "fb-watchman": "2.0.0", + "fsevents": "1.1.3", "minimatch": "3.0.4", "minimist": "1.2.0", "walker": "1.0.7", diff --git a/lib/package.json b/lib/package.json index 4858f0e6f9f5b7..ff7bea32dcda1b 100644 --- a/lib/package.json +++ b/lib/package.json @@ -40,6 +40,7 @@ "react-dom": "^16.2.0" }, "dependencies": { + "date-fns": "^1.29.0", "moment-range": "^3.0.3", "react-text-mask": "^5.0.2" }, diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 56e6a103453d5f..7d59f37632ee22 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -54,7 +54,8 @@ export class Calendar extends Component { onDateSelect = (day) => { const { date, utils } = this.props; - const withHours = utils.setHours(day, utils.setMinutes(date)); + + const withHours = utils.setHours(day, utils.getHours(date)); const withMinutes = utils.setMinutes(withHours, utils.getMinutes(date)); this.props.onChange(withMinutes); diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index bc31fad6ba83fb..7ea19ca3627603 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -8,7 +8,7 @@ import HourView from '../TimePicker/HourView'; import MinutesView from '../TimePicker/MinutesView'; import DateTimePickerTabs from './DateTimePickerTabs'; import DatetimePickerHeader from './DateTimePickerHeader'; -import { convertToMeridiem } from '../utils/time-utils'; +import { convertToMeridiem } from '../_helpers/time-utils'; import DomainPropTypes from '../constants/prop-types'; import * as viewType from '../constants/date-picker-view'; @@ -80,7 +80,7 @@ export class DateTimePicker extends Component { } handleChange = (time, isFinish = false) => { - const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm); + const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm, this.props.utils); this.props.onChange(withMeridiem, isFinish); } diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 0d7d4066b4b826..94513955715cc5 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -4,7 +4,7 @@ import withStyles from 'material-ui/styles/withStyles'; import ClockPointer from './ClockPointer'; import * as clockType from '../constants/clock-types'; -import { getMinutes, getHours } from '../utils/time-utils'; +import { getMinutes, getHours } from '../_helpers/time-utils'; export class Clock extends Component { static propTypes = { diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index ee0d688fdfe328..327c7ddf7b4ea6 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -5,7 +5,7 @@ import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import HourView from './HourView'; import MinutesView from './MinutesView'; -import { convertToMeridiem } from '../utils/time-utils'; +import { convertToMeridiem } from '../_helpers/time-utils'; import defaultUtils from '../utils/utils'; export class TimePicker extends Component { @@ -38,7 +38,7 @@ export class TimePicker extends Component { } handleChange(time, isFinish, openMinutes) { - const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm); + const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm, this.props.utils); if (isFinish) { if (!openMinutes) { diff --git a/lib/src/utils/time-utils.js b/lib/src/_helpers/time-utils.js similarity index 100% rename from lib/src/utils/time-utils.js rename to lib/src/_helpers/time-utils.js diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index aa7c75e21c35ad..24948418870a54 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -28,7 +28,6 @@ export default class PickerBase extends PureComponent { getValidDateOrCurrent = () => { const { utils, value } = this.props; - console.log(this.props.utils); const date = utils.date(value); return utils.isValid(date) ? date : utils.date(); diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js new file mode 100644 index 00000000000000..17ca75a4f33595 --- /dev/null +++ b/lib/src/utils/moment-utils.js @@ -0,0 +1,142 @@ +import Moment from 'moment'; +import { extendMoment } from 'moment-range'; + +const moment = extendMoment(Moment); + +export default class Utils { + static date(value) { + return moment(value); + } + + static isValid(date) { + return date.isValid(); + } + + static isNull(date) { + return date.parsingFlags().nullInput; + } + + static isAfter(date, value) { + return date.isAfter(value); + } + + static isBefore(date, value) { + return date.isBefore(value); + } + + static isAfterDay(date, value) { + return date.isAfter(value, 'day'); + } + + static isBeforeDay(date, value) { + return date.isBefore(value, 'day'); + } + + static isBeforeYear(date, value) { + return date.isBefore(value, 'year'); + } + + static isAfterYear(date, value) { + return date.isAfter(value, 'year'); + } + + static startOfDay(date) { + return date.startOf('day'); + } + + static endOfDay(date) { + return date.endOf('day'); + } + + static format(date, formatString) { + return date.format(formatString); + } + + static formatNumber(num) { + return num; + } + + static getHours(date) { + return date.get('hours'); + } + + static addDays(date, count) { + if (count < 0) { + date.clone().subtract(Math.abs(count)); + } else { + date.clone().add(count); + } + } + + static setHours(date, value) { + return date.clone().hours(value); + } + + static getMinutes(date) { + return date.get('minutes'); + } + + static setMinutes(date, value) { + return date.clone().minutes(value); + } + + static getMonth(date) { + return date.get('month'); + } + + static isSameDay(date, comparing) { + return date.isSame(comparing, 'day'); + } + + static getMeridiemText(ampm) { + return ampm === 'am' ? 'AM' : 'PM'; + } + + static getStartOfMonth(date) { + return date.clone().startOf('month'); + } + + static getNextMonth(date) { + return date.clone().add(1, 'month'); + } + + static getPreviousMonth(date) { + return date.clone().subtract(1, 'month'); + } + + static getYear(date) { + return date.get('year'); + } + + static setYear(date, year) { + return date.clone().set('year', year); + } + + static getWeekdays() { + return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')[0]); + } + + static getWeekArray(date) { + const start = date.clone().startOf('month').startOf('week'); + const end = date.clone().endOf('month').endOf('week'); + + const weeks = Array.from(moment.range(start, end).by('week')); + + const nestedWeeks = []; + + weeks.forEach((week) => { + const endOfWeek = week.clone().endOf('week'); + nestedWeeks.push(Array.from(moment.range(week, endOfWeek).by('day'))); + }); + + return nestedWeeks; + } + + static getYearRange(start, end) { + return Array.from(moment.range(start, end).by('year')); + } + + static toNativeDate(date) { + return date.toDate(); + } +} diff --git a/lib/src/utils/utils.js b/lib/src/utils/utils.js index 17ca75a4f33595..b165db37d34d39 100644 --- a/lib/src/utils/utils.js +++ b/lib/src/utils/utils.js @@ -1,142 +1,137 @@ -import Moment from 'moment'; -import { extendMoment } from 'moment-range'; - -const moment = extendMoment(Moment); +import addDays from 'date-fns/add_days'; +import addMonths from 'date-fns/add_months'; +import addYears from 'date-fns/add_years'; +import endOfDay from 'date-fns/end_of_day'; +import endOfMonth from 'date-fns/end_of_month'; +import endOfWeek from 'date-fns/end_of_week'; +import endOfYear from 'date-fns/end_of_year'; +import format from 'date-fns/format'; +import isAfter from 'date-fns/is_after'; +import isBefore from 'date-fns/is_before'; +import isSameDay from 'date-fns/is_same_day'; +import isValid from 'date-fns/is_valid'; +import setDay from 'date-fns/set_day'; +import setHours from 'date-fns/set_hours'; +import setMinutes from 'date-fns/set_minutes'; +import setYear from 'date-fns/set_year'; +import startOfDay from 'date-fns/start_of_day'; +import startOfMonth from 'date-fns/start_of_month'; +import startOfWeek from 'date-fns/start_of_week'; +import startOfYear from 'date-fns/start_of_year'; +import getHours from 'date-fns/get_hours'; +import getYear from 'date-fns/get_year'; export default class Utils { static date(value) { - return moment(value); + return value; } - static isValid(date) { - return date.isValid(); - } + static isValid = isValid static isNull(date) { - return date.parsingFlags().nullInput; + return date == null; } - static isAfter(date, value) { - return date.isAfter(value); - } + static isAfter = isAfter - static isBefore(date, value) { - return date.isBefore(value); - } + static isBefore = isBefore static isAfterDay(date, value) { - return date.isAfter(value, 'day'); + return isAfter(endOfDay(date), value); } static isBeforeDay(date, value) { - return date.isBefore(value, 'day'); + return isBefore(startOfDay(date), value); } static isBeforeYear(date, value) { - return date.isBefore(value, 'year'); + return isBefore(startOfYear(date), value); } static isAfterYear(date, value) { - return date.isAfter(value, 'year'); + return isAfter(endOfYear(date), value); } - static startOfDay(date) { - return date.startOf('day'); - } + static startOfDay = startOfDay - static endOfDay(date) { - return date.endOf('day'); - } + static endOfDay = endOfDay - static format(date, formatString) { - return date.format(formatString); - } + static format = format static formatNumber(num) { return num; } - static getHours(date) { - return date.get('hours'); - } - - static addDays(date, count) { - if (count < 0) { - date.clone().subtract(Math.abs(count)); - } else { - date.clone().add(count); - } - } + static getHours = getHours - static setHours(date, value) { - return date.clone().hours(value); - } + static setHours = setHours static getMinutes(date) { - return date.get('minutes'); + return date.getMinutes(); } - static setMinutes(date, value) { - return date.clone().minutes(value); - } + static setMinutes = setMinutes static getMonth(date) { - return date.get('month'); + return date.getMonth(); } - static isSameDay(date, comparing) { - return date.isSame(comparing, 'day'); - } + + static isSameDay = isSameDay; static getMeridiemText(ampm) { return ampm === 'am' ? 'AM' : 'PM'; } - static getStartOfMonth(date) { - return date.clone().startOf('month'); - } + static getStartOfMonth = startOfMonth static getNextMonth(date) { - return date.clone().add(1, 'month'); + return addMonths(date, 1); } static getPreviousMonth(date) { - return date.clone().subtract(1, 'month'); + return addMonths(date, -1); } - static getYear(date) { - return date.get('year'); - } + static getYear = getYear - static setYear(date, year) { - return date.clone().set('year', year); - } + static setYear = setYear; static getWeekdays() { - return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')[0]); + return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => format(setDay(new Date(), dayOfWeek), 'dd')); } static getWeekArray(date) { - const start = date.clone().startOf('month').startOf('week'); - const end = date.clone().endOf('month').endOf('week'); - - const weeks = Array.from(moment.range(start, end).by('week')); + const start = startOfWeek(startOfMonth(date)); + const end = endOfWeek(endOfMonth(date)); const nestedWeeks = []; - - weeks.forEach((week) => { - const endOfWeek = week.clone().endOf('week'); - nestedWeeks.push(Array.from(moment.range(week, endOfWeek).by('day'))); - }); + let count = 0; + let current = start; + while (isBefore(current, end)) { + const weekNumber = Math.floor(count / 7); + nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || []; + nestedWeeks[weekNumber].push(current); + current = addDays(current, 1); + count += 1; + } return nestedWeeks; } static getYearRange(start, end) { - return Array.from(moment.range(start, end).by('year')); + const startDate = new Date(start); + const endDate = new Date(end); + const years = []; + let current = startDate; + while (isBefore(current, endDate)) { + years.push(current); + current = addYears(current, 1); + } + return years; } static toNativeDate(date) { - return date.toDate(); + return date; } } From e20ec441b49a1b64c28bd7c1807ffd76e9eca08e Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 16:12:42 +0200 Subject: [PATCH 0373/1801] Add date-fns utils, imlement hoc for setting and getting utils from context --- docs/src/App.js | 24 ++++++++++++------- lib/src/DatePicker/Calendar.jsx | 8 +++---- lib/src/DatePicker/CalendarHeader.jsx | 7 +++--- lib/src/DatePicker/DatePicker.jsx | 7 +++--- lib/src/DatePicker/DatePickerWrapper.jsx | 10 ++++---- lib/src/DatePicker/YearSelection.jsx | 7 +++--- lib/src/DateTimePicker/DateTimePicker.jsx | 14 +++++++---- .../DateTimePicker/DateTimePickerHeader.jsx | 7 +++--- .../DateTimePicker/DateTimePickerWrapper.jsx | 7 +++--- lib/src/TimePicker/HourView.jsx | 11 +++++---- lib/src/TimePicker/MinutesView.jsx | 10 ++++---- lib/src/TimePicker/TimePicker.jsx | 14 +++++++---- lib/src/TimePicker/TimePickerWrapper.jsx | 10 ++++---- lib/src/_shared/DateTextField.jsx | 10 ++++---- lib/src/_shared/PickerBase.jsx | 4 +--- lib/src/_shared/WithUtils.jsx | 23 ++++++++++++++++++ lib/src/index.js | 6 +++++ lib/src/utils/MuiPickersUtilsProvider.jsx | 23 ++++++++++++++++++ lib/src/utils/{utils.js => date-fns-utils.js} | 0 19 files changed, 134 insertions(+), 68 deletions(-) create mode 100644 lib/src/_shared/WithUtils.jsx create mode 100644 lib/src/utils/MuiPickersUtilsProvider.jsx rename lib/src/utils/{utils.js => date-fns-utils.js} (100%) diff --git a/docs/src/App.js b/docs/src/App.js index 76c307c4bbfbf8..255e29104848f6 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,8 +1,7 @@ import React, { Component } from 'react'; +import PropTypes from 'prop-types'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; - -import Demo from './Demo/Demo'; -import { setPrismTheme } from './utils/prism'; +import { MuiPickerUtilsProvider, dateFnsUtils } from 'material-ui-pickers'; import { create } from 'jss'; import preset from 'jss-preset-default'; @@ -10,10 +9,17 @@ import rtl from 'jss-rtl'; import JssProvider from 'react-jss/lib/JssProvider'; import createGenerateClassName from 'material-ui/styles/createGenerateClassName'; +import Demo from './Demo/Demo'; +import { setPrismTheme } from './utils/prism'; + const jss = create({ plugins: [...preset().plugins, rtl()] }); jss.options.createGenerateClassName = createGenerateClassName; export default class App extends Component { + static propTypes = { + toggleFrench: PropTypes.func.isRequired, + } + state = { type: 'light', direction: 'ltr', @@ -50,11 +56,13 @@ export default class App extends Component {
- + + +
diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 7d59f37632ee22..2db227017ae9fc 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -6,10 +6,9 @@ import EventListener from 'react-event-listener'; import keycode from 'keycode'; import CalendarHeader from './CalendarHeader'; import DomainPropTypes from '../constants/prop-types'; -import * as defaultUtils from '../utils/utils'; import DayWrapper from './DayWrapper'; import Day from './Day'; - +import withUtils from '../_shared/WithUtils'; /* eslint-disable no-unused-expressions */ export class Calendar extends Component { @@ -26,8 +25,8 @@ export class Calendar extends Component { renderDay: PropTypes.func, /** @ignore */ theme: PropTypes.object.isRequired, - utils: PropTypes.func, shouldDisableDate: PropTypes.func, + utils: PropTypes.func.isRequired, }; static defaultProps = { @@ -38,7 +37,6 @@ export class Calendar extends Component { leftArrowIcon: undefined, rightArrowIcon: undefined, renderDay: undefined, - utils: defaultUtils, shouldDisableDate: () => false, }; @@ -219,4 +217,4 @@ const styles = theme => ({ export default withStyles(styles, { name: 'MuiPickersCalendar', withTheme: true, -})(Calendar); +})(withUtils()(Calendar)); diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index fe033acc819c70..e367b4cf19d353 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -4,7 +4,7 @@ import withStyles from 'material-ui/styles/withStyles'; import Typography from 'material-ui/Typography'; import IconButton from 'material-ui/IconButton'; import Icon from 'material-ui/Icon'; -import * as defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; export const CalendarHeader = (props) => { const { @@ -61,13 +61,12 @@ CalendarHeader.propTypes = { theme: PropTypes.object.isRequired, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, }; CalendarHeader.defaultProps = { leftArrowIcon: 'keyboard_arrow_left', rightArrowIcon: 'keyboard_arrow_right', - utils: defaultUtils, }; const styles = theme => ({ @@ -93,4 +92,4 @@ const styles = theme => ({ export default withStyles( styles, { withTheme: true, name: 'MuiPickersCalendarHeader' }, -)(CalendarHeader); +)(withUtils()(CalendarHeader)); diff --git a/lib/src/DatePicker/DatePicker.jsx b/lib/src/DatePicker/DatePicker.jsx index c42c70d551a67b..3913f31fcf69d0 100644 --- a/lib/src/DatePicker/DatePicker.jsx +++ b/lib/src/DatePicker/DatePicker.jsx @@ -5,8 +5,8 @@ import Calendar from './Calendar'; import YearSelection from './YearSelection'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; -import * as defaultUtils from '../utils/utils'; import DomainPropTypes from '../constants/prop-types'; +import withUtils from '../_shared/WithUtils'; export class DatePicker extends PureComponent { static propTypes = { @@ -22,7 +22,7 @@ export class DatePicker extends PureComponent { leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, renderDay: PropTypes.func, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, shouldDisableDate: PropTypes.func, } @@ -37,7 +37,6 @@ export class DatePicker extends PureComponent { leftArrowIcon: undefined, rightArrowIcon: undefined, renderDay: undefined, - utils: defaultUtils, shouldDisableDate: undefined, } @@ -137,5 +136,5 @@ export class DatePicker extends PureComponent { } } -export default DatePicker; +export default withUtils()(DatePicker); diff --git a/lib/src/DatePicker/DatePickerWrapper.jsx b/lib/src/DatePicker/DatePickerWrapper.jsx index bca559ed0b02ae..83588168f0d22f 100644 --- a/lib/src/DatePicker/DatePickerWrapper.jsx +++ b/lib/src/DatePicker/DatePickerWrapper.jsx @@ -5,9 +5,9 @@ import ModalWrapper from '../wrappers/ModalWrapper'; import DatePicker from './DatePicker'; import DomainPropTypes from '../constants/prop-types'; import PickerBase from '../_shared/PickerBase'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; -export default class DatePickerWrapper extends PickerBase { +class DatePickerWrapper extends PickerBase { static propTypes = { /* Datepicker value */ value: DomainPropTypes.date, @@ -42,7 +42,7 @@ export default class DatePickerWrapper extends PickerBase { /* Custom renderer for day renderDay(date, selectedDate, dayInCurrentMonth) */ renderDay: PropTypes.func, /* Date displaying utils */ - utils: PropTypes.func, + utils: PropTypes.func.isRequired, /* Disable specific date hook */ shouldDisableDate: PropTypes.func, } @@ -63,7 +63,6 @@ export default class DatePickerWrapper extends PickerBase { rightArrowIcon: undefined, renderDay: undefined, labelFunc: undefined, - utils: defaultUtils, shouldDisableDate: undefined, } @@ -131,3 +130,6 @@ export default class DatePickerWrapper extends PickerBase { ); } } + +export default withUtils()(DatePickerWrapper); + diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index 83af13eaff27e9..ff4f8a518b7a07 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import { findDOMNode } from 'react-dom'; import withStyles from 'material-ui/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; import Year from './Year'; export class YearSelection extends PureComponent { @@ -16,12 +16,11 @@ export class YearSelection extends PureComponent { disablePast: PropTypes.bool.isRequired, disableFuture: PropTypes.bool.isRequired, animateYearScrolling: PropTypes.bool, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, } static defaultProps = { animateYearScrolling: false, - utils: defaultUtils, } componentDidMount = () => { @@ -99,4 +98,4 @@ const styles = { }, }; -export default withStyles(styles, { name: 'MuiPickersYearSelection' })(YearSelection); +export default withStyles(styles, { name: 'MuiPickersYearSelection' })(withUtils()(YearSelection)); diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 7ea19ca3627603..9a0bb6f3fa6064 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -12,7 +12,7 @@ import { convertToMeridiem } from '../_helpers/time-utils'; import DomainPropTypes from '../constants/prop-types'; import * as viewType from '../constants/date-picker-view'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; export class DateTimePicker extends Component { static propTypes = { @@ -30,7 +30,7 @@ export class DateTimePicker extends Component { dateRangeIcon: PropTypes.node, timeIcon: PropTypes.node, renderDay: PropTypes.func, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, @@ -49,7 +49,6 @@ export class DateTimePicker extends Component { dateRangeIcon: undefined, timeIcon: undefined, renderDay: undefined, - utils: defaultUtils, ampm: true, shouldDisableDate: undefined, animateYearScrolling: false, @@ -80,7 +79,12 @@ export class DateTimePicker extends Component { } handleChange = (time, isFinish = false) => { - const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm, this.props.utils); + const withMeridiem = convertToMeridiem( + time, + this.state.meridiemMode, + this.props.ampm, + this.props.utils, + ); this.props.onChange(withMeridiem, isFinish); } @@ -189,4 +193,4 @@ export class DateTimePicker extends Component { } } -export default DateTimePicker; +export default withUtils()(DateTimePicker); diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index 4e323a32562827..aea7b021e5253b 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import withStyles from 'material-ui/styles/withStyles'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; import * as viewType from '../constants/date-picker-view'; export const DateTimePickerHeader = (props) => { @@ -93,12 +93,11 @@ DateTimePickerHeader.propTypes = { openView: PropTypes.string.isRequired, onOpenViewChange: PropTypes.func.isRequired, setMeridiemMode: PropTypes.func.isRequired, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, ampm: PropTypes.bool, }; DateTimePickerHeader.defaultProps = { - utils: defaultUtils, ampm: true, }; @@ -143,4 +142,4 @@ const styles = () => ({ }, }); -export default withStyles(styles, { withTheme: true })(DateTimePickerHeader); +export default withStyles(styles, { withTheme: true })(withUtils()(DateTimePickerHeader)); diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx index 369bfbaf3acb16..7705754169cf19 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -7,7 +7,7 @@ import DomainPropTypes from '../constants/prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; import DateTimePicker from './DateTimePicker'; import PickerBase from '../_shared/PickerBase'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; export class DateTimePickerWrapper extends PickerBase { static propTypes = { @@ -30,7 +30,7 @@ export class DateTimePickerWrapper extends PickerBase { timeIcon: PropTypes.node, renderDay: PropTypes.func, labelFunc: PropTypes.func, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, @@ -54,7 +54,6 @@ export class DateTimePickerWrapper extends PickerBase { timeIcon: undefined, renderDay: undefined, labelFunc: undefined, - utils: defaultUtils, ampm: true, shouldDisableDate: undefined, animateYearScrolling: false, @@ -141,5 +140,5 @@ const styles = { }, }; -export default withStyles(styles, { name: 'MuiPickerDTPickerModal' })(DateTimePickerWrapper); +export default withStyles(styles, { name: 'MuiPickerDTPickerModal' })(withUtils()(DateTimePickerWrapper)); diff --git a/lib/src/TimePicker/HourView.jsx b/lib/src/TimePicker/HourView.jsx index 42017fed9868f1..a4796a77ec3648 100644 --- a/lib/src/TimePicker/HourView.jsx +++ b/lib/src/TimePicker/HourView.jsx @@ -3,19 +3,17 @@ import PropTypes from 'prop-types'; import Clock from './Clock'; import { HOURS } from '../constants/clock-types'; import ClockNumber from './ClockNumber'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; - -export default class HourView extends PureComponent { +class HourView extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, ampm: PropTypes.bool, } static defaultProps = { - utils: defaultUtils, ampm: true, } @@ -84,3 +82,6 @@ export default class HourView extends PureComponent { ); } } + +export default withUtils()(HourView); + diff --git a/lib/src/TimePicker/MinutesView.jsx b/lib/src/TimePicker/MinutesView.jsx index b76edca20b03e5..87b4b89cf38510 100644 --- a/lib/src/TimePicker/MinutesView.jsx +++ b/lib/src/TimePicker/MinutesView.jsx @@ -3,17 +3,16 @@ import PropTypes from 'prop-types'; import Clock from './Clock'; import { MINUTES } from '../constants/clock-types'; import ClockNumber from './ClockNumber'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; -export default class MinutesView extends Component { +class MinutesView extends Component { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, } static defaultProps = { - utils: defaultUtils, } handleChange = (minutes, isFinish) => { @@ -50,3 +49,6 @@ export default class MinutesView extends Component { ); } } + +export default withUtils()(MinutesView); + diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 327c7ddf7b4ea6..06442480d5834f 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -6,7 +6,7 @@ import ToolbarButton from '../_shared/ToolbarButton'; import HourView from './HourView'; import MinutesView from './MinutesView'; import { convertToMeridiem } from '../_helpers/time-utils'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; export class TimePicker extends Component { static propTypes = { @@ -15,13 +15,12 @@ export class TimePicker extends Component { classes: PropTypes.object.isRequired, theme: PropTypes.object.isRequired, children: PropTypes.node, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, ampm: PropTypes.bool, } static defaultProps = { children: null, - utils: defaultUtils, ampm: true, } @@ -38,7 +37,12 @@ export class TimePicker extends Component { } handleChange(time, isFinish, openMinutes) { - const withMeridiem = convertToMeridiem(time, this.state.meridiemMode, this.props.ampm, this.props.utils); + const withMeridiem = convertToMeridiem( + time, + this.state.meridiemMode, + this.props.ampm, + this.props.utils, + ); if (isFinish) { if (!openMinutes) { @@ -186,4 +190,4 @@ const styles = () => ({ export default withStyles( styles, { withTheme: true, name: 'MuiPickersTimePicker' }, -)(TimePicker); +)(withUtils()(TimePicker)); diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/TimePickerWrapper.jsx index e2e93588f98e2b..ba6346f944c405 100644 --- a/lib/src/TimePicker/TimePickerWrapper.jsx +++ b/lib/src/TimePicker/TimePickerWrapper.jsx @@ -4,9 +4,9 @@ import PropTypes from 'prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; import TimePicker from './TimePicker'; import PickerBase from '../_shared/PickerBase'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; -export default class TimePickerWrapper extends PickerBase { +class TimePickerWrapper extends PickerBase { static propTypes = { value: PropTypes.oneOfType([ PropTypes.object, @@ -19,7 +19,7 @@ export default class TimePickerWrapper extends PickerBase { autoOk: PropTypes.bool, returnMoment: PropTypes.bool, invalidLabel: PropTypes.string, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, ampm: PropTypes.bool, } @@ -29,7 +29,6 @@ export default class TimePickerWrapper extends PickerBase { autoOk: false, returnMoment: true, invalidLabel: undefined, - utils: defaultUtils, ampm: true, } @@ -65,3 +64,6 @@ export default class TimePickerWrapper extends PickerBase { ); } } + +export default withUtils()(TimePickerWrapper); + diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index e23dd28e2e5e58..1bba8a4923f995 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -9,7 +9,7 @@ import withStyles from 'material-ui/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; import MaskedInput from './MaskedInput'; -import defaultUtils from '../utils/utils'; +import withUtils from '../_shared/WithUtils'; class DateTextField extends PureComponent { static propTypes = { @@ -41,7 +41,7 @@ class DateTextField extends PureComponent { invalidDateMessage: PropTypes.string, clearable: PropTypes.bool, TextFieldComponent: PropTypes.oneOfType([PropTypes.string, PropTypes.func]), - utils: PropTypes.func, + utils: PropTypes.func.isRequired, } static defaultProps = { @@ -65,7 +65,6 @@ class DateTextField extends PureComponent { minDateMessage: 'Date should not be before minimal date', maxDateMessage: 'Date should not be after maximal date', TextFieldComponent: TextField, - utils: defaultUtils, } getDisplayDate = (props) => { @@ -211,6 +210,7 @@ class DateTextField extends PureComponent { render() { const { + utils, format, classes, disabled, @@ -235,8 +235,8 @@ class DateTextField extends PureComponent { TextFieldComponent, ...other } = this.props; - const { displayValue, error } = this.state; + const { displayValue, error } = this.state; const localInputProps = { inputComponent: MaskedInput, inputProps: { @@ -277,4 +277,4 @@ const styles = { }, }; -export default withStyles(styles)(DateTextField); +export default withStyles(styles)(withUtils()(DateTextField)); diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index 24948418870a54..305e7e4463beaa 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -1,7 +1,6 @@ import { PureComponent } from 'react'; import PropTypes from 'prop-types'; import DomainPropTypes from '../constants/prop-types'; -import defaultUtils from '../utils/utils'; /* eslint-disable react/sort-comp */ export default class PickerBase extends PureComponent { @@ -13,7 +12,7 @@ export default class PickerBase extends PureComponent { format: PropTypes.string, labelFunc: PropTypes.func, ampm: PropTypes.bool, - utils: PropTypes.func, + utils: PropTypes.func.isRequired, } static defaultProps = { @@ -23,7 +22,6 @@ export default class PickerBase extends PureComponent { labelFunc: undefined, format: undefined, ampm: true, - utils: defaultUtils, } getValidDateOrCurrent = () => { diff --git a/lib/src/_shared/WithUtils.jsx b/lib/src/_shared/WithUtils.jsx new file mode 100644 index 00000000000000..19aa069f8cea9e --- /dev/null +++ b/lib/src/_shared/WithUtils.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import PropTypes from 'prop-types'; + +const withUtils = () => (Component) => { + const WithUtils = (props, context) => { + if (!context.muiPickersDateUtils) { + // eslint-disable-next-line no-console + console.error('Utils should be provided'); + } + + return ; + }; + + WithUtils.contextTypes = { + muiPickersDateUtils: PropTypes.func, + }; + + WithUtils.displayName = `withUtils${Component.displayName || Component.name}`; + + return WithUtils; +}; + +export default withUtils; diff --git a/lib/src/index.js b/lib/src/index.js index 173f5b6cc92f70..b0f44c71470ffa 100644 --- a/lib/src/index.js +++ b/lib/src/index.js @@ -3,3 +3,9 @@ export { default as DatePicker } from './DatePicker/DatePickerWrapper'; export { default as TimePicker } from './TimePicker/TimePickerWrapper'; export { default as DateTimePicker } from './DateTimePicker/DateTimePickerWrapper'; + +export { default as MuiPickerUtilsProvider } from './utils/MuiPickersUtilsProvider'; + +export { default as dateFnsUtils } from './utils/date-fns-utils'; + +export { default as momentUtils } from './utils/moment-utils'; diff --git a/lib/src/utils/MuiPickersUtilsProvider.jsx b/lib/src/utils/MuiPickersUtilsProvider.jsx new file mode 100644 index 00000000000000..1ae3fb50bbf4b0 --- /dev/null +++ b/lib/src/utils/MuiPickersUtilsProvider.jsx @@ -0,0 +1,23 @@ +import { PureComponent } from 'react'; +import PropTypes from 'prop-types'; + +export default class MuiPickersUtilsProvider extends PureComponent { + static propTypes = { + utils: PropTypes.func.isRequired, + children: PropTypes.element.isRequired, + } + + static childContextTypes = { + muiPickersDateUtils: PropTypes.func, + } + + getChildContext() { + return { + muiPickersDateUtils: this.props.utils, + }; + } + + render() { + return this.props.children; + } +} diff --git a/lib/src/utils/utils.js b/lib/src/utils/date-fns-utils.js similarity index 100% rename from lib/src/utils/utils.js rename to lib/src/utils/date-fns-utils.js From 4245319baf0a99e0a2386570eb09a5a3263d9755 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 18:37:18 +0200 Subject: [PATCH 0374/1801] Improve utils, fix crashings --- docs/src/App.js | 2 +- lib/src/DatePicker/Calendar.jsx | 5 ++--- lib/src/_shared/PickerBase.jsx | 2 +- lib/src/utils/date-fns-utils.js | 14 +++++++++----- lib/src/utils/moment-utils.js | 14 ++++++++------ 5 files changed, 21 insertions(+), 16 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index 255e29104848f6..9546113dfb5cf1 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; -import { MuiPickerUtilsProvider, dateFnsUtils } from 'material-ui-pickers'; +import { MuiPickerUtilsProvider, dateFnsUtils, momentUtils } from 'material-ui-pickers'; import { create } from 'jss'; import preset from 'jss-preset-default'; diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 2db227017ae9fc..e835fa5c7bcb57 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -65,11 +65,10 @@ export class Calendar extends Component { validateMinMaxDate = (day) => { const { minDate, maxDate, utils } = this.props; - const startOfDay = date => utils.startOfDay(utils.date(date)); return ( - (minDate && utils.isBefore(day, startOfDay(minDate))) || - (maxDate && utils.isAfter(day, startOfDay(maxDate))) + (minDate && utils.isBeforeDay(day, utils.date(minDate))) || + (maxDate && utils.isAfterDay(day, utils.date(maxDate))) ); }; diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index 305e7e4463beaa..a6ef041c413e24 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -36,7 +36,7 @@ export default class PickerBase extends PureComponent { } componentWillReceiveProps(nextProps) { - if (this.props.value !== nextProps.value) { + if (!this.props.utils.isEqual(this.state.date, nextProps.value)) { this.setState({ date: this.getValidDateOrCurrent(nextProps) }); } } diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index b165db37d34d39..a146290f7ef339 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -20,14 +20,19 @@ import startOfWeek from 'date-fns/start_of_week'; import startOfYear from 'date-fns/start_of_year'; import getHours from 'date-fns/get_hours'; import getYear from 'date-fns/get_year'; +import isEqual from 'date-fns/is_equal'; -export default class Utils { +export default class DateFnsUtils { static date(value) { - return value; + return new Date(value); } + static addDays = addDays + static isValid = isValid + static isEqual = isEqual + static isNull(date) { return date == null; } @@ -41,11 +46,11 @@ export default class Utils { } static isBeforeDay(date, value) { - return isBefore(startOfDay(date), value); + return isBefore(date, startOfDay(value)); } static isBeforeYear(date, value) { - return isBefore(startOfYear(date), value); + return isBefore(date, startOfYear(value)); } static isAfterYear(date, value) { @@ -76,7 +81,6 @@ export default class Utils { return date.getMonth(); } - static isSameDay = isSameDay; static getMeridiemText(ampm) { diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index 17ca75a4f33595..a84d5a2c392afd 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -3,7 +3,7 @@ import { extendMoment } from 'moment-range'; const moment = extendMoment(Moment); -export default class Utils { +export default class MomentUtils { static date(value) { return moment(value); } @@ -61,11 +61,9 @@ export default class Utils { } static addDays(date, count) { - if (count < 0) { - date.clone().subtract(Math.abs(count)); - } else { - date.clone().add(count); - } + return count < 0 + ? date.clone().subtract(Math.abs(count), 'days') + : date.clone().add(count, 'days'); } static setHours(date, value) { @@ -116,6 +114,10 @@ export default class Utils { return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')[0]); } + static isEqual(value, comparing) { + return moment(value).isSame(comparing); + } + static getWeekArray(date) { const start = date.clone().startOf('month').startOf('week'); const end = date.clone().endOf('month').endOf('week'); From 47850efb522db91d26f5fafb0d1510c6577441cb Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 18:59:01 +0200 Subject: [PATCH 0375/1801] Add typings for utils and new components --- lib/src/utils/MuiPickersUtilsProvider.d.ts | 12 +++++++ lib/src/utils/date-fns-utils.d.ts | 4 +++ lib/src/utils/moment-utils.d.ts | 4 +++ lib/src/utils/utils.d.ts | 37 ---------------------- lib/typings/date.ts | 3 ++ lib/typings/utils.ts | 34 ++++++++++++++++++++ 6 files changed, 57 insertions(+), 37 deletions(-) create mode 100644 lib/src/utils/MuiPickersUtilsProvider.d.ts create mode 100644 lib/src/utils/date-fns-utils.d.ts create mode 100644 lib/src/utils/moment-utils.d.ts delete mode 100644 lib/src/utils/utils.d.ts create mode 100644 lib/typings/date.ts create mode 100644 lib/typings/utils.ts diff --git a/lib/src/utils/MuiPickersUtilsProvider.d.ts b/lib/src/utils/MuiPickersUtilsProvider.d.ts new file mode 100644 index 00000000000000..9f7d2b2afa20e8 --- /dev/null +++ b/lib/src/utils/MuiPickersUtilsProvider.d.ts @@ -0,0 +1,12 @@ +import { ComponentClass, ReactNode } from 'react'; +import { DateTimePickerView } from '../constants/date-picker-view'; +import { Utils } from '../../typings/utils'; + +export interface MuiPickersUtilsProviderProps { + utils: Utils; + children: ReactNode; +} + +declare const MuiPickersUtilsProvider: ComponentClass; + +export default MuiPickersUtilsProvider; diff --git a/lib/src/utils/date-fns-utils.d.ts b/lib/src/utils/date-fns-utils.d.ts new file mode 100644 index 00000000000000..d99f7eeadf240c --- /dev/null +++ b/lib/src/utils/date-fns-utils.d.ts @@ -0,0 +1,4 @@ +import { Utils } from '../../typings/utils' + +declare const DateFnsUtils: Utils; +export default DateFnsUtils \ No newline at end of file diff --git a/lib/src/utils/moment-utils.d.ts b/lib/src/utils/moment-utils.d.ts new file mode 100644 index 00000000000000..2140e1e97f32e4 --- /dev/null +++ b/lib/src/utils/moment-utils.d.ts @@ -0,0 +1,4 @@ +import { Utils } from '../../typings/utils' + +declare const MomentUtils: Utils; +export default MomentUtils \ No newline at end of file diff --git a/lib/src/utils/utils.d.ts b/lib/src/utils/utils.d.ts deleted file mode 100644 index 9d008ffced24b1..00000000000000 --- a/lib/src/utils/utils.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -export declare function formatNumber(num: string): string; -export declare function getCalendarHeaderText(date: any): string; -export declare function getDatePickerHeaderText(date: any): string; -export declare function getDateTimePickerHeaderText(date: any): string; -export declare function getDayText(date: any): string; -export declare function getHourText(date: any): string; -export declare function getMinuteText(date: any): string; -export declare function getMeridiemText(ampm: 'am' | 'pm'): string; -export declare function getYearText(date: any): string; -export declare function getMonthNumber(date: any): number; -export declare function getStartOfMonth(date: any): any; -export declare function getNextMonth(date: any): any; -export declare function getPreviousMonth(date: any): any; -export declare function getYear(date: any): any; -export declare function setYear(date: any, year: number): any; -export declare function getWeekdays(): string[]; -export declare function getWeekArray(date: any): any[][]; - -export interface Utils { - formatNumber: typeof formatNumber; - getCalendarHeaderText: typeof getCalendarHeaderText; - getDatePickerHeaderText: typeof getDatePickerHeaderText; - getDateTimePickerHeaderText: typeof getDateTimePickerHeaderText; - getDayText: typeof getDayText; - getHourText: typeof getHourText; - getMinuteText: typeof getMinuteText; - getMeridiemText: typeof getMeridiemText; - getYearText: typeof getYearText; - getMonthNumber: typeof getMonthNumber; - getStartOfMonth: typeof getStartOfMonth; - getNextMonth: typeof getNextMonth; - getPreviousMonth: typeof getPreviousMonth; - getYear: typeof getYear; - setYear: typeof setYear; - getWeekdays: typeof getWeekdays; - getWeekArray: typeof getWeekArray; -} diff --git a/lib/typings/date.ts b/lib/typings/date.ts new file mode 100644 index 00000000000000..92b46a6359eedc --- /dev/null +++ b/lib/typings/date.ts @@ -0,0 +1,3 @@ +import { Moment } from 'moment'; + +export type MaterialUiPickersDate = Moment | Date \ No newline at end of file diff --git a/lib/typings/utils.ts b/lib/typings/utils.ts new file mode 100644 index 00000000000000..4dcc6d788d4e1d --- /dev/null +++ b/lib/typings/utils.ts @@ -0,0 +1,34 @@ +import { MaterialUiPickersDate } from './date' +import { isEqual, isAfter, endOfDay, setHours } from 'date-fns'; + +export interface Utils { + date(value: any): MaterialUiPickersDate; + addDays(value: MaterialUiPickersDate, count: Number): MaterialUiPickersDate; + isValid(value: MaterialUiPickersDate): boolean; + isEqual(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isNull(value: MaterialUiPickersDate): boolean; + isAfter(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isAfterDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isBeforeDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isBeforeYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isAfterYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + startOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; + endOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; + format(value: MaterialUiPickersDate): string; + formatNumber(number: number): MaterialUiPickersDate + getHours(value: MaterialUiPickersDate): number; + setHours(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; + getMinutes(value: MaterialUiPickersDate): number; + setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate + getMonth(value: MaterialUiPickersDate): number; + isSameDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean + getMeridiemText(ampm: boolean): string; + getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; + getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; + getPreviousMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; + getYear(value: MaterialUiPickersDate): number; + setYear(value: MaterialUiPickersDate): MaterialUiPickersDate; + getWeekDays(): string[]; + getWeekArray(): MaterialUiPickersDate[]; + getYearRange(): MaterialUiPickersDate[]; +} \ No newline at end of file From bb3051c4f24ea0104ead032d63aa9e6b91e04b95 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 21:35:35 +0200 Subject: [PATCH 0376/1801] Add test setup for moment and date-fns separately, fix failing unit-tests --- lib/__tests__/DatePicker/Calendar.test.js | 4 +- .../DatePicker/CalendarHeader.test.js | 4 +- lib/__tests__/DatePicker/DatePicker.test.js | 4 +- .../DatePicker/DatePickerWrapper.test.js | 38 ++++++++++--------- .../DatePicker/DatePickerWrapper.usage.tsx | 6 ++- .../DatePicker/YearSelection.test.js | 4 +- .../DateTimePicker/DateTimePicker.test.js | 4 +- .../DateTimePickerHeader.test.js | 4 +- .../DateTimePicker/DateTimePickerTabs.test.js | 4 +- .../DateTimePicker/DateTimePickerView.test.js | 4 +- .../DateTimePickerWrapper.test.js | 4 +- .../DateTimePickerWrapper.usage.tsx | 12 +++--- lib/__tests__/TimePicker/Clock.test.js | 4 +- lib/__tests__/TimePicker/ClockNumber.test.js | 4 +- lib/__tests__/TimePicker/ClockPointer.test.js | 4 +- lib/__tests__/TimePicker/HourView.test.js | 6 +-- lib/__tests__/TimePicker/MinutesView.test.js | 8 ++-- lib/__tests__/TimePicker/TimePicker.test.js | 4 +- .../TimePicker/TimePickerWrapper.test.js | 6 +-- .../TimePicker/TimePickerWrapper.usage.tsx | 6 ++- lib/__tests__/_shared/DateTextField.test.js | 17 +++------ lib/__tests__/_shared/ModalDialog.test.js | 4 +- lib/__tests__/_shared/PickerToolbar.test.js | 4 +- lib/__tests__/_shared/ToolbarButton.test.js | 4 +- lib/__tests__/test-utils.d.ts | 3 ++ lib/__tests__/test-utils.js | 14 +++++++ lib/__tests__/utils/time-utils.test.js | 7 ++-- lib/__tests__/wrappers/ModalWrapper.test.js | 4 +- lib/package.json | 5 ++- lib/src/DatePicker/Calendar.d.ts | 2 +- lib/src/DatePicker/CalendarHeader.d.ts | 2 +- lib/src/DatePicker/DatePicker.d.ts | 2 +- lib/src/DatePicker/DatePickerWrapper.d.ts | 2 +- lib/src/DatePicker/YearSelection.d.ts | 2 +- lib/src/DateTimePicker/DateTimePicker.d.ts | 2 +- .../DateTimePicker/DateTimePickerHeader.d.ts | 2 +- .../DateTimePicker/DateTimePickerWrapper.d.ts | 2 +- lib/src/TimePicker/HourView.d.ts | 2 +- lib/src/TimePicker/HourView.jsx | 2 +- lib/src/TimePicker/MinutesView.d.ts | 2 +- lib/src/TimePicker/MinutesView.jsx | 2 +- lib/src/TimePicker/TimePicker.d.ts | 2 +- lib/src/TimePicker/TimePickerWrapper.d.ts | 2 +- lib/src/TimePicker/TimePickerWrapper.jsx | 2 +- lib/src/_shared/ModalDialog.d.ts | 2 +- lib/src/index.d.ts | 3 +- 46 files changed, 128 insertions(+), 103 deletions(-) create mode 100644 lib/__tests__/test-utils.d.ts create mode 100644 lib/__tests__/test-utils.js diff --git a/lib/__tests__/DatePicker/Calendar.test.js b/lib/__tests__/DatePicker/Calendar.test.js index afe954f4d1d7c2..72163e7dd38352 100644 --- a/lib/__tests__/DatePicker/Calendar.test.js +++ b/lib/__tests__/DatePicker/Calendar.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { Calendar } from '../../src/DatePicker/Calendar'; describe('Calendar', () => { @@ -11,7 +11,7 @@ describe('Calendar', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DatePicker/CalendarHeader.test.js b/lib/__tests__/DatePicker/CalendarHeader.test.js index e0b7889293f4d6..fcda52ce90d7c6 100644 --- a/lib/__tests__/DatePicker/CalendarHeader.test.js +++ b/lib/__tests__/DatePicker/CalendarHeader.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { CalendarHeader } from '../../src/DatePicker/CalendarHeader'; describe('CalendarHeader', () => { @@ -11,7 +11,7 @@ describe('CalendarHeader', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DatePicker/DatePicker.test.js b/lib/__tests__/DatePicker/DatePicker.test.js index 35f89d48e72edb..3946ecb44ae3b5 100644 --- a/lib/__tests__/DatePicker/DatePicker.test.js +++ b/lib/__tests__/DatePicker/DatePicker.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { DatePicker } from '../../src/DatePicker/DatePicker'; describe('DatePicker', () => { @@ -11,7 +11,7 @@ describe('DatePicker', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.test.js b/lib/__tests__/DatePicker/DatePickerWrapper.test.js index 0531d1869dc89e..e76c06952d3466 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.test.js +++ b/lib/__tests__/DatePicker/DatePickerWrapper.test.js @@ -1,6 +1,6 @@ import React from 'react'; -import { mount } from 'enzyme'; import moment from 'moment'; +import { shallow } from '../test-utils'; import DatePickerWrapper from '../../src/DatePicker/DatePickerWrapper'; const spy = jest.fn(); @@ -16,30 +16,32 @@ describe('DatePickerWrapper', () => { let component; beforeEach(() => { - component = mount(); + component = shallow(); }); it('Should renders', () => { - // console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); - it('Should support keyboard input', () => { - const input = component.find('input'); - input.simulate('change', { target: { value: '2019' } }); + // 20.02.2018 -> TODO Move keyboard input tests to the text field - expect(spy).toHaveBeenCalled(); - expect(component.state().date.format()).toEqual(moment('2019', 'YYYY').format()); - }); + // it('Should support keyboard input', () => { + // const input = component.find('input'); + // input.simulate('change', { target: { value: '2019' } }); - it('Should not pass disabled dates', () => { - component.setProps({ - disableFuture: true, - }); - const input = component.find('input'); - input.simulate('change', { target: { value: '4000' } }); + // expect(spy).toHaveBeenCalled(); + // expect(component.state().date.format()).toEqual(moment('2019', 'YYYY').format()); + // }); - expect(spy).toHaveBeenCalled(); - expect(component.state().date.format()).toEqual(moment(new Date().getFullYear(), 'YYYY').format()); - }); + // it('Should not pass disabled dates', () => { + // component.setProps({ + // disableFuture: true, + // }); + // const input = component.find('input'); + // input.simulate('change', { target: { value: '4000' } }); + + // expect(spy).toHaveBeenCalled(); + // expect(component.state().date.format()).toEqual(moment(new Date().getFullYear(), 'YYYY').format()); + // }); }); diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx index 4c36b0c3722cf6..13645ffd0d2544 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx +++ b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx @@ -6,6 +6,8 @@ import { IconButton } from 'material-ui' import * as classNames from 'classnames'; import { Moment } from 'moment' import { DayComponent } from '../../src/DatePicker/Calendar' +import { utilsToUse } from '../test-utils'; +import MuiUtilsProvider from '../../src/utils/MuiPickersUtilsProvider' // initially from the docs site export default class BasicUsage extends Component<{}, {selectedDate: Date}> { @@ -21,7 +23,7 @@ export default class BasicUsage extends Component<{}, {selectedDate: Date}> { const { selectedDate } = this.state; return ( - + { onChange={this.handleChange} animateYearScrolling={false} /> - + ); } } diff --git a/lib/__tests__/DatePicker/YearSelection.test.js b/lib/__tests__/DatePicker/YearSelection.test.js index bfd5b9deb2bdd6..4aebf699562bc7 100644 --- a/lib/__tests__/DatePicker/YearSelection.test.js +++ b/lib/__tests__/DatePicker/YearSelection.test.js @@ -1,6 +1,6 @@ import React from 'react'; -import { shallow } from 'enzyme'; import moment from 'moment'; +import { shallow } from '../test-utils'; import { YearSelection } from '../../src/DatePicker/YearSelection'; describe('YearSelection', () => { @@ -11,7 +11,7 @@ describe('YearSelection', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DateTimePicker/DateTimePicker.test.js b/lib/__tests__/DateTimePicker/DateTimePicker.test.js index e0bc3e593f648a..ad5c6254c7d215 100644 --- a/lib/__tests__/DateTimePicker/DateTimePicker.test.js +++ b/lib/__tests__/DateTimePicker/DateTimePicker.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { DateTimePicker } from '../../src/DateTimePicker/DateTimePicker'; describe('DateTimePicker', () => { @@ -14,7 +14,7 @@ describe('DateTimePicker', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DateTimePicker/DateTimePickerHeader.test.js b/lib/__tests__/DateTimePicker/DateTimePickerHeader.test.js index db85631e10e717..3cba99ed606ed8 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerHeader.test.js +++ b/lib/__tests__/DateTimePicker/DateTimePickerHeader.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { DateTimePickerHeader } from '../../src/DateTimePicker/DateTimePickerHeader'; describe('DateTimePickerHeader', () => { @@ -16,7 +16,7 @@ describe('DateTimePickerHeader', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DateTimePicker/DateTimePickerTabs.test.js b/lib/__tests__/DateTimePicker/DateTimePickerTabs.test.js index 23c5c29d6dbddc..2930c4dce82c62 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerTabs.test.js +++ b/lib/__tests__/DateTimePicker/DateTimePickerTabs.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { DateTimePickerTabs } from '../../src/DateTimePicker/DateTimePickerTabs'; describe('DateTimePickerTabs', () => { @@ -13,7 +13,7 @@ describe('DateTimePickerTabs', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DateTimePicker/DateTimePickerView.test.js b/lib/__tests__/DateTimePicker/DateTimePickerView.test.js index 10fa9b985330ed..a5a4b1f5dc1c85 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerView.test.js +++ b/lib/__tests__/DateTimePicker/DateTimePickerView.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { DateTimePickerView } from '../../src/DateTimePicker/DateTimePickerView'; describe('DateTimePickerView', () => { @@ -10,7 +10,7 @@ describe('DateTimePickerView', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js index ea9dee89fb59a7..e36fd87967a360 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { DateTimePickerWrapper } from '../../src/DateTimePicker/DateTimePickerWrapper'; describe('DateTimePickerWrapper', () => { @@ -10,7 +10,7 @@ describe('DateTimePickerWrapper', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx index 82b9d66bbb50f6..d41132c6fd8e7b 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx @@ -6,7 +6,9 @@ import DateTimePickerWrapper from '../../src/DateTimePicker/DateTimePickerWrapp import * as classNames from 'classnames' import { Moment } from 'moment' import * as PropTypes from 'prop-types' -import {DayComponent} from '../../src/DatePicker/Calendar' +import { DayComponent } from '../../src/DatePicker/Calendar' +import { utilsToUse } from '../test-utils'; +import MuiUtilsProvider from '../../src/utils/MuiPickersUtilsProvider' // FIXME: src vs exported component names a source of confusion // FIXME https://github.com/dmtrKovalenko/material-ui-pickers/issues/169 @@ -25,7 +27,7 @@ export default class BasicUsage extends Component<{}, {selectedDate: Date}> { const { selectedDate } = this.state; return ( - + { ), }} /> - + ); } } @@ -90,7 +92,7 @@ class CustomElements extends Component<{classes: any}, {selectedDate: Date}> { const { selectedDate } = this.state; return ( - + { renderDay={this.renderCustomDayForDateTime} returnMoment /> - + ); } } \ No newline at end of file diff --git a/lib/__tests__/TimePicker/Clock.test.js b/lib/__tests__/TimePicker/Clock.test.js index 058a2bcc095665..ce756a3fe3ea2a 100644 --- a/lib/__tests__/TimePicker/Clock.test.js +++ b/lib/__tests__/TimePicker/Clock.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { Clock } from '../../src/TimePicker/Clock'; describe('Clock', () => { @@ -10,7 +10,7 @@ describe('Clock', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/ClockNumber.test.js b/lib/__tests__/TimePicker/ClockNumber.test.js index e694aa84c061b0..6f94bf52e65ee9 100644 --- a/lib/__tests__/TimePicker/ClockNumber.test.js +++ b/lib/__tests__/TimePicker/ClockNumber.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { ClockNumber } from '../../src/TimePicker/ClockNumber'; describe('ClockNumber', () => { @@ -10,7 +10,7 @@ describe('ClockNumber', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/ClockPointer.test.js b/lib/__tests__/TimePicker/ClockPointer.test.js index 0e920afec6d03e..c4ed96541d69ac 100644 --- a/lib/__tests__/TimePicker/ClockPointer.test.js +++ b/lib/__tests__/TimePicker/ClockPointer.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { ClockPointer } from '../../src/TimePicker/ClockPointer'; describe('ClockPointer', () => { @@ -10,7 +10,7 @@ describe('ClockPointer', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/HourView.test.js b/lib/__tests__/TimePicker/HourView.test.js index 8bce4fcad1b1e7..387c53e501a638 100644 --- a/lib/__tests__/TimePicker/HourView.test.js +++ b/lib/__tests__/TimePicker/HourView.test.js @@ -1,8 +1,8 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; -import HourView from '../../src/TimePicker/HourView'; +import { HourView } from '../../src/TimePicker/HourView'; const date = moment(); describe('HourView', () => { @@ -13,7 +13,7 @@ describe('HourView', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/MinutesView.test.js b/lib/__tests__/TimePicker/MinutesView.test.js index 8b168ae122ef82..d62d60ba686480 100644 --- a/lib/__tests__/TimePicker/MinutesView.test.js +++ b/lib/__tests__/TimePicker/MinutesView.test.js @@ -1,10 +1,10 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; -import MinutesView from '../../src/TimePicker/MinutesView'; +import { MinutesView } from '../../src/TimePicker/MinutesView'; -const date = moment(); +const date = process.env.UTILS === 'moment' ? moment() : new Date(); describe('MinutesView', () => { let component; @@ -14,7 +14,7 @@ describe('MinutesView', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/TimePicker.test.js b/lib/__tests__/TimePicker/TimePicker.test.js index ee9331d98817ac..1a92ad9703b93c 100644 --- a/lib/__tests__/TimePicker/TimePicker.test.js +++ b/lib/__tests__/TimePicker/TimePicker.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import { TimePicker } from '../../src/TimePicker/TimePicker'; describe('TimePicker', () => { @@ -15,7 +15,7 @@ describe('TimePicker', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/TimePickerWrapper.test.js b/lib/__tests__/TimePicker/TimePickerWrapper.test.js index c1058f39d0fe26..cd406b65e0c14e 100644 --- a/lib/__tests__/TimePicker/TimePickerWrapper.test.js +++ b/lib/__tests__/TimePicker/TimePickerWrapper.test.js @@ -1,6 +1,6 @@ import React from 'react'; -import { shallow } from 'enzyme'; -import TimePickerWrapper from '../../src/TimePicker/TimePickerWrapper'; +import { shallow } from '../test-utils'; +import { TimePickerWrapper } from '../../src/TimePicker/TimePickerWrapper'; describe('TimePickerWrapper', () => { let component; @@ -10,7 +10,7 @@ describe('TimePickerWrapper', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx b/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx index 475c3763d8331a..5de5940f56716a 100644 --- a/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx +++ b/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx @@ -2,6 +2,8 @@ import * as React from 'react' import { Fragment, Component } from 'react'; import TimePickerWrapper from '../../src/TimePicker/TimePickerWrapper'; import { Moment } from 'moment' +import { utilsToUse } from '../test-utils'; +import MuiUtilsProvider from '../../src/utils/MuiPickersUtilsProvider' // initially from the docs site export default class BasicUsage extends Component<{}, {selectedDate: Date}> { @@ -17,7 +19,7 @@ export default class BasicUsage extends Component<{}, {selectedDate: Date}> { const { selectedDate } = this.state; return ( - + { value={selectedDate} onChange={this.handleChange} /> - + ); } } \ No newline at end of file diff --git a/lib/__tests__/_shared/DateTextField.test.js b/lib/__tests__/_shared/DateTextField.test.js index fc545c50ccc23a..8851f0fe81fde0 100644 --- a/lib/__tests__/_shared/DateTextField.test.js +++ b/lib/__tests__/_shared/DateTextField.test.js @@ -1,27 +1,22 @@ import React from 'react'; -import { createShallow, createMount } from 'material-ui/test-utils'; +import { createMount } from 'material-ui/test-utils'; +import { shallow } from '../test-utils'; import DateTextField from '../../src/_shared/DateTextField'; describe('DateTextField', () => { let component; beforeEach(() => { - const shallow = createShallow({ dive: true }); component = shallow(); }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); describe('DateTextField with custom TextField', () => { - let shallow; - beforeEach(() => { - shallow = createShallow({ dive: true }); - }); - it('Should handle a component function', () => { function CustomTextField(props) { return ( @@ -32,21 +27,21 @@ describe('DateTextField with custom TextField', () => { const component = shallow(); // Check InputProps to make sure DateTextField is passing props to the custom component - expect(component.prop('InputProps')).toBeTruthy(); + expect(component.props('InputProps')).toBeTruthy(); expect(component.find('li')).toBeTruthy(); }); it('Should handle a component string', () => { const component = shallow(); - expect(component.prop('InputProps')).toBeTruthy(); + expect(component.props('InputProps')).toBeTruthy(); expect(component.find('li')).toBeTruthy(); }); it('Should not handle a node', () => { const mount = createMount(); expect(() => { - mount(} />); + mount(} />); }).toThrow(); }); }); diff --git a/lib/__tests__/_shared/ModalDialog.test.js b/lib/__tests__/_shared/ModalDialog.test.js index a5e3e74478978c..563ca39f450ff1 100644 --- a/lib/__tests__/_shared/ModalDialog.test.js +++ b/lib/__tests__/_shared/ModalDialog.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import ModalDialog from '../../src/_shared/ModalDialog'; describe('ModalDialog', () => { @@ -10,7 +10,7 @@ describe('ModalDialog', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/_shared/PickerToolbar.test.js b/lib/__tests__/_shared/PickerToolbar.test.js index d88505b98a4327..4d6edbb165c66d 100644 --- a/lib/__tests__/_shared/PickerToolbar.test.js +++ b/lib/__tests__/_shared/PickerToolbar.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import PickerToolbar from '../../src/_shared/PickerToolbar'; describe('PickerToolbar', () => { @@ -10,7 +10,7 @@ describe('PickerToolbar', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/_shared/ToolbarButton.test.js b/lib/__tests__/_shared/ToolbarButton.test.js index e50fa0cd844e37..a85c11f11459e7 100644 --- a/lib/__tests__/_shared/ToolbarButton.test.js +++ b/lib/__tests__/_shared/ToolbarButton.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import ToolbarButton from '../../src/_shared/ToolbarButton'; describe('ToolbarButton', () => { @@ -10,7 +10,7 @@ describe('ToolbarButton', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/__tests__/test-utils.d.ts b/lib/__tests__/test-utils.d.ts new file mode 100644 index 00000000000000..169b449d6e6add --- /dev/null +++ b/lib/__tests__/test-utils.d.ts @@ -0,0 +1,3 @@ +import { Utils } from '../typings/utils' + +export const utilsToUse: Utils; \ No newline at end of file diff --git a/lib/__tests__/test-utils.js b/lib/__tests__/test-utils.js new file mode 100644 index 00000000000000..3c2ffab0b62747 --- /dev/null +++ b/lib/__tests__/test-utils.js @@ -0,0 +1,14 @@ +import React from 'react'; +import * as enzyme from 'enzyme'; +import dateFnsUtils from '../src/utils/date-fns-utils'; +import momentUtils from '../src/utils/moment-utils'; + +export const utilsToUse = process.env.UTILS === 'moment' + ? momentUtils + : dateFnsUtils; + +const getComponentWithUtils = Component => React.cloneElement(Component, { utils: utilsToUse }); + +export const shallow = Component => enzyme.shallow(getComponentWithUtils(Component)); + +export const mount = Component => enzyme.mount(getComponentWithUtils(Component)); diff --git a/lib/__tests__/utils/time-utils.test.js b/lib/__tests__/utils/time-utils.test.js index 8814579796d780..505d9b2379a16a 100644 --- a/lib/__tests__/utils/time-utils.test.js +++ b/lib/__tests__/utils/time-utils.test.js @@ -1,5 +1,6 @@ import moment from 'moment'; -import { getHours, getMinutes, convertToMeridiem } from '../../src/utils/time-utils'; +import { utilsToUse } from '../test-utils'; +import { getHours, getMinutes, convertToMeridiem } from '../../src/_helpers/time-utils'; describe('Time utils', () => { it('Should properly calculate hours', () => { @@ -11,8 +12,8 @@ describe('Time utils', () => { }); it('Should convert time to meridiem', () => { - const time = convertToMeridiem(moment('2017-01-01T16:00'), 'am', true); - expect(time.hours()).toBe(4); + const time = convertToMeridiem(moment('2017-01-01T16:00'), 'am', true, utilsToUse); + expect(utilsToUse.getHours(time)).toBe(4); }); }); diff --git a/lib/__tests__/wrappers/ModalWrapper.test.js b/lib/__tests__/wrappers/ModalWrapper.test.js index a94327a06324df..d6864706c1b2b4 100644 --- a/lib/__tests__/wrappers/ModalWrapper.test.js +++ b/lib/__tests__/wrappers/ModalWrapper.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { shallow } from 'enzyme'; +import { shallow } from '../test-utils'; import ModalWrapper from '../../src/wrappers/ModalWrapper'; describe('ModalWrapper', () => { @@ -10,7 +10,7 @@ describe('ModalWrapper', () => { }); it('Should renders', () => { - console.log(component.debug()); // TODO REMOVE ME + // console.log(component.debug()); expect(component).toBeTruthy(); }); }); diff --git a/lib/package.json b/lib/package.json index ff7bea32dcda1b..7676d3acb26be3 100644 --- a/lib/package.json +++ b/lib/package.json @@ -45,7 +45,10 @@ "react-text-mask": "^5.0.2" }, "scripts": { - "test": "jest && npm run typescript", + "test": "npm run test:moment && npm run test:date-fns", + "all-tests": "jest && npm run typescript", + "test:moment": "UTILS=moment && npm run all-tests", + "test:date-fns": "UTILS=date-fns && npm run all-tests", "typescript": "tsc -p tsconfig.json", "start": "cross-env NODE_ENV=development rollup --config --watch", "prebuild": "rimraf build", diff --git a/lib/src/DatePicker/Calendar.d.ts b/lib/src/DatePicker/Calendar.d.ts index 7e0167ad689cfd..c472202d4a81d4 100644 --- a/lib/src/DatePicker/Calendar.d.ts +++ b/lib/src/DatePicker/Calendar.d.ts @@ -1,7 +1,7 @@ import { ComponentClass, ReactElement, ReactNode } from 'react'; import { IconButtonProps } from 'material-ui/IconButton'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; export type DayComponent = ReactElement; diff --git a/lib/src/DatePicker/CalendarHeader.d.ts b/lib/src/DatePicker/CalendarHeader.d.ts index 0e6fe1eb1cbfb0..cb62a8ecb5bdd7 100644 --- a/lib/src/DatePicker/CalendarHeader.d.ts +++ b/lib/src/DatePicker/CalendarHeader.d.ts @@ -1,5 +1,5 @@ import { ComponentClass, ReactNode } from 'react'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; export interface CalendarHeaderProps { diff --git a/lib/src/DatePicker/DatePicker.d.ts b/lib/src/DatePicker/DatePicker.d.ts index 5dcfd2d0ee719f..40c821ccc4622b 100644 --- a/lib/src/DatePicker/DatePicker.d.ts +++ b/lib/src/DatePicker/DatePicker.d.ts @@ -1,6 +1,6 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { RenderDay } from './Calendar'; import { Moment } from 'moment'; diff --git a/lib/src/DatePicker/DatePickerWrapper.d.ts b/lib/src/DatePicker/DatePickerWrapper.d.ts index 9fb6c8cdda6ea2..b9ddc840f2038e 100644 --- a/lib/src/DatePicker/DatePickerWrapper.d.ts +++ b/lib/src/DatePicker/DatePickerWrapper.d.ts @@ -1,6 +1,6 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { RenderDay } from './Calendar'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { Moment } from 'moment'; diff --git a/lib/src/DatePicker/YearSelection.d.ts b/lib/src/DatePicker/YearSelection.d.ts index 34ff84b4034bd5..c96b98a8729177 100644 --- a/lib/src/DatePicker/YearSelection.d.ts +++ b/lib/src/DatePicker/YearSelection.d.ts @@ -1,6 +1,6 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; export interface YearSelectionProps { diff --git a/lib/src/DateTimePicker/DateTimePicker.d.ts b/lib/src/DateTimePicker/DateTimePicker.d.ts index 034e879bcb9e53..54ec2ba2d1a96b 100644 --- a/lib/src/DateTimePicker/DateTimePicker.d.ts +++ b/lib/src/DateTimePicker/DateTimePicker.d.ts @@ -1,7 +1,7 @@ import { ComponentClass, ReactNode } from 'react'; import { DateTimePickerView } from '../constants/date-picker-view'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { RenderDay } from '../DatePicker/Calendar'; import { Moment } from 'moment'; diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.d.ts b/lib/src/DateTimePicker/DateTimePickerHeader.d.ts index d12c876dc90330..8864e92564211c 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.d.ts +++ b/lib/src/DateTimePicker/DateTimePickerHeader.d.ts @@ -1,6 +1,6 @@ import { ComponentClass } from 'react'; import { DateTimePickerView } from '../constants/date-picker-view'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; type MeridiemMode = 'am' | 'pm'; diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts b/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts index 36d669df156754..37794cc6f33be8 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts @@ -1,7 +1,7 @@ import { ComponentClass, ReactNode } from 'react'; import { DateTimePickerView } from '../constants/date-picker-view'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { RenderDay } from '../DatePicker/Calendar'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { Moment } from 'moment'; diff --git a/lib/src/TimePicker/HourView.d.ts b/lib/src/TimePicker/HourView.d.ts index f3f57065244107..06b2a7e0f31174 100644 --- a/lib/src/TimePicker/HourView.d.ts +++ b/lib/src/TimePicker/HourView.d.ts @@ -1,5 +1,5 @@ import { ComponentClass } from 'react'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; export interface HourViewProps { diff --git a/lib/src/TimePicker/HourView.jsx b/lib/src/TimePicker/HourView.jsx index a4796a77ec3648..2d7a59d4116d78 100644 --- a/lib/src/TimePicker/HourView.jsx +++ b/lib/src/TimePicker/HourView.jsx @@ -5,7 +5,7 @@ import { HOURS } from '../constants/clock-types'; import ClockNumber from './ClockNumber'; import withUtils from '../_shared/WithUtils'; -class HourView extends PureComponent { +export class HourView extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, diff --git a/lib/src/TimePicker/MinutesView.d.ts b/lib/src/TimePicker/MinutesView.d.ts index 1c483ab6001e4f..76e705056e18d5 100644 --- a/lib/src/TimePicker/MinutesView.d.ts +++ b/lib/src/TimePicker/MinutesView.d.ts @@ -1,5 +1,5 @@ import { ComponentClass } from 'react'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; export interface MinutesViewProps { diff --git a/lib/src/TimePicker/MinutesView.jsx b/lib/src/TimePicker/MinutesView.jsx index 87b4b89cf38510..2b280fefd5c7d8 100644 --- a/lib/src/TimePicker/MinutesView.jsx +++ b/lib/src/TimePicker/MinutesView.jsx @@ -5,7 +5,7 @@ import { MINUTES } from '../constants/clock-types'; import ClockNumber from './ClockNumber'; import withUtils from '../_shared/WithUtils'; -class MinutesView extends Component { +export class MinutesView extends Component { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, diff --git a/lib/src/TimePicker/TimePicker.d.ts b/lib/src/TimePicker/TimePicker.d.ts index a4b8ccddfffee4..727aa518f74067 100644 --- a/lib/src/TimePicker/TimePicker.d.ts +++ b/lib/src/TimePicker/TimePicker.d.ts @@ -1,5 +1,5 @@ import { ComponentClass } from 'react'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { Moment } from 'moment'; export interface TimePickerProps { diff --git a/lib/src/TimePicker/TimePickerWrapper.d.ts b/lib/src/TimePicker/TimePickerWrapper.d.ts index 1e93b6eddbda4a..a2b9071d4f5372 100644 --- a/lib/src/TimePicker/TimePickerWrapper.d.ts +++ b/lib/src/TimePicker/TimePickerWrapper.d.ts @@ -1,5 +1,5 @@ import { ComponentClass } from 'react'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { PickerBaseProps } from '../_shared/PickerBase' import { Omit } from 'material-ui' diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/TimePickerWrapper.jsx index ba6346f944c405..919332855858c4 100644 --- a/lib/src/TimePicker/TimePickerWrapper.jsx +++ b/lib/src/TimePicker/TimePickerWrapper.jsx @@ -6,7 +6,7 @@ import TimePicker from './TimePicker'; import PickerBase from '../_shared/PickerBase'; import withUtils from '../_shared/WithUtils'; -class TimePickerWrapper extends PickerBase { +export class TimePickerWrapper extends PickerBase { static propTypes = { value: PropTypes.oneOfType([ PropTypes.object, diff --git a/lib/src/_shared/ModalDialog.d.ts b/lib/src/_shared/ModalDialog.d.ts index 2fb32508b0799f..c457e958db59d3 100644 --- a/lib/src/_shared/ModalDialog.d.ts +++ b/lib/src/_shared/ModalDialog.d.ts @@ -1,6 +1,6 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; -import { Utils } from '../utils/utils'; +import { Utils } from '../../typings/utils'; import { DialogProps } from 'material-ui/Dialog'; import { ButtonProps } from 'material-ui/Button'; diff --git a/lib/src/index.d.ts b/lib/src/index.d.ts index 50298e750961cd..7d1edc8f10f01c 100644 --- a/lib/src/index.d.ts +++ b/lib/src/index.d.ts @@ -1,4 +1,5 @@ -export { Utils } from './utils/utils'; +export { default as dateFnsUtils } from './utils/date-fns-utils' +export { default as momentUtils } from './utils/moment-utils' export { default as DatePicker } from './DatePicker/DatePickerWrapper'; export { default as TimePicker } from './TimePicker/TimePickerWrapper'; From 46a1938b101af9ea5a1a88f30389a0b47255a051 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 21:49:50 +0200 Subject: [PATCH 0377/1801] Fix not imported full componenets in some tests --- .../DatePicker/DatePickerWrapper.test.js | 2 +- lib/__tests__/_shared/DateTextField.test.js | 18 ++++++++++++------ lib/src/DatePicker/DatePickerWrapper.jsx | 2 +- lib/src/DatePicker/Year.jsx | 2 +- lib/src/_shared/DateTextField.jsx | 3 ++- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.test.js b/lib/__tests__/DatePicker/DatePickerWrapper.test.js index e76c06952d3466..3780713a423237 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.test.js +++ b/lib/__tests__/DatePicker/DatePickerWrapper.test.js @@ -1,7 +1,7 @@ import React from 'react'; import moment from 'moment'; import { shallow } from '../test-utils'; -import DatePickerWrapper from '../../src/DatePicker/DatePickerWrapper'; +import { DatePickerWrapper } from '../../src/DatePicker/DatePickerWrapper'; const spy = jest.fn(); diff --git a/lib/__tests__/_shared/DateTextField.test.js b/lib/__tests__/_shared/DateTextField.test.js index 8851f0fe81fde0..1ebc45dc9dda6a 100644 --- a/lib/__tests__/_shared/DateTextField.test.js +++ b/lib/__tests__/_shared/DateTextField.test.js @@ -1,13 +1,13 @@ import React from 'react'; import { createMount } from 'material-ui/test-utils'; -import { shallow } from '../test-utils'; -import DateTextField from '../../src/_shared/DateTextField'; +import { shallow, utilsToUse } from '../test-utils'; +import { DateTextField } from '../../src/_shared/DateTextField'; describe('DateTextField', () => { let component; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { @@ -24,7 +24,13 @@ describe('DateTextField with custom TextField', () => { ); } - const component = shallow(); + const component = shallow( + + ); // Check InputProps to make sure DateTextField is passing props to the custom component expect(component.props('InputProps')).toBeTruthy(); @@ -32,7 +38,7 @@ describe('DateTextField with custom TextField', () => { }); it('Should handle a component string', () => { - const component = shallow(); + const component = shallow(); expect(component.props('InputProps')).toBeTruthy(); expect(component.find('li')).toBeTruthy(); @@ -41,7 +47,7 @@ describe('DateTextField with custom TextField', () => { it('Should not handle a node', () => { const mount = createMount(); expect(() => { - mount(} />); + mount(} />); }).toThrow(); }); }); diff --git a/lib/src/DatePicker/DatePickerWrapper.jsx b/lib/src/DatePicker/DatePickerWrapper.jsx index 83588168f0d22f..2e245c9597a241 100644 --- a/lib/src/DatePicker/DatePickerWrapper.jsx +++ b/lib/src/DatePicker/DatePickerWrapper.jsx @@ -7,7 +7,7 @@ import DomainPropTypes from '../constants/prop-types'; import PickerBase from '../_shared/PickerBase'; import withUtils from '../_shared/WithUtils'; -class DatePickerWrapper extends PickerBase { +export class DatePickerWrapper extends PickerBase { static propTypes = { /* Datepicker value */ value: DomainPropTypes.date, diff --git a/lib/src/DatePicker/Year.jsx b/lib/src/DatePicker/Year.jsx index 4e0ccf2715811b..a74246bec30386 100644 --- a/lib/src/DatePicker/Year.jsx +++ b/lib/src/DatePicker/Year.jsx @@ -4,7 +4,7 @@ import classnames from 'classnames'; import withStyles from 'material-ui/styles/withStyles'; import Typography from 'material-ui/Typography'; -class Year extends PureComponent { +export class Year extends PureComponent { static propTypes = { children: PropTypes.node.isRequired, classes: PropTypes.object.isRequired, diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 1bba8a4923f995..ca718a8d7e5e47 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -11,7 +11,7 @@ import DomainPropTypes from '../constants/prop-types'; import MaskedInput from './MaskedInput'; import withUtils from '../_shared/WithUtils'; -class DateTextField extends PureComponent { +export class DateTextField extends PureComponent { static propTypes = { classes: PropTypes.shape({}).isRequired, value: PropTypes.oneOfType([ @@ -235,6 +235,7 @@ class DateTextField extends PureComponent { TextFieldComponent, ...other } = this.props; + console.log(classes) const { displayValue, error } = this.state; const localInputProps = { From 2e2db64c534f6d1324bede3c20892c6db7bf545e Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 20 Feb 2018 21:54:27 +0200 Subject: [PATCH 0378/1801] Remove console.log --- lib/src/_shared/DateTextField.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index ca718a8d7e5e47..b706a3b9e4d35e 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -235,7 +235,6 @@ export class DateTextField extends PureComponent { TextFieldComponent, ...other } = this.props; - console.log(classes) const { displayValue, error } = this.state; const localInputProps = { From 97ee95e130b66f9f3fa6e0a03aa91b2b5be5363b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 21 Feb 2018 12:11:42 +0200 Subject: [PATCH 0379/1801] Change build system to direct import from components name (without src) --- docs/src/App.js | 2 +- lib/.babelrc | 4 +- lib/copy.js | 4 +- lib/package-lock.json | 19 +++++-- lib/package.json | 4 +- .../{DatePickerWrapper.d.ts => index.d.ts} | 0 .../{DatePickerWrapper.jsx => index.jsx} | 0 ...{DateTimePickerWrapper.d.ts => index.d.ts} | 0 .../{DateTimePickerWrapper.jsx => index.jsx} | 0 .../{TimePickerWrapper.d.ts => index.d.ts} | 0 .../{TimePickerWrapper.jsx => index.jsx} | 0 lib/src/_shared/DateTextField.jsx | 9 ++-- lib/src/_shared/PickerBase.d.ts | 1 + lib/src/index.js | 6 +-- lib/src/utils/date-fns-utils.js | 51 ++++++++++--------- lib/src/utils/moment-utils.js | 6 ++- 16 files changed, 61 insertions(+), 45 deletions(-) rename lib/src/DatePicker/{DatePickerWrapper.d.ts => index.d.ts} (100%) rename lib/src/DatePicker/{DatePickerWrapper.jsx => index.jsx} (100%) rename lib/src/DateTimePicker/{DateTimePickerWrapper.d.ts => index.d.ts} (100%) rename lib/src/DateTimePicker/{DateTimePickerWrapper.jsx => index.jsx} (100%) rename lib/src/TimePicker/{TimePickerWrapper.d.ts => index.d.ts} (100%) rename lib/src/TimePicker/{TimePickerWrapper.jsx => index.jsx} (100%) diff --git a/docs/src/App.js b/docs/src/App.js index 9546113dfb5cf1..e57b84c8f73af3 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -56,7 +56,7 @@ export default class App extends Component {
- + copyTypings(path.resolve(__dirname, 'src'), path.resolve(__dirname, 'build/src'))) + .then(() => copyTypings(path.resolve(__dirname, 'src'), path.resolve(__dirname, 'build'))) .then(() => copyReadme()); diff --git a/lib/package-lock.json b/lib/package-lock.json index 1c071994e64bb1..753aef7edc393c 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1982,9 +1982,9 @@ } }, "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==" + "version": "2.0.0-alpha.7", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.0.0-alpha.7.tgz", + "integrity": "sha1-JFrRb5V2Tqur+ywKQf1dAzwg5Xo=" }, "debug": { "version": "2.6.9", @@ -2028,6 +2028,12 @@ "is-obj": "1.0.1" } }, + "deep-extend": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -5938,6 +5944,12 @@ "restore-cursor": "1.0.1" } }, + "date-fns": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "dev": true + }, "figures": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", @@ -7312,6 +7324,7 @@ "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", "dev": true, "requires": { + "deep-extend": "0.4.2", "ini": "1.3.5", "minimist": "1.2.0", "strip-json-comments": "2.0.1" diff --git a/lib/package.json b/lib/package.json index 7676d3acb26be3..4dab8fd317ffb7 100644 --- a/lib/package.json +++ b/lib/package.json @@ -5,7 +5,7 @@ "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", "module": "build/dist/material-ui-pickers.es.js", - "types": "./src/index.d.ts", + "types": "src/index.d.ts", "keywords": [ "material-ui", "pickers", @@ -40,7 +40,7 @@ "react-dom": "^16.2.0" }, "dependencies": { - "date-fns": "^1.29.0", + "date-fns": "^2.0.0-alpha.7", "moment-range": "^3.0.3", "react-text-mask": "^5.0.2" }, diff --git a/lib/src/DatePicker/DatePickerWrapper.d.ts b/lib/src/DatePicker/index.d.ts similarity index 100% rename from lib/src/DatePicker/DatePickerWrapper.d.ts rename to lib/src/DatePicker/index.d.ts diff --git a/lib/src/DatePicker/DatePickerWrapper.jsx b/lib/src/DatePicker/index.jsx similarity index 100% rename from lib/src/DatePicker/DatePickerWrapper.jsx rename to lib/src/DatePicker/index.jsx diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts b/lib/src/DateTimePicker/index.d.ts similarity index 100% rename from lib/src/DateTimePicker/DateTimePickerWrapper.d.ts rename to lib/src/DateTimePicker/index.d.ts diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/index.jsx similarity index 100% rename from lib/src/DateTimePicker/DateTimePickerWrapper.jsx rename to lib/src/DateTimePicker/index.jsx diff --git a/lib/src/TimePicker/TimePickerWrapper.d.ts b/lib/src/TimePicker/index.d.ts similarity index 100% rename from lib/src/TimePicker/TimePickerWrapper.d.ts rename to lib/src/TimePicker/index.d.ts diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/index.jsx similarity index 100% rename from lib/src/TimePicker/TimePickerWrapper.jsx rename to lib/src/TimePicker/index.jsx diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index b706a3b9e4d35e..59eb0543e90f7b 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -99,7 +99,6 @@ export class DateTextField extends PureComponent { minDateMessage, invalidDateMessage, } = this.props; - if (!utils.isValid(value)) { // if null - do not show error if (utils.isNull(value)) { @@ -149,10 +148,10 @@ export class DateTextField extends PureComponent { handleChange = (e) => { const { - format, clearable, onClear, utils, + format, } = this.props; if (clearable && e.target.value === '') { @@ -166,7 +165,8 @@ export class DateTextField extends PureComponent { } const oldValue = utils.date(this.state.value); - const newValue = utils.date(e.target.value, format, true); + const newValue = utils.parse(e.target.value, format); + const error = this.getError(newValue); this.setState({ @@ -175,7 +175,7 @@ export class DateTextField extends PureComponent { error, }, () => { if (!error && utils.format(newValue, 'LLLL') !== utils.format(oldValue, 'LLLL')) { - this.props.onChange(newValue, true); + this.props.onChange(newValue); } }); } @@ -190,7 +190,6 @@ export class DateTextField extends PureComponent { } e.target.blur(); - this.openPicker(e); } diff --git a/lib/src/_shared/PickerBase.d.ts b/lib/src/_shared/PickerBase.d.ts index b112ccec4e078c..83cce0615d0d13 100644 --- a/lib/src/_shared/PickerBase.d.ts +++ b/lib/src/_shared/PickerBase.d.ts @@ -1,4 +1,5 @@ import {Moment} from 'moment' +import { DateTextFieldProps } from './ModalDialog'; export interface PickerBaseProps { onChange: (date: Date | Moment) => void; diff --git a/lib/src/index.js b/lib/src/index.js index b0f44c71470ffa..dbea138ff68e27 100644 --- a/lib/src/index.js +++ b/lib/src/index.js @@ -1,8 +1,8 @@ -export { default as DatePicker } from './DatePicker/DatePickerWrapper'; +export { default as DatePicker } from './DatePicker'; -export { default as TimePicker } from './TimePicker/TimePickerWrapper'; +export { default as TimePicker } from './TimePicker'; -export { default as DateTimePicker } from './DateTimePicker/DateTimePickerWrapper'; +export { default as DateTimePicker } from './DateTimePicker'; export { default as MuiPickerUtilsProvider } from './utils/MuiPickersUtilsProvider'; diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index a146290f7ef339..53b136f0ea2ecd 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -1,31 +1,32 @@ -import addDays from 'date-fns/add_days'; -import addMonths from 'date-fns/add_months'; -import addYears from 'date-fns/add_years'; -import endOfDay from 'date-fns/end_of_day'; -import endOfMonth from 'date-fns/end_of_month'; -import endOfWeek from 'date-fns/end_of_week'; -import endOfYear from 'date-fns/end_of_year'; +import parse from 'date-fns/parse'; +import addDays from 'date-fns/addDays'; +import addMonths from 'date-fns/addMonths'; +import addYears from 'date-fns/addYears'; +import endOfDay from 'date-fns/endOfDay'; +import endOfMonth from 'date-fns/endOfMonth'; +import endOfWeek from 'date-fns/endOfWeek'; +import endOfYear from 'date-fns/endOfYear'; import format from 'date-fns/format'; -import isAfter from 'date-fns/is_after'; -import isBefore from 'date-fns/is_before'; -import isSameDay from 'date-fns/is_same_day'; -import isValid from 'date-fns/is_valid'; -import setDay from 'date-fns/set_day'; -import setHours from 'date-fns/set_hours'; -import setMinutes from 'date-fns/set_minutes'; -import setYear from 'date-fns/set_year'; -import startOfDay from 'date-fns/start_of_day'; -import startOfMonth from 'date-fns/start_of_month'; -import startOfWeek from 'date-fns/start_of_week'; -import startOfYear from 'date-fns/start_of_year'; -import getHours from 'date-fns/get_hours'; -import getYear from 'date-fns/get_year'; -import isEqual from 'date-fns/is_equal'; +import isAfter from 'date-fns/isAfter'; +import isBefore from 'date-fns/isBefore'; +import isSameDay from 'date-fns/isSameDay'; +import isValid from 'date-fns/isValid'; +import setDay from 'date-fns/setDay'; +import setHours from 'date-fns/setHours'; +import setMinutes from 'date-fns/setMinutes'; +import setYear from 'date-fns/setYear'; +import startOfDay from 'date-fns/startOfDay'; +import startOfMonth from 'date-fns/startOfMonth'; +import startOfWeek from 'date-fns/startOfWeek'; +import startOfYear from 'date-fns/startOfYear'; +import getHours from 'date-fns/getHours'; +import getYear from 'date-fns/getYear'; +import isEqual from 'date-fns/isEqual'; export default class DateFnsUtils { - static date(value) { - return new Date(value); - } + static date = value => new Date(value) + + static parse = (value, formatString) => parse(value, formatString, new Date()) static addDays = addDays diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index a84d5a2c392afd..11d5869bba70d7 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -4,8 +4,10 @@ import { extendMoment } from 'moment-range'; const moment = extendMoment(Moment); export default class MomentUtils { - static date(value) { - return moment(value); + static parse = moment + + static date(value, formatString) { + return moment(value, formatString); } static isValid(date) { From fad69c58d72ec88126b8f501a5d9a1014fb833c1 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 21 Feb 2018 12:15:20 +0200 Subject: [PATCH 0380/1801] Fix unit tests --- lib/__tests__/DatePicker/DatePickerWrapper.test.js | 2 +- lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx | 2 +- lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js | 2 +- .../DateTimePicker/DateTimePickerWrapper.usage.tsx | 6 +----- lib/__tests__/TimePicker/TimePickerWrapper.test.js | 2 +- lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx | 2 +- lib/src/index.d.ts | 6 +++--- 7 files changed, 9 insertions(+), 13 deletions(-) diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.test.js b/lib/__tests__/DatePicker/DatePickerWrapper.test.js index 3780713a423237..2ae2b1a6baf924 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.test.js +++ b/lib/__tests__/DatePicker/DatePickerWrapper.test.js @@ -1,7 +1,7 @@ import React from 'react'; import moment from 'moment'; import { shallow } from '../test-utils'; -import { DatePickerWrapper } from '../../src/DatePicker/DatePickerWrapper'; +import { DatePickerWrapper } from '../../src/DatePicker'; const spy = jest.fn(); diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx index 13645ffd0d2544..8dcf5ab68c9246 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx +++ b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import * as PropTypes from 'prop-types'; import { Fragment, Component } from 'react'; -import DatePickerWrapper from '../../src/DatePicker/DatePickerWrapper'; +import DatePickerWrapper from '../../src/DatePicker'; import { IconButton } from 'material-ui' import * as classNames from 'classnames'; import { Moment } from 'moment' diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js index e36fd87967a360..03a0498da28fba 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from '../test-utils'; -import { DateTimePickerWrapper } from '../../src/DateTimePicker/DateTimePickerWrapper'; +import { DateTimePickerWrapper } from '../../src/DateTimePicker'; describe('DateTimePickerWrapper', () => { let component; diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx index d41132c6fd8e7b..1002e23589dbaf 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx @@ -2,7 +2,7 @@ import * as React from 'react' import { Fragment, Component } from 'react'; import { IconButton, Typography, Icon } from 'material-ui'; import InputAdornment from 'material-ui/Input/InputAdornment'; -import DateTimePickerWrapper from '../../src/DateTimePicker/DateTimePickerWrapper'; +import DateTimePickerWrapper from '../../src/DateTimePicker'; import * as classNames from 'classnames' import { Moment } from 'moment' import * as PropTypes from 'prop-types' @@ -10,10 +10,6 @@ import { DayComponent } from '../../src/DatePicker/Calendar' import { utilsToUse } from '../test-utils'; import MuiUtilsProvider from '../../src/utils/MuiPickersUtilsProvider' -// FIXME: src vs exported component names a source of confusion -// FIXME https://github.com/dmtrKovalenko/material-ui-pickers/issues/169 - -// initially from the docs site export default class BasicUsage extends Component<{}, {selectedDate: Date}> { state = { selectedDate: new Date(), diff --git a/lib/__tests__/TimePicker/TimePickerWrapper.test.js b/lib/__tests__/TimePicker/TimePickerWrapper.test.js index cd406b65e0c14e..d096ce216f7e72 100644 --- a/lib/__tests__/TimePicker/TimePickerWrapper.test.js +++ b/lib/__tests__/TimePicker/TimePickerWrapper.test.js @@ -1,6 +1,6 @@ import React from 'react'; import { shallow } from '../test-utils'; -import { TimePickerWrapper } from '../../src/TimePicker/TimePickerWrapper'; +import { TimePickerWrapper } from '../../src/TimePicker'; describe('TimePickerWrapper', () => { let component; diff --git a/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx b/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx index 5de5940f56716a..2c4e9bcc7c5eca 100644 --- a/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx +++ b/lib/__tests__/TimePicker/TimePickerWrapper.usage.tsx @@ -1,6 +1,6 @@ import * as React from 'react' import { Fragment, Component } from 'react'; -import TimePickerWrapper from '../../src/TimePicker/TimePickerWrapper'; +import TimePickerWrapper from '../../src/TimePicker'; import { Moment } from 'moment' import { utilsToUse } from '../test-utils'; import MuiUtilsProvider from '../../src/utils/MuiPickersUtilsProvider' diff --git a/lib/src/index.d.ts b/lib/src/index.d.ts index 7d1edc8f10f01c..b8d24c1b28464b 100644 --- a/lib/src/index.d.ts +++ b/lib/src/index.d.ts @@ -1,6 +1,6 @@ export { default as dateFnsUtils } from './utils/date-fns-utils' export { default as momentUtils } from './utils/moment-utils' -export { default as DatePicker } from './DatePicker/DatePickerWrapper'; -export { default as TimePicker } from './TimePicker/TimePickerWrapper'; -export { default as DateTimePicker } from './DateTimePicker/DateTimePickerWrapper'; +export { default as DatePicker } from './DatePicker'; +export { default as TimePicker } from './TimePicker'; +export { default as DateTimePicker } from './DateTimePicker'; From e8e5ec1e64d4e68a76c7cb5403a3be24f0e7809f Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 21 Feb 2018 14:49:42 +0200 Subject: [PATCH 0381/1801] Change all moment types to Date or Moment in type defenitions --- lib/src/DatePicker/Calendar.d.ts | 12 ++++++------ lib/src/DatePicker/CalendarHeader.d.ts | 4 ++-- lib/src/DatePicker/DatePicker.d.ts | 8 ++++---- lib/src/DatePicker/YearSelection.d.ts | 6 +++--- lib/src/DatePicker/index.d.ts | 4 ++-- lib/src/DateTimePicker/DateTimePicker.d.ts | 8 ++++---- lib/src/DateTimePicker/DateTimePickerHeader.d.ts | 4 ++-- lib/src/DateTimePicker/index.d.ts | 4 ++-- lib/src/TimePicker/HourView.d.ts | 6 +++--- lib/src/TimePicker/MinutesView.d.ts | 6 +++--- lib/src/TimePicker/TimePicker.d.ts | 6 +++--- 11 files changed, 34 insertions(+), 34 deletions(-) diff --git a/lib/src/DatePicker/Calendar.d.ts b/lib/src/DatePicker/Calendar.d.ts index c472202d4a81d4..1b5cc12e172ee0 100644 --- a/lib/src/DatePicker/Calendar.d.ts +++ b/lib/src/DatePicker/Calendar.d.ts @@ -2,31 +2,31 @@ import { ComponentClass, ReactElement, ReactNode } from 'react'; import { IconButtonProps } from 'material-ui/IconButton'; import { DateType } from '../constants/prop-types'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export type DayComponent = ReactElement; export type RenderDay = ( - day: Moment, - selectedDate: Moment, + day: MaterialUiPickersDate, + selectedDate: MaterialUiPickersDate, dayInCurrentMonth: boolean, dayComponent: DayComponent, ) => ReactNode; export interface CalendarProps { - date: Moment; + date: MaterialUiPickersDate; minDate?: DateType; maxDate?: DateType; - onChange: (date: Moment) => void; + onChange: (date: MaterialUiPickersDate) => void; disablePast?: boolean; disableFuture?: boolean; leftArrowIcon?: ReactNode; rightArrowIcon?: ReactNode; renderDay?: RenderDay; utils?: Utils; - shouldDisableDate?: (day: Moment) => boolean; + shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } declare const Calendar: ComponentClass; diff --git a/lib/src/DatePicker/CalendarHeader.d.ts b/lib/src/DatePicker/CalendarHeader.d.ts index cb62a8ecb5bdd7..038b2396b8a051 100644 --- a/lib/src/DatePicker/CalendarHeader.d.ts +++ b/lib/src/DatePicker/CalendarHeader.d.ts @@ -1,10 +1,10 @@ import { ComponentClass, ReactNode } from 'react'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface CalendarHeaderProps { currentMonth: object; - onMonthChange: (date: Moment) => void; + onMonthChange: (date: MaterialUiPickersDate) => void; leftArrowIcon?: ReactNode; rightArrowIcon?: ReactNode; utils?: Utils; diff --git a/lib/src/DatePicker/DatePicker.d.ts b/lib/src/DatePicker/DatePicker.d.ts index 40c821ccc4622b..1f1dcab80b8551 100644 --- a/lib/src/DatePicker/DatePicker.d.ts +++ b/lib/src/DatePicker/DatePicker.d.ts @@ -2,13 +2,13 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; import { Utils } from '../../typings/utils'; import { RenderDay } from './Calendar'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface DatePickerProps { - date: Moment; + date: MaterialUiPickersDate; minDate?: DateType; maxDate?: DateType; - onChange: (date: Moment, isFinished?: boolean) => void; + onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; disablePast?: boolean; disableFuture?: boolean; animateYearScrolling?: boolean; @@ -17,7 +17,7 @@ export interface DatePickerProps { rightArrowIcon?: ReactNode; renderDay?: RenderDay; utils?: Utils; - shouldDisableDate?: (day: Moment) => boolean; + shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } declare const DatePicker: ComponentClass; diff --git a/lib/src/DatePicker/YearSelection.d.ts b/lib/src/DatePicker/YearSelection.d.ts index c96b98a8729177..c9c76466ce2fe3 100644 --- a/lib/src/DatePicker/YearSelection.d.ts +++ b/lib/src/DatePicker/YearSelection.d.ts @@ -1,13 +1,13 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface YearSelectionProps { - date: Moment; + date: MaterialUiPickersDate; minDate?: DateType; maxDate?: DateType; - onChange: (date: Moment) => void; + onChange: (date: MaterialUiPickersDate) => void; disablePast?: boolean; disableFuture?: boolean; animateYearScrolling?: boolean; diff --git a/lib/src/DatePicker/index.d.ts b/lib/src/DatePicker/index.d.ts index b9ddc840f2038e..965e9a87e88216 100644 --- a/lib/src/DatePicker/index.d.ts +++ b/lib/src/DatePicker/index.d.ts @@ -3,7 +3,7 @@ import { DateType } from '../constants/prop-types'; import { Utils } from '../../typings/utils'; import { RenderDay } from './Calendar'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' import { PickerBaseProps } from '../_shared/PickerBase' import { Omit } from 'material-ui' @@ -19,7 +19,7 @@ export interface DatePickerWrapperProps extends PickerBaseProps, rightArrowIcon?: ReactNode; renderDay?: RenderDay; utils?: Utils; - shouldDisableDate?: (day: Moment) => boolean; + shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } declare const DatePickerWrapper: ComponentClass; diff --git a/lib/src/DateTimePicker/DateTimePicker.d.ts b/lib/src/DateTimePicker/DateTimePicker.d.ts index 54ec2ba2d1a96b..2c1aa406eaea23 100644 --- a/lib/src/DateTimePicker/DateTimePicker.d.ts +++ b/lib/src/DateTimePicker/DateTimePicker.d.ts @@ -3,13 +3,13 @@ import { DateTimePickerView } from '../constants/date-picker-view'; import { DateType } from '../constants/prop-types'; import { Utils } from '../../typings/utils'; import { RenderDay } from '../DatePicker/Calendar'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface DateTimePickerProps { - date: Moment; + date: MaterialUiPickersDate; minDate?: DateType; maxDate?: DateType; - onChange: (date: Moment, isFinished: boolean, viewType?: DateTimePickerView) => void; + onChange: (date: MaterialUiPickersDate, isFinished: boolean, viewType?: DateTimePickerView) => void; disablePast?: boolean; disableFuture?: boolean; autoSubmit?: boolean; @@ -23,7 +23,7 @@ export interface DateTimePickerProps { timeIcon?: ReactNode; renderDay?: RenderDay; utils?: Utils; - shouldDisableDate?: (day: Moment) => boolean; + shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } declare const DateTimePicker: ComponentClass; diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.d.ts b/lib/src/DateTimePicker/DateTimePickerHeader.d.ts index 8864e92564211c..3583a9406372a6 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.d.ts +++ b/lib/src/DateTimePicker/DateTimePickerHeader.d.ts @@ -1,12 +1,12 @@ import { ComponentClass } from 'react'; import { DateTimePickerView } from '../constants/date-picker-view'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' type MeridiemMode = 'am' | 'pm'; export interface DateTimePickerHeaderProps { - date: Moment; + date: MaterialUiPickersDate; meridiemMode: MeridiemMode; openView: DateTimePickerView; onOpenViewChange: (view: DateTimePickerView) => void; diff --git a/lib/src/DateTimePicker/index.d.ts b/lib/src/DateTimePicker/index.d.ts index 37794cc6f33be8..53f201f62f5797 100644 --- a/lib/src/DateTimePicker/index.d.ts +++ b/lib/src/DateTimePicker/index.d.ts @@ -4,7 +4,7 @@ import { DateType } from '../constants/prop-types'; import { Utils } from '../../typings/utils'; import { RenderDay } from '../DatePicker/Calendar'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' import { PickerBaseProps } from '../_shared/PickerBase' import { Omit } from 'material-ui' @@ -24,7 +24,7 @@ export interface DateTimePickerWrapperProps extends PickerBaseProps, timeIcon?: ReactNode; renderDay?: RenderDay; utils?: Utils; - shouldDisableDate?: (day: Moment) => boolean; + shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } declare const DateTimePickerWrapper: ComponentClass; diff --git a/lib/src/TimePicker/HourView.d.ts b/lib/src/TimePicker/HourView.d.ts index 06b2a7e0f31174..884197f183714a 100644 --- a/lib/src/TimePicker/HourView.d.ts +++ b/lib/src/TimePicker/HourView.d.ts @@ -1,10 +1,10 @@ import { ComponentClass } from 'react'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface HourViewProps { - date: Moment; - onChange: (date: Moment, isFinished?: boolean) => void; + date: MaterialUiPickersDate; + onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; ampm?: boolean; utils?: Utils; } diff --git a/lib/src/TimePicker/MinutesView.d.ts b/lib/src/TimePicker/MinutesView.d.ts index 76e705056e18d5..ed54eb2d57c435 100644 --- a/lib/src/TimePicker/MinutesView.d.ts +++ b/lib/src/TimePicker/MinutesView.d.ts @@ -1,10 +1,10 @@ import { ComponentClass } from 'react'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface MinutesViewProps { - date: Moment; - onChange: (date: Moment, isFinished?: boolean) => void; + date: MaterialUiPickersDate; + onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; utils?: Utils; } diff --git a/lib/src/TimePicker/TimePicker.d.ts b/lib/src/TimePicker/TimePicker.d.ts index 727aa518f74067..c25cf342db839a 100644 --- a/lib/src/TimePicker/TimePicker.d.ts +++ b/lib/src/TimePicker/TimePicker.d.ts @@ -1,10 +1,10 @@ import { ComponentClass } from 'react'; import { Utils } from '../../typings/utils'; -import { Moment } from 'moment'; +import { MaterialUiPickersDate } from '../../typings/date' export interface TimePickerProps { - date: Moment; - onChange: (date: Moment, isFinished?: boolean) => void; + date: MaterialUiPickersDate; + onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; ampm?: boolean; utils?: Utils; } From 1b567fdc0c1f9665fe57cbdf93b71baf2878ff42 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 21 Feb 2018 15:23:45 +0200 Subject: [PATCH 0382/1801] Make date type unknown --- lib/typings/date.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/typings/date.ts b/lib/typings/date.ts index 92b46a6359eedc..d60b25bab42495 100644 --- a/lib/typings/date.ts +++ b/lib/typings/date.ts @@ -1,3 +1,4 @@ import { Moment } from 'moment'; -export type MaterialUiPickersDate = Moment | Date \ No newline at end of file +// 21.02.2018 - TODO type date, if there would be any way to dynamicly type Moment | Date +export type MaterialUiPickersDate = any \ No newline at end of file From dc165403eced9ca2fa2b850adaf6d1346f1e9050 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 22 Feb 2018 09:31:39 +0200 Subject: [PATCH 0383/1801] Merge conflicts --- lib/package.json | 6 ++++-- lib/rollup.config.js | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/package.json b/lib/package.json index 4dab8fd317ffb7..0837dfb080b838 100644 --- a/lib/package.json +++ b/lib/package.json @@ -34,13 +34,15 @@ "peerDependencies": { "classnames": "^2.2.5", "material-ui": "^1.0.0-beta.33", - "moment": "^2.19.2", "prop-types": "^15.6.0", "react": "^16.2.0", "react-dom": "^16.2.0" }, + "externalDependencies": { + "moment": "^2.19.2", + "date-fns": "^2.0.0-alpha.7" + }, "dependencies": { - "date-fns": "^2.0.0-alpha.7", "moment-range": "^3.0.3", "react-text-mask": "^5.0.2" }, diff --git a/lib/rollup.config.js b/lib/rollup.config.js index 237e04e7a747e8..89ce5af4115aca 100644 --- a/lib/rollup.config.js +++ b/lib/rollup.config.js @@ -6,6 +6,7 @@ import pkg from './package.json'; const externalDependencies = new RegExp(`^(${[ ...Object.keys(pkg.peerDependencies || {}), + ...Object.keys(pkg.externalDependencies || {}), ].join('|')})([/]|$)`); export default { From 9d6887cc4fb945ed20b489a013dedc634d7bea78 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 22 Feb 2018 09:50:36 +0200 Subject: [PATCH 0384/1801] Fix utils interface typings errors, fix typo in exported MuiPickerUtilsProvider name --- docs/src/App.js | 6 +++--- lib/package-lock.json | 3 ++- lib/package.json | 1 + lib/src/index.js | 2 +- lib/typings/utils.ts | 7 +++---- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index e57b84c8f73af3..396f1052a48bd4 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; -import { MuiPickerUtilsProvider, dateFnsUtils, momentUtils } from 'material-ui-pickers'; +import { MuiPickersUtilsProvider, dateFnsUtils, momentUtils } from 'material-ui-pickers'; import { create } from 'jss'; import preset from 'jss-preset-default'; @@ -56,13 +56,13 @@ export default class App extends Component {
- + - +
diff --git a/lib/package-lock.json b/lib/package-lock.json index 753aef7edc393c..6c9b50909a2fa3 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1984,7 +1984,8 @@ "date-fns": { "version": "2.0.0-alpha.7", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.0.0-alpha.7.tgz", - "integrity": "sha1-JFrRb5V2Tqur+ywKQf1dAzwg5Xo=" + "integrity": "sha1-JFrRb5V2Tqur+ywKQf1dAzwg5Xo=", + "dev": true }, "debug": { "version": "2.6.9", diff --git a/lib/package.json b/lib/package.json index 0837dfb080b838..0252f658d801bc 100644 --- a/lib/package.json +++ b/lib/package.json @@ -85,6 +85,7 @@ "babel-preset-latest": "^6.24.1", "classnames": "^2.2.5", "cross-env": "^5.1.0", + "date-fns": "^2.0.0-alpha.7", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.0", "eslint": "^4.17.0", diff --git a/lib/src/index.js b/lib/src/index.js index dbea138ff68e27..28cf64ebec7a0e 100644 --- a/lib/src/index.js +++ b/lib/src/index.js @@ -4,7 +4,7 @@ export { default as TimePicker } from './TimePicker'; export { default as DateTimePicker } from './DateTimePicker'; -export { default as MuiPickerUtilsProvider } from './utils/MuiPickersUtilsProvider'; +export { default as MuiPickersUtilsProvider } from './utils/MuiPickersUtilsProvider'; export { default as dateFnsUtils } from './utils/date-fns-utils'; diff --git a/lib/typings/utils.ts b/lib/typings/utils.ts index 4dcc6d788d4e1d..92ff9a48f22eac 100644 --- a/lib/typings/utils.ts +++ b/lib/typings/utils.ts @@ -1,9 +1,8 @@ import { MaterialUiPickersDate } from './date' -import { isEqual, isAfter, endOfDay, setHours } from 'date-fns'; export interface Utils { date(value: any): MaterialUiPickersDate; - addDays(value: MaterialUiPickersDate, count: Number): MaterialUiPickersDate; + addDays(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; isValid(value: MaterialUiPickersDate): boolean; isEqual(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; isNull(value: MaterialUiPickersDate): boolean; @@ -14,8 +13,8 @@ export interface Utils { isAfterYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; startOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; endOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; - format(value: MaterialUiPickersDate): string; - formatNumber(number: number): MaterialUiPickersDate + format(value: MaterialUiPickersDate, formatString: string): string; + formatNumber(number: number): string; getHours(value: MaterialUiPickersDate): number; setHours(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; getMinutes(value: MaterialUiPickersDate): number; From 2238fdf05f1275dc0bbdd558c9c9ee00e2eda074 Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Thu, 22 Feb 2018 19:06:08 +0300 Subject: [PATCH 0385/1801] Rerun validation when maxDate or minDate props is changed --- lib/src/_shared/DateTextField.jsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 2823907d44994d..f6573902302c97 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -87,7 +87,7 @@ class DateTextField extends PureComponent { : invalidLabel; } - getError = (value) => { + getError = (value, props = this.props) => { const { maxDate, minDate, @@ -96,7 +96,7 @@ class DateTextField extends PureComponent { maxDateMessage, minDateMessage, invalidDateMessage, - } = this.props; + } = props; if (!value.isValid()) { // if null - do not show error @@ -126,7 +126,7 @@ class DateTextField extends PureComponent { updateState = (props = this.props) => ({ value: props.value, displayValue: this.getDisplayDate(props), - error: this.getError(moment(props.value)), + error: this.getError(moment(props.value), props), }) state = this.updateState() @@ -134,7 +134,9 @@ class DateTextField extends PureComponent { componentWillReceiveProps(nextProps) { if ( nextProps.value !== this.state.value || - nextProps.format !== this.props.format + nextProps.format !== this.props.format || + nextProps.maxDate !== this.props.maxDate || + nextProps.minDate !== this.props.minDate ) { this.setState(this.updateState(nextProps)); } From a67d3fccffb0d2d10ca143e7699e302b5bf1f86a Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 23 Feb 2018 17:33:00 +0100 Subject: [PATCH 0386/1801] remove hardcoded width for DateTimePicker's Toolbar date header --- lib/src/DateTimePicker/DateTimePickerHeader.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index 14fad49caf5424..d544f4202f8a09 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -108,6 +108,7 @@ const styles = () => ({ alignItems: 'center', paddingLeft: 16, paddingRight: 16, + justifyContent: 'space-around', }, separator: { margin: '0 4px 0 2px', @@ -132,7 +133,6 @@ const styles = () => ({ flexDirection: 'row-reverse', }, dateHeader: { - width: '42%', height: 65, }, timeHeader: { From 36b9c1b961e896d7a8fd6724b2085e85fed29a0b Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Sun, 25 Feb 2018 23:49:51 +0500 Subject: [PATCH 0387/1801] Fix missed mask with clearable true --- lib/src/_shared/DateTextField.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index f6573902302c97..c9c41bbb82616f 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -238,7 +238,7 @@ class DateTextField extends PureComponent { const localInputProps = { inputComponent: MaskedInput, inputProps: { - mask: value === null ? null : mask, + mask: !keyboard ? null : mask, readOnly: !keyboard, }, className: classes.input, From 36fa3e8299a42535853b4bfce932204b95851b38 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Feb 2018 14:21:55 +0200 Subject: [PATCH 0388/1801] Add displaying texts methods to utils --- docs/src/App.js | 2 +- lib/src/DatePicker/Calendar.jsx | 2 +- lib/src/DatePicker/CalendarHeader.jsx | 2 +- lib/src/DatePicker/DatePicker.jsx | 4 +-- lib/src/DatePicker/YearSelection.jsx | 4 +-- .../DateTimePicker/DateTimePickerHeader.jsx | 8 ++--- lib/src/TimePicker/HourView.jsx | 2 -- lib/src/TimePicker/TimePicker.jsx | 4 +-- lib/src/_shared/PickerBase.jsx | 10 +------ lib/src/utils/date-fns-utils.js | 29 +++++++++++++++++++ lib/src/utils/moment-utils.js | 29 +++++++++++++++++++ lib/typings/utils.ts | 11 ++++++- 12 files changed, 82 insertions(+), 25 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index 396f1052a48bd4..8ba7dc03d0ef67 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -56,7 +56,7 @@ export default class App extends Component {
- + - {utils.format(day, 'D')} + {utils.getDayText(day)} ); diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index e367b4cf19d353..f17e372a0dc722 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -30,7 +30,7 @@ export const CalendarHeader = (props) => { - {utils.format(currentMonth, 'MMMM YYYY')} + {utils.getCalendarHeaderText(currentMonth)} diff --git a/lib/src/DatePicker/DatePicker.jsx b/lib/src/DatePicker/DatePicker.jsx index 3913f31fcf69d0..2f0870236a0930 100644 --- a/lib/src/DatePicker/DatePicker.jsx +++ b/lib/src/DatePicker/DatePicker.jsx @@ -90,14 +90,14 @@ export class DatePicker extends PureComponent { variant="subheading" onClick={this.openYearSelection} selected={showYearSelection} - label={utils.format(this.date, 'YYYY')} + label={utils.getYearText(this.date)} /> diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index ff4f8a518b7a07..bd5737a17af355 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -73,14 +73,14 @@ export class YearSelection extends PureComponent { (disableFuture && utils.isAfterYear(year, utils.date())) )} value={yearNumber} - key={utils.format(year, 'YYYY')} + key={utils.getYearText(year)} onSelect={this.onYearSelect} ref={selected ? this.getSelectedYearRef : undefined } > - {utils.format(year, 'YYYY')} + {utils.getYearText(year)} ); }) diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index aea7b021e5253b..38f9ede9d1b93c 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -26,14 +26,14 @@ export const DateTimePickerHeader = (props) => { variant="subheading" onClick={changeOpenView(viewType.YEAR)} selected={openView === viewType.YEAR} - label={utils.format(date, 'YYYY')} + label={utils.getYearText(date)} />
@@ -43,7 +43,7 @@ export const DateTimePickerHeader = (props) => { variant="display2" onClick={changeOpenView(viewType.HOUR)} selected={openView === viewType.HOUR} - label={utils.format(date, ampm ? 'hh' : 'HH')} + label={utils.getHourText(date, ampm)} /> { variant="display2" onClick={changeOpenView(viewType.MINUTES)} selected={openView === viewType.MINUTES} - label={utils.format(date, 'mm')} + label={utils.getMinuteText(date)} />
diff --git a/lib/src/TimePicker/HourView.jsx b/lib/src/TimePicker/HourView.jsx index 2d7a59d4116d78..c280f71387d971 100644 --- a/lib/src/TimePicker/HourView.jsx +++ b/lib/src/TimePicker/HourView.jsx @@ -17,7 +17,6 @@ export class HourView extends PureComponent { ampm: true, } - getHourNumbers = () => { const { ampm, utils, date } = this.props; const currentHours = utils.getHours(date); @@ -38,7 +37,6 @@ export class HourView extends PureComponent { return currentHours === hour; }; - for (let hour = startHour; hour <= endHour; hour += 1) { let label = hour.toString(); diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 06442480d5834f..eb44b51dedfeca 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -93,7 +93,7 @@ export class TimePicker extends Component { variant="display3" onClick={this.openHourView} selected={isHourViewShown} - label={utils.format(date, ampm ? 'hh' : 'HH')} + label={utils.getHourText(date, ampm)} />
diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index a6ef041c413e24..86bf4ae4d91f25 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; import DomainPropTypes from '../constants/prop-types'; /* eslint-disable react/sort-comp */ +/* eslint-disable react/require-default-props */ export default class PickerBase extends PureComponent { static propTypes = { value: DomainPropTypes.date, @@ -15,15 +16,6 @@ export default class PickerBase extends PureComponent { utils: PropTypes.func.isRequired, } - static defaultProps = { - value: new Date(), - autoOk: false, - returnMoment: false, - labelFunc: undefined, - format: undefined, - ampm: true, - } - getValidDateOrCurrent = () => { const { utils, value } = this.props; const date = utils.date(value); diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 53b136f0ea2ecd..7a74b0d205689c 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -139,4 +139,33 @@ export default class DateFnsUtils { static toNativeDate(date) { return date; } + + // displaying methpds + static getCalendarHeaderText(date) { + return format(date, 'MMMM YYYY'); + } + + static getYearText(date) { + return format(date, 'YYYY'); + } + + static getDatePickerHeaderText(date) { + return format(date, 'ddd, MMM D'); + } + + static getDateTimePickerHeaderText(date) { + return format(date, 'MMM D'); + } + + static getDayText(date) { + return format(date, 'D'); + } + + static getHourText(date, ampm) { + return format(date, ampm ? 'hh' : 'HH'); + } + + static getMinuteText(date) { + return format(date, 'mm'); + } } diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index 11d5869bba70d7..d4f66449f101c1 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -143,4 +143,33 @@ export default class MomentUtils { static toNativeDate(date) { return date.toDate(); } + + // displaying methods + static getCalendarHeaderText(date) { + return date.format('MMMM YYYY'); + } + + static getYearText(date) { + return date.format('YYYY'); + } + + static getDatePickerHeaderText(date) { + return date.format('ddd, MMM D'); + } + + static getDateTimePickerHeaderText(date) { + return date.format('MMM D'); + } + + static getDayText(date) { + return date.format('D'); + } + + static getHourText(date, ampm) { + return date.format(ampm ? 'hh' : 'HH'); + } + + static getMinuteText(date) { + return date.format('mm'); + } } diff --git a/lib/typings/utils.ts b/lib/typings/utils.ts index 92ff9a48f22eac..217ac33fc32ce8 100644 --- a/lib/typings/utils.ts +++ b/lib/typings/utils.ts @@ -21,7 +21,6 @@ export interface Utils { setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate getMonth(value: MaterialUiPickersDate): number; isSameDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean - getMeridiemText(ampm: boolean): string; getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getPreviousMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; @@ -30,4 +29,14 @@ export interface Utils { getWeekDays(): string[]; getWeekArray(): MaterialUiPickersDate[]; getYearRange(): MaterialUiPickersDate[]; + + // displaying methods + getMeridiemText(ampm: boolean): string; + getCalendarHeaderText(date: any): string; + getDatePickerHeaderText(date: any): string; + getDateTimePickerHeaderText(date: any): string; + getDayText(date: any): string; + getHourText(date: any, ampm: boolean): string; + getMinuteText(date: any): string; + getYearText(date: any): string; } \ No newline at end of file From 4b18c46f088de2de6178476435fb49769621f86c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Feb 2018 14:35:46 +0200 Subject: [PATCH 0389/1801] Reimplement range countings for moment manually, remove moment-range dep --- lib/package-lock.json | 44 ----------------------------------- lib/package.json | 1 - lib/src/utils/moment-utils.js | 33 ++++++++++++++++---------- 3 files changed, 21 insertions(+), 57 deletions(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index 6c9b50909a2fa3..bf7c8e264a8aca 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1958,14 +1958,6 @@ "array-find-index": "1.0.2" } }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "requires": { - "es5-ext": "0.10.37" - } - }, "damerau-levenshtein": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz", @@ -2336,34 +2328,6 @@ "is-symbol": "1.0.1" } }, - "es5-ext": { - "version": "0.10.37", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", - "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", - "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" - } - }, "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", @@ -6414,14 +6378,6 @@ "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==", "dev": true }, - "moment-range": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.1.0.tgz", - "integrity": "sha1-lqsiRZObHAmR8OQSgHmEMhhBXCk=", - "requires": { - "es6-symbol": "3.1.1" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", diff --git a/lib/package.json b/lib/package.json index 0252f658d801bc..7acd29cbcc8766 100644 --- a/lib/package.json +++ b/lib/package.json @@ -43,7 +43,6 @@ "date-fns": "^2.0.0-alpha.7" }, "dependencies": { - "moment-range": "^3.0.3", "react-text-mask": "^5.0.2" }, "scripts": { diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index d4f66449f101c1..b4c1542d6a680c 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -1,7 +1,4 @@ -import Moment from 'moment'; -import { extendMoment } from 'moment-range'; - -const moment = extendMoment(Moment); +import moment from 'moment'; export default class MomentUtils { static parse = moment @@ -124,20 +121,32 @@ export default class MomentUtils { const start = date.clone().startOf('month').startOf('week'); const end = date.clone().endOf('month').endOf('week'); - const weeks = Array.from(moment.range(start, end).by('week')); - const nestedWeeks = []; - - weeks.forEach((week) => { - const endOfWeek = week.clone().endOf('week'); - nestedWeeks.push(Array.from(moment.range(week, endOfWeek).by('day'))); - }); + let count = 0; + let current = start; + while (current.isBefore(end)) { + const weekNumber = Math.floor(count / 7); + nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || []; + nestedWeeks[weekNumber].push(current); + current = current.clone().add(1, 'day'); + count += 1; + } return nestedWeeks; } static getYearRange(start, end) { - return Array.from(moment.range(start, end).by('year')); + const startDate = moment(start); + const endDate = moment(end); + const years = []; + + let current = startDate; + while (current.isBefore(endDate)) { + years.push(current); + current = current.clone().add(1, 'year'); + } + + return years; } static toNativeDate(date) { From d2dae09a35c88636dd8bb45ee0ffc6e2a246f970 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Feb 2018 14:40:01 +0200 Subject: [PATCH 0390/1801] Change any date type to MaterialUIPickersDate --- lib/typings/utils.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/typings/utils.ts b/lib/typings/utils.ts index 217ac33fc32ce8..27daab0d97976b 100644 --- a/lib/typings/utils.ts +++ b/lib/typings/utils.ts @@ -32,11 +32,11 @@ export interface Utils { // displaying methods getMeridiemText(ampm: boolean): string; - getCalendarHeaderText(date: any): string; - getDatePickerHeaderText(date: any): string; - getDateTimePickerHeaderText(date: any): string; - getDayText(date: any): string; - getHourText(date: any, ampm: boolean): string; - getMinuteText(date: any): string; - getYearText(date: any): string; + getCalendarHeaderText(date: MaterialUiPickersDate): string; + getDatePickerHeaderText(date: MaterialUiPickersDate): string; + getDateTimePickerHeaderText(date: MaterialUiPickersDate): string; + getDayText(date: MaterialUiPickersDate): string; + getHourText(date: MaterialUiPickersDate, ampm: boolean): string; + getMinuteText(date: MaterialUiPickersDate): string; + getYearText(date: MaterialUiPickersDate): string; } \ No newline at end of file From d986820dcc5c4e596fd57b575a6144fb466282b6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Feb 2018 20:50:28 +0200 Subject: [PATCH 0391/1801] Update Readme.md to match new Utils architecture --- README.md | 67 ++++++++++++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 35 deletions(-) diff --git a/README.md b/README.md index 3d5173be2e8dcd..8b8ef9c58aa4cd 100644 --- a/README.md +++ b/README.md @@ -10,22 +10,35 @@ Changelog available [here](https://github.com/dmtrKovalenko/material-ui-pickers/releases) ### Installation -Available as npm package. Please note that we are using moment as a peer dependency +Available as npm package. ```sh -npm install moment material-ui-pickers -S +npm install material-ui-pickers -S ``` +Now choose the library that pickers will use to work with date. We are providing interfaces for [moment](https://momentjs.com/) and [date-fns](https://date-fns.org/). If you are not using moment in the project (or dont have it in the bundle already) we suggest using date-fns, because it much more lightweight and will be correctly tree-shaked from the bundle. -We are using material-ui-icons font to display icons. Just add this to your html +Teach pickers how to use one of that library using `MuiPickersUtilsProvider`. This component takes an utils property, and makes it available down the React tree thanks to React context. It should preferably be used at the root of your component tree. + +```jsx +import { MuiPickersUtilsProvider } from 'material-ui-pickers'; +import MomentUtils from 'material-ui-picker/utils/moment-utils'; +import DateFnsUtils from 'material-ui-picker/utils/date-fns-utils' + +function App() { + return ( + + + + ); +} + +render(, document.querySelector('#app')); +``` + +We are using material-ui-icons icon font to display icons. Just add this to your html ```html ``` - -If you dont want to use icon font, or you are already use `material-ui-icons` you can pass any icon to the components with the following props -* leftArrowIcon - arrow left for datepicker -* rightArrowIcon - arrow right for datepicker -* dateRangeIcon - date tab icon for datetimepicker -* timeIcon - time tab icon for datetimepicker -* keyboardIcon - icon for keyboard end adornmentic +If you dont want to use icon font, or you are already use `material-ui-icons` you can pass any icon to the components with [corresponding props](https://github.com/dmtrKovalenko/material-ui-pickers#props-documentation) ### Usage Here is a quick example of how to use this package @@ -83,7 +96,7 @@ Here is a list of available props **Note:** Any prop not recognized by the pickers and their sub-components are passed down to material-ui [TextField](https://material-ui-next.com/api/text-field/#props) component. #### Datepicker -* date - string, number, Date object, Moment object ([anything](https://momentjs.com/docs/#/parsing/), that can be parsed by moment) +* date - string, number, Date object or Moment object (if you are using moment utils) Prop | Type | Default | Definition ------------ | ------------- | ------------- | ------------- @@ -175,15 +188,6 @@ mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/m clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField -### l10n -For l10n texts we're currently relying on moment which is stateful. To change the locale you have to import your langauge specific files an change the locale manually via `moment.locale(language)`. -``` -import moment from 'moment' -import 'moment/locale/fr'; - -moment.locale('fr') -``` - ### Jalali Calendar We are fully supporting Jalali calendar system and [right-to-left](https://material-ui-next.com/guides/right-to-left/) material-ui api. Special thanks to @alitaheri. Here is a little example of how to use it @@ -195,24 +199,17 @@ npm install material-ui-pickers-jalali-utils ``` ```jsx -import { TimePicker, DateTimePicker, DatePicker } from 'material-ui-pickers'; +import { MuiPickersUtilsProvider } from 'material-ui-pickers'; import jalaliUtils from 'material-ui-pickers-jalali-utils'; -jMoment.loadPersian({ dialect: 'persian-modern', usePersianDigits: true }); - - date === null ? '' : jMoment(date).format('jYYYY/jMM/jDD hh:mm A')} - value={selectedDate} - onChange={this.handleDateChange} - utils={jalaliUtils} -/> +function App() { + return ( + + + + ); +} ``` - -### Migrate to date-fns? -If you are interested of using moment or date-fns as the peer of this project, please mention that in [this issue](https://github.com/dmtrKovalenko/material-ui-pickers/issues/61), we need to know which library if more useful to be in the peer dependencies of this project. Thank you. - ### Contributing For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTING.md) file. From 51d34ac77265c8c695bf580f19b8668284b04510 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Feb 2018 21:00:59 +0200 Subject: [PATCH 0392/1801] Change moment type defenitions in proptypes table --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8b8ef9c58aa4cd..d63a60c6dd91c9 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ Here is a list of available props Prop | Type | Default | Definition ------------ | ------------- | ------------- | ------------- value | date | new Date() | Datepicker value -format | string | 'MMMM Do' | Moment format string for input +format | string | 'MMMM Do' | Format string for input autoOk | boolean | false | Auto accept date on selection disablePast | boolean | false | Disable past dates disableFuture | boolean | false | Disable future dates @@ -110,7 +110,7 @@ openToYearSelection | boolean | false | Open datepicker from year selection minDate | date | '1900-01-01' | Minimum selectable date maxDate | date | '2100-01-01' | Maximum selectable date onChange | func | required | Callback firing when date accepted -returnMoment | boolean | true | Will return moment object in onChange +returnMoment | boolean | true | Will return moment object in onChange (if moment utils using) invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed emptyLabel | string | '' | Displayed string if date is `null` (e.g. after clear) okLabel | string | 'OK' | The label for the ok button @@ -178,7 +178,7 @@ rightArrowIcon | react node | `keyboard_arrow_right`| Right arrow i dateRangeIcon | react node | `date_range`| Date tab icon timeIcon | react node | `access_time`| Time tab icon ampm | boolean | true | 12h/24h view for hour selection clock -shouldDisableDate | (date: Moment) => boolean | () => false | Allow to disable custom date in calendar +shouldDisableDate | (date: Moment | Date) => boolean | () => false | Allow to disable custom date in calendar keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node | `event` | Keyboard adornment icon maxDateMessage | string | 'Date should not be after maximal date' | Maximum date error message for keyboard input From 9dd6f90886efd9d890733af4d7dc04bc6d57df9f Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Tue, 27 Feb 2018 16:33:40 +0500 Subject: [PATCH 0393/1801] readme: mask for keyboard mode --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3d5173be2e8dcd..1ed8ef53e7e128 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node | `event` | Keyboard adornment icon maxDateMessage | string | 'Date should not be after maximal date' | Maximum date error message for keyboard input minDateMessage | string | 'Date should not be before minimal date' | Minimum date error message for keyboard input -mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask +mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask for keyboard-mode clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField @@ -133,7 +133,7 @@ labelFunc | func | null | Allow to specify dynamic label for text field `labelFu ampm | boolean | true | 12h/24h view for hour selection clock keyboard | boolean | false | Allow to manual input date to the text field keyboardIcon | react node | `event` | Keyboard adornment icon -mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask +mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask for keyboard-mode clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField @@ -171,7 +171,7 @@ keyboardIcon | react node | `event` | Keyboard adornment icon maxDateMessage | string | 'Date should not be after maximal date' | Maximum date error message for keyboard input minDateMessage | string | 'Date should not be before minimal date' | Minimum date error message for keyboard input invalidDateMessage | string | 'Invalid Date Format' | Message, appearing when date cannot be parsed -mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask +mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask for keyboard-mode clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField From 51be3bbf666f92ad96e25f775429af6c4865ca51 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 28 Feb 2018 14:00:46 +0200 Subject: [PATCH 0394/1801] Fix typo, comment persian pickers docs section --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d63a60c6dd91c9..ef6d3eaae8cc2e 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ Teach pickers how to use one of that library using `MuiPickersUtilsProvider`. Th ```jsx import { MuiPickersUtilsProvider } from 'material-ui-pickers'; -import MomentUtils from 'material-ui-picker/utils/moment-utils'; +import MomentUtils from 'material-ui-pickers/utils/moment-utils'; import DateFnsUtils from 'material-ui-picker/utils/date-fns-utils' function App() { @@ -188,6 +188,7 @@ mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/m clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField + + ### Contributing For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTING.md) file. From 0006018942a1f6fe6e2fd19627583fda51c0338d Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 28 Feb 2018 14:07:59 +0200 Subject: [PATCH 0395/1801] Remove returnMoment prop --- README.md | 3 --- lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx | 1 - .../DateTimePicker/DateTimePickerWrapper.usage.tsx | 2 +- lib/src/DatePicker/index.jsx | 4 ---- lib/src/DateTimePicker/index.jsx | 3 --- lib/src/TimePicker/index.jsx | 5 +---- lib/src/_shared/PickerBase.d.ts | 1 - lib/src/_shared/PickerBase.jsx | 7 +------ lib/src/utils/date-fns-utils.js | 4 ---- lib/src/utils/moment-utils.js | 4 ---- 10 files changed, 3 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index ef6d3eaae8cc2e..32bec32d4ff4db 100644 --- a/README.md +++ b/README.md @@ -110,7 +110,6 @@ openToYearSelection | boolean | false | Open datepicker from year selection minDate | date | '1900-01-01' | Minimum selectable date maxDate | date | '2100-01-01' | Maximum selectable date onChange | func | required | Callback firing when date accepted -returnMoment | boolean | true | Will return moment object in onChange (if moment utils using) invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed emptyLabel | string | '' | Displayed string if date is `null` (e.g. after clear) okLabel | string | 'OK' | The label for the ok button @@ -136,7 +135,6 @@ value | date | new Date() | Timepicker value format | string | 'MMMM Do' | Moment format string for input autoOk | boolean | false | Auto accept time on selection onChange | func | required | Callback firing when date accepted -returnMoment | boolean | true | Will return moment object in onChange invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed emptyLabel | string | '' | Displayed string if date is `null` (e.g. after clear) okLabel | string | 'OK' | The label for the ok button @@ -165,7 +163,6 @@ animateYearScrolling | boolean | false | Will animate year selection minDate | date | '1900-01-01' | Minimum selectable date maxDate | date | '2100-01-01' | Maximum selectable date onChange | func | required | Callback firing when date accepted -returnMoment | boolean | true | Will return moment object in onChangeg invalidLabel | string | 'Unknown' | Displayed string if date cant be parsed emptyLabel | string | '' | Displayed string if date is `null` (e.g. after clear) okLabel | string | 'OK' | The label for the ok button diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx index 8dcf5ab68c9246..a9dd6fcd6f406c 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx +++ b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx @@ -104,7 +104,6 @@ class CustomElements extends Component<{classes: any}, {selectedDate: Date}> { onChange={this.handleDateChange} renderDay={this.renderWrappedDefaultDay} labelFunc={this.formatWeekSelectLabel} - returnMoment /> ); diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx index 1002e23589dbaf..40a489e2bea6d4 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx @@ -94,7 +94,7 @@ class CustomElements extends Component<{classes: any}, {selectedDate: Date}> { value={selectedDate} onChange={this.handleDateChange} renderDay={this.renderCustomDayForDateTime} - returnMoment + /> ); diff --git a/lib/src/DatePicker/index.jsx b/lib/src/DatePicker/index.jsx index 2e245c9597a241..50ac898af9f79d 100644 --- a/lib/src/DatePicker/index.jsx +++ b/lib/src/DatePicker/index.jsx @@ -29,8 +29,6 @@ export class DatePickerWrapper extends PickerBase { animateYearScrolling: PropTypes.bool, /* Open datepicker from year selection */ openToYearSelection: PropTypes.bool, - /* Return moment object in onChange event */ - returnMoment: PropTypes.bool, /* Displayed string if date can`t be parsed (or null) */ invalidLabel: PropTypes.string, /* Allow to specify dynamic label for text field labelFunc(date, invalidLabel) */ @@ -51,7 +49,6 @@ export class DatePickerWrapper extends PickerBase { value: new Date(), format: 'MMMM Do', autoOk: false, - returnMoment: true, minDate: undefined, maxDate: undefined, disablePast: undefined, @@ -75,7 +72,6 @@ export class DatePickerWrapper extends PickerBase { onChange, animateYearScrolling, openToYearSelection, - returnMoment, invalidLabel, leftArrowIcon, rightArrowIcon, diff --git a/lib/src/DateTimePicker/index.jsx b/lib/src/DateTimePicker/index.jsx index 7705754169cf19..41c66552441d63 100644 --- a/lib/src/DateTimePicker/index.jsx +++ b/lib/src/DateTimePicker/index.jsx @@ -22,7 +22,6 @@ export class DateTimePickerWrapper extends PickerBase { minDate: DomainPropTypes.date, maxDate: DomainPropTypes.date, showTabs: PropTypes.bool, - returnMoment: PropTypes.bool, invalidLabel: PropTypes.string, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, @@ -46,7 +45,6 @@ export class DateTimePickerWrapper extends PickerBase { minDate: undefined, maxDate: undefined, showTabs: true, - returnMoment: true, invalidLabel: undefined, leftArrowIcon: undefined, rightArrowIcon: undefined, @@ -76,7 +74,6 @@ export class DateTimePickerWrapper extends PickerBase { autoSubmit, disablePast, disableFuture, - returnMoment, invalidLabel, leftArrowIcon, rightArrowIcon, diff --git a/lib/src/TimePicker/index.jsx b/lib/src/TimePicker/index.jsx index 919332855858c4..0957cfbc4f1632 100644 --- a/lib/src/TimePicker/index.jsx +++ b/lib/src/TimePicker/index.jsx @@ -17,7 +17,6 @@ export class TimePickerWrapper extends PickerBase { format: PropTypes.string, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, - returnMoment: PropTypes.bool, invalidLabel: PropTypes.string, utils: PropTypes.func.isRequired, ampm: PropTypes.bool, @@ -27,7 +26,6 @@ export class TimePickerWrapper extends PickerBase { value: new Date(), format: undefined, autoOk: false, - returnMoment: true, invalidLabel: undefined, ampm: true, } @@ -38,8 +36,7 @@ export class TimePickerWrapper extends PickerBase { render() { const { date } = this.state; const { - value, format, autoOk, onChange, returnMoment, invalidLabel, - utils, ampm, ...other + value, format, autoOk, onChange, invalidLabel, utils, ampm, ...other } = this.props; return ( diff --git a/lib/src/_shared/PickerBase.d.ts b/lib/src/_shared/PickerBase.d.ts index 83cce0615d0d13..05944a47c43227 100644 --- a/lib/src/_shared/PickerBase.d.ts +++ b/lib/src/_shared/PickerBase.d.ts @@ -4,6 +4,5 @@ import { DateTextFieldProps } from './ModalDialog'; export interface PickerBaseProps { onChange: (date: Date | Moment) => void; autoOk?: boolean; - returnMoment?: boolean; ampm?: boolean; } \ No newline at end of file diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index 86bf4ae4d91f25..08160acac31acd 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -9,7 +9,6 @@ export default class PickerBase extends PureComponent { value: DomainPropTypes.date, onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, - returnMoment: PropTypes.bool, format: PropTypes.string, labelFunc: PropTypes.func, ampm: PropTypes.bool, @@ -50,11 +49,7 @@ export default class PickerBase extends PureComponent { } handleAccept = () => { - const dateToReturn = this.props.returnMoment - ? this.state.date - : this.props.utils.toNativeDate(this.state.date); - - this.props.onChange(dateToReturn); + this.props.onChange(this.state.date); } handleDismiss = () => { diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 7a74b0d205689c..5b6512d0609443 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -136,10 +136,6 @@ export default class DateFnsUtils { return years; } - static toNativeDate(date) { - return date; - } - // displaying methpds static getCalendarHeaderText(date) { return format(date, 'MMMM YYYY'); diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index b4c1542d6a680c..a499e3ea0d45e0 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -149,10 +149,6 @@ export default class MomentUtils { return years; } - static toNativeDate(date) { - return date.toDate(); - } - // displaying methods static getCalendarHeaderText(date) { return date.format('MMMM YYYY'); From 65ff40423ce7bccfa8ca0ebbe55d7e80c5f441b6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 1 Mar 2018 14:27:35 +0200 Subject: [PATCH 0396/1801] Add InputAdornmentProps and adornmentPosition props --- lib/src/_shared/DateTextField.jsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 04b35ee2006d7d..9ef4867b953ef7 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -42,6 +42,8 @@ export class DateTextField extends PureComponent { clearable: PropTypes.bool, TextFieldComponent: PropTypes.oneOfType([PropTypes.string, PropTypes.func]), utils: PropTypes.func.isRequired, + InputAdornmentProps: PropTypes.object, + adornmentPosition: PropTypes.string, } static defaultProps = { @@ -65,6 +67,8 @@ export class DateTextField extends PureComponent { minDateMessage: 'Date should not be before minimal date', maxDateMessage: 'Date should not be after maximal date', TextFieldComponent: TextField, + InputAdornmentProps: {}, + adornmentPosition: 'end', } getDisplayDate = (props) => { @@ -235,6 +239,8 @@ export class DateTextField extends PureComponent { maxDateMessage, minDateMessage, TextFieldComponent, + InputAdornmentProps, + adornmentPosition, ...other } = this.props; @@ -249,8 +255,8 @@ export class DateTextField extends PureComponent { }; if (keyboard) { - localInputProps.endAdornment = ( - + localInputProps[`${adornmentPosition}Adornment`] = ( + {keyboardIcon} ); From 1b8cf4ed968c76ddc28430a5cc35f0fd56a5f13c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 1 Mar 2018 14:30:26 +0200 Subject: [PATCH 0397/1801] Add new props descriptions to prop types table --- README.md | 8 ++++++++ lib/src/_shared/DateTextField.jsx | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e3e2cd97c458a8..ff4e7194ee80ac 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,9 @@ minDateMessage | string | 'Date should not be before minimal date' | Minimum dat mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask for keyboard-mode clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField +InputAdornmentProps | object | {} | Props to pass to keyboard input adornment +inputAdornmentPosition | enum 'start', 'end' | 'end' | Specifies position of keyboard adornment + #### Timepicker Prop | Type | Default | Definition @@ -147,6 +150,8 @@ keyboardIcon | react node | `event` | Keyboard adornment icon mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask for keyboard-mode clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField +InputAdornmentProps | object | {} | Props to pass to keyboard input adornment +inputAdornmentPosition | enum 'start', 'end' | 'end' | Specifies position of keyboard adornment #### DateTimepicker Prop | Type | Default | Definition @@ -184,6 +189,9 @@ invalidDateMessage | string | 'Invalid Date Format' | Message, appearing when da mask | text mask (read more [here](https://github.com/text-mask/text-mask/blob/master/componentDocumentation.md#readme)) | undefined | Text mask for keyboard-mode clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField +InputAdornmentProps | object | {} | Props to pass to keyboard input adornment +inputAdornmentPosition | enum 'start', 'end' | 'end' | Specifies position of keyboard adornment + + + diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index 5995090ec9c2d9..ab78f7e3db074e 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -39,7 +39,7 @@ export default class CustomDateTimePicker extends PureComponent { }} />
- +
- + ); } } diff --git a/docs/src/Examples/Demo/CustomElementsDatePicker.jsx b/docs/src/Examples/Demo/CustomElementsDatePicker.jsx index aa283e29faaa99..f81e9a89bbc90a 100644 --- a/docs/src/Examples/Demo/CustomElementsDatePicker.jsx +++ b/docs/src/Examples/Demo/CustomElementsDatePicker.jsx @@ -1,3 +1,4 @@ +/* eslint-disable no-param-reassign */ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; diff --git a/docs/src/Examples/Demo/KeyboardDatePicker.jsx b/docs/src/Examples/Demo/KeyboardDatePicker.jsx index eccfeac255d520..9665bc4f748522 100644 --- a/docs/src/Examples/Demo/KeyboardDatePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardDatePicker.jsx @@ -32,7 +32,7 @@ export default class BasicUsage extends PureComponent { keyboard format="MMM DD" placeholder="Jan 01" - mask={[ /[a-zA-z]/, /[a-zA-z]/, /[a-zA-z]/, ' ', /\d/, /\d/]} + mask={[/[a-zA-z]/, /[a-zA-z]/, /[a-zA-z]/, ' ', /\d/, /\d/]} value={selectedDate} onChange={this.handleDateChange} animateYearScrolling={false} diff --git a/docs/src/Routes/Landing/Landing.jsx b/docs/src/Routes/Landing/Landing.jsx index bf940dd1e87564..4e1d88cffa6af2 100644 --- a/docs/src/Routes/Landing/Landing.jsx +++ b/docs/src/Routes/Landing/Landing.jsx @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; +import { Link } from 'react-router-dom'; import { Toolbar, Typography, withStyles, Button } from 'material-ui'; class Demo extends Component { @@ -30,9 +31,11 @@ class Demo extends Component { Date and Time pickers for material-ui v1 - + + +
diff --git a/docs/src/_shared/Code.jsx b/docs/src/_shared/Code.jsx index a2e97e1e30c18d..cb478bd5457f02 100644 --- a/docs/src/_shared/Code.jsx +++ b/docs/src/_shared/Code.jsx @@ -1,4 +1,5 @@ import React from 'react'; +import PropTypes from 'prop-types'; import classnames from 'classnames'; import { withStyles } from 'material-ui/styles'; import prism from 'utils/prism'; @@ -155,12 +156,14 @@ const styles = theme => ({ }, }, margin: { - margin: '10px 0 30px' + margin: '10px 0 30px', }, }); const Code = (props) => { - const { classes, language, text, withMargin } = props; + const { + classes, language, text, withMargin, + } = props; const hightlightedCode = prism.highlight(text, prism.languages[language]); return ( @@ -172,9 +175,16 @@ const Code = (props) => { ); }; +Code.propTypes = { + classes: PropTypes.object.isRequired, + language: PropTypes.string, + text: PropTypes.string.isRequired, + withMargin: PropTypes.bool, +}; + Code.defaultProps = { withMargin: false, - language: 'jsx' -} + language: 'jsx', +}; export default withStyles(styles)(Code); diff --git a/docs/src/_shared/MarkdownElement.jsx b/docs/src/_shared/MarkdownElement.jsx deleted file mode 100644 index ec747fa47ddb81..00000000000000 --- a/docs/src/_shared/MarkdownElement.jsx +++ /dev/null @@ -1 +0,0 @@ -null \ No newline at end of file diff --git a/docs/src/index.js b/docs/src/index.js index 9ff58f7ced8a5b..788b0684e8313a 100644 --- a/docs/src/index.js +++ b/docs/src/index.js @@ -1,20 +1,21 @@ import React from 'react'; import ReactDOM from 'react-dom'; +import { Router } from 'react-router'; +import createBrowserHistory from 'history/createBrowserHistory'; import './index.css'; import App from './App'; import registerServiceWorker from './registerServiceWorker'; -import createBrowserHistory from 'history/createBrowserHistory' -import { Router } from 'react-router' -const history = createBrowserHistory() +const history = createBrowserHistory(); +history.listen(() => window.scrollTo(0, 0)); const doRender = () => { ReactDOM.render( - , - document.getElementById('root') + , + document.getElementById('root'), ); }; diff --git a/docs/src/registerServiceWorker.js b/docs/src/registerServiceWorker.js index 4a3ccf02124e9a..f584622d80a82c 100644 --- a/docs/src/registerServiceWorker.js +++ b/docs/src/registerServiceWorker.js @@ -1,3 +1,4 @@ +/* eslint-disable */ // In production, we register a service worker to serve assets from local cache. // This lets the app load faster on subsequent visits in production, and gives @@ -8,15 +9,11 @@ // To learn more about the benefits of this model, read https://goo.gl/KwvDNy. // This link also includes instructions on opting out of this behavior. -const isLocalhost = Boolean( - window.location.hostname === 'localhost' || +const isLocalhost = Boolean(window.location.hostname === 'localhost' || // [::1] is the IPv6 localhost address. window.location.hostname === '[::1]' || // 127.0.0.1/8 is considered localhost for IPv4. - window.location.hostname.match( - /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ - ) -); + window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/,),); export default function register() { if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { @@ -46,7 +43,7 @@ export default function register() { function registerValidSW(swUrl) { navigator.serviceWorker .register(swUrl) - .then(registration => { + .then((registration) => { registration.onupdatefound = () => { const installingWorker = registration.installing; installingWorker.onstatechange = () => { @@ -67,7 +64,7 @@ function registerValidSW(swUrl) { }; }; }) - .catch(error => { + .catch((error) => { console.error('Error during service worker registration:', error); }); } @@ -75,14 +72,14 @@ function registerValidSW(swUrl) { function checkValidServiceWorker(swUrl) { // Check if the service worker can be found. If it can't reload the page. fetch(swUrl) - .then(response => { + .then((response) => { // Ensure service worker exists, and that we really are getting a JS file. if ( response.status === 404 || response.headers.get('content-type').indexOf('javascript') === -1 ) { // No service worker found. Probably a different app. Reload the page. - navigator.serviceWorker.ready.then(registration => { + navigator.serviceWorker.ready.then((registration) => { registration.unregister().then(() => { window.location.reload(); }); @@ -93,15 +90,13 @@ function checkValidServiceWorker(swUrl) { } }) .catch(() => { - console.log( - 'No internet connection found. App is running in offline mode.' - ); + console.log('No internet connection found. App is running in offline mode.',); }); } export function unregister() { if ('serviceWorker' in navigator) { - navigator.serviceWorker.ready.then(registration => { + navigator.serviceWorker.ready.then((registration) => { registration.unregister(); }); } From ebd40304d7b05b3a829607848bf1ce724cbb11ff Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 8 Mar 2018 12:23:35 +0200 Subject: [PATCH 0425/1801] Fix errors, deploy new documentation --- README.md | 2 +- docs/firebase.json | 10 +++++++++- docs/src/Routes/Demos/DatePickerDemo.jsx | 12 +++++++----- docs/src/Routes/Demos/DateTimePickerDemo.jsx | 14 ++++++++------ docs/src/Routes/Demos/TimePickerDemo.jsx | 12 +++++++----- docs/src/Routes/Demos/index.jsx | 11 ++++++----- docs/src/Routes/Routes.jsx | 11 ++++++----- docs/src/utils/prism.js | 3 ++- 8 files changed, 46 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 93db77e2ab036d..50cd0680edaabb 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ npm install moment -S ``` ## Documentation -Check out material-ui-picker's [documentation](https://material-ui-pic.firebaseapp.com/) +Check out material-ui-picker's [documentation](https://material-ui-pickers.firebaseapp.com/) ### Recently updated? Changelog available [here](https://github.com/dmtrKovalenko/material-ui-pickers/releases) diff --git a/docs/firebase.json b/docs/firebase.json index 5f403ff204a07b..7bcdcea7b9b2d7 100644 --- a/docs/firebase.json +++ b/docs/firebase.json @@ -1,5 +1,13 @@ { "hosting": { - "public": "build" + "public": "build", + "headers": [{ + "source":"/service-worker.js", + "headers": [{ "key": "Cache-Control", "value": "no-cache" }] + }], + "rewrites": [{ + "source": "**", + "destination": "/index.html" + }] } } diff --git a/docs/src/Routes/Demos/DatePickerDemo.jsx b/docs/src/Routes/Demos/DatePickerDemo.jsx index ccda356f9860f9..d54f66832932bf 100644 --- a/docs/src/Routes/Demos/DatePickerDemo.jsx +++ b/docs/src/Routes/Demos/DatePickerDemo.jsx @@ -1,5 +1,5 @@ -import React from 'react' -import SourcablePanel from '_shared/SourcablePanel' +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; import { Typography } from 'material-ui'; const DatePickerDemoDemo = () => ( @@ -11,7 +11,8 @@ const DatePickerDemoDemo = () => ( Date pickers use a dialog window to select a single date. - The selected day is indicated by a filled circle. The current day is indicated by a different color and type weight. + The selected day is indicated by a filled circle. + The current day is indicated by a different color and type weight. ( } />
-) +); + +export default DatePickerDemoDemo; -export default DatePickerDemoDemo \ No newline at end of file diff --git a/docs/src/Routes/Demos/DateTimePickerDemo.jsx b/docs/src/Routes/Demos/DateTimePickerDemo.jsx index 5279d9eecd4ed3..9de7d04d292e09 100644 --- a/docs/src/Routes/Demos/DateTimePickerDemo.jsx +++ b/docs/src/Routes/Demos/DateTimePickerDemo.jsx @@ -1,5 +1,5 @@ -import React from 'react' -import SourcablePanel from '_shared/SourcablePanel' +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; import { Typography } from 'material-ui'; const DateTimePickerDemo = () => ( @@ -11,8 +11,9 @@ const DateTimePickerDemo = () => ( This component is not from material design guidelines. - Its a combination of date & time picker and allows that uses the modal to select both date and time with one control. - + Its a combination of date & time picker and allows + that uses the modal to select both date and time with one control. + ( } /> -) +); + +export default DateTimePickerDemo; -export default DateTimePickerDemo \ No newline at end of file diff --git a/docs/src/Routes/Demos/TimePickerDemo.jsx b/docs/src/Routes/Demos/TimePickerDemo.jsx index 55e41657ddeeac..6a7d514625d15d 100644 --- a/docs/src/Routes/Demos/TimePickerDemo.jsx +++ b/docs/src/Routes/Demos/TimePickerDemo.jsx @@ -1,5 +1,5 @@ -import React from 'react' -import SourcablePanel from '_shared/SourcablePanel' +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; import { Typography } from 'material-ui'; const DatePickerDemoDemo = () => ( @@ -19,7 +19,8 @@ const DatePickerDemoDemo = () => ( sourceFile="Demo/TimePickerBasic.jsx" description={ - A time picker should adjusts to a user’s preferred time setting, i.e. the 12-hour or 24-hour format. + A time picker should adjusts to a user’s preferred time setting, + i.e. the 12-hour or 24-hour format. } /> @@ -29,6 +30,7 @@ const DatePickerDemoDemo = () => ( sourceFile="Demo/KeyboardTimePicker.jsx" /> -) +); + +export default DatePickerDemoDemo; -export default DatePickerDemoDemo \ No newline at end of file diff --git a/docs/src/Routes/Demos/index.jsx b/docs/src/Routes/Demos/index.jsx index 8e6e02460c0ce3..d3c2a5252a8435 100644 --- a/docs/src/Routes/Demos/index.jsx +++ b/docs/src/Routes/Demos/index.jsx @@ -1,8 +1,8 @@ -import React from 'react' -import { Switch, Route } from 'react-router' +import React from 'react'; +import { Switch, Route } from 'react-router'; -import DatePickerDemo from './DatePickerDemo' -import TimePickerDemo from './TimePickerDemo' +import DatePickerDemo from './DatePickerDemo'; +import TimePickerDemo from './TimePickerDemo'; import DateTimePickerDemo from './DateTimePickerDemo'; export default () => ( @@ -11,4 +11,5 @@ export default () => ( -) \ No newline at end of file +); + diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index 06606205433bbb..da2120de5d1652 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -1,8 +1,8 @@ -import React from 'react' -import { Switch, Route } from 'react-router' +import React from 'react'; +import { Switch, Route } from 'react-router'; -import Demos from './Demos' -import Landing from './Landing/Landing' +import Demos from './Demos'; +import Landing from './Landing/Landing'; import Installation from './GettingStarted/Installation'; import Usage from './GettingStarted/Usage'; @@ -13,4 +13,5 @@ export default () => ( -) \ No newline at end of file +); + diff --git a/docs/src/utils/prism.js b/docs/src/utils/prism.js index 9f2b97e1628158..1b633ecf01ba56 100644 --- a/docs/src/utils/prism.js +++ b/docs/src/utils/prism.js @@ -20,4 +20,5 @@ export function setPrismTheme(theme) { : darkTheme; } -export default prism \ No newline at end of file +export default prism; + From 7b51cff181cfa6dac5eeea7f867120fc3897798d Mon Sep 17 00:00:00 2001 From: Daniel Juhl Date: Thu, 8 Mar 2018 11:18:26 +0100 Subject: [PATCH 0426/1801] disable prev/next month nav if out of bounds --- lib/src/DatePicker/Calendar.jsx | 20 ++++++++++++++++++++ lib/src/DatePicker/CalendarHeader.d.ts | 4 +++- lib/src/DatePicker/CalendarHeader.jsx | 10 ++++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 5071f89614ae93..923fa386f193d7 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -72,6 +72,24 @@ export class Calendar extends Component { ); }; + shouldDisablePrevMonth = () => { + const { utils, disablePast, minDate } = this.props; + const now = utils.date(); + return !utils.isBefore( + utils.getStartOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate), + this.state.currentMonth, + ); + }; + + shouldDisableNextMonth = () => { + const { utils, disableFuture, maxDate } = this.props; + const now = utils.date(); + return !utils.isAfter( + utils.getStartOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate), + this.state.currentMonth, + ); + }; + shouldDisableDate = (day) => { const { disablePast, disableFuture, shouldDisableDate, utils, @@ -193,6 +211,8 @@ export class Calendar extends Component { onMonthChange={this.handleChangeMonth} leftArrowIcon={this.props.leftArrowIcon} rightArrowIcon={this.props.rightArrowIcon} + disablePrevMonth={this.shouldDisablePrevMonth()} + disableNextMonth={this.shouldDisableNextMonth()} utils={utils} /> diff --git a/lib/src/DatePicker/CalendarHeader.d.ts b/lib/src/DatePicker/CalendarHeader.d.ts index 1b05c79a5c3f72..441964cf66504b 100644 --- a/lib/src/DatePicker/CalendarHeader.d.ts +++ b/lib/src/DatePicker/CalendarHeader.d.ts @@ -1,12 +1,14 @@ import { ComponentClass, ReactNode } from 'react'; import { Utils } from '../typings/utils'; -import { MaterialUiPickersDate } from '../typings/date' +import { MaterialUiPickersDate } from '../typings/date'; export interface CalendarHeaderProps { currentMonth: object; onMonthChange: (date: MaterialUiPickersDate) => void; leftArrowIcon?: ReactNode; rightArrowIcon?: ReactNode; + disablePrevMonth?: boolean; + disableNextMonth?: boolean; utils?: Utils; } diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index f17e372a0dc722..59237d0b56620e 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -14,6 +14,8 @@ export const CalendarHeader = (props) => { onMonthChange, leftArrowIcon, rightArrowIcon, + disablePrevMonth, + disableNextMonth, utils, } = props; @@ -25,7 +27,7 @@ export const CalendarHeader = (props) => { return (
- + {rtl ? rightArrowIcon : leftArrowIcon} @@ -33,7 +35,7 @@ export const CalendarHeader = (props) => { {utils.getCalendarHeaderText(currentMonth)} - + {rtl ? leftArrowIcon : rightArrowIcon}
@@ -61,12 +63,16 @@ CalendarHeader.propTypes = { theme: PropTypes.object.isRequired, leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, + disablePrevMonth: PropTypes.bool, + disableNextMonth: PropTypes.bool, utils: PropTypes.func.isRequired, }; CalendarHeader.defaultProps = { leftArrowIcon: 'keyboard_arrow_left', rightArrowIcon: 'keyboard_arrow_right', + disablePrevMonth: false, + disableNextMonth: false, }; const styles = theme => ({ From ac542fbf4923ce6b4a48ddaff0ad776696b0928d Mon Sep 17 00:00:00 2001 From: Tomasz Dobrowolski Date: Thu, 8 Mar 2018 15:54:43 -0500 Subject: [PATCH 0427/1801] fix moment-utils startOfDay, endOfDay The two methods in moment-utils invoke moment().startOf and moment().endOf which mutate the original value. The call to clone() has to be added in order to prevent that. --- lib/src/utils/moment-utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index a499e3ea0d45e0..592b4a8f5b420d 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -40,11 +40,11 @@ export default class MomentUtils { } static startOfDay(date) { - return date.startOf('day'); + return date.clone().startOf('day'); } static endOfDay(date) { - return date.endOf('day'); + return date.clone().endOf('day'); } static format(date, formatString) { From 22754839eda4c6bdb2b5dee13f8bbe9286695d81 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 9 Mar 2018 15:13:50 +0100 Subject: [PATCH 0428/1801] fix DialogActions align when clearable is set to true in IE11 --- lib/src/_shared/ModalDialog.jsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 849c1ae7a932c5..4e3d6f53e813a3 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -20,6 +20,10 @@ const styles = { }, }, dialogActions: { + // set justifyContent to default value to fix IE11 layout bug + justifyContent: 'flex-start', + }, + dialogAction: { '&:first-child': { marginRight: 'auto', }, @@ -46,7 +50,8 @@ const ModalDialog = ({ From bc247fccf1bc894769223d7342c6df308c7fa4e2 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 9 Mar 2018 15:24:57 +0100 Subject: [PATCH 0429/1801] add reference to PR --- lib/src/_shared/ModalDialog.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 4e3d6f53e813a3..518515f35707fd 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -21,6 +21,7 @@ const styles = { }, dialogActions: { // set justifyContent to default value to fix IE11 layout bug + // see https://github.com/dmtrKovalenko/material-ui-pickers/pull/267 justifyContent: 'flex-start', }, dialogAction: { From 4fdc9771411bf789b0607aafbeef02988ab365e2 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 10 Mar 2018 22:17:19 +0200 Subject: [PATCH 0430/1801] Make utils class instancable, add locale overriding for date-fns --- docs/src/App.js | 21 ++-- lib/src/DatePicker/Calendar.jsx | 2 +- lib/src/DatePicker/CalendarHeader.jsx | 2 +- lib/src/DatePicker/DatePicker.jsx | 2 +- lib/src/DatePicker/YearSelection.jsx | 2 +- lib/src/DatePicker/index.jsx | 2 +- lib/src/DateTimePicker/DateTimePicker.jsx | 2 +- .../DateTimePicker/DateTimePickerHeader.jsx | 2 +- lib/src/DateTimePicker/index.jsx | 2 +- lib/src/TimePicker/HourView.jsx | 2 +- lib/src/TimePicker/MinutesView.jsx | 2 +- lib/src/TimePicker/TimePicker.jsx | 2 +- lib/src/TimePicker/index.jsx | 2 +- lib/src/_shared/DateTextField.jsx | 5 +- lib/src/_shared/PickerBase.jsx | 2 +- lib/src/_shared/WithUtils.jsx | 2 +- lib/src/utils/MuiPickersUtilsProvider.jsx | 10 +- lib/src/utils/date-fns-utils.js | 98 ++++++++++--------- lib/src/utils/moment-utils.js | 80 ++++++++------- 19 files changed, 133 insertions(+), 109 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index d3a79f7799b6fd..43e288106ad723 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,5 +1,4 @@ import React, { Component } from 'react'; -import PropTypes from 'prop-types'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; import dateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; @@ -10,6 +9,8 @@ import preset from 'jss-preset-default'; import rtl from 'jss-rtl'; import JssProvider from 'react-jss/lib/JssProvider'; import createGenerateClassName from 'material-ui/styles/createGenerateClassName'; +import frLocale from 'date-fns/locale/fr'; +import enLocale from 'date-fns/locale/en-US'; // import Demo from './Demo/Demo'; import { setPrismTheme } from './utils/prism'; @@ -20,13 +21,11 @@ const jss = create({ plugins: [...preset().plugins, rtl()] }); jss.options.createGenerateClassName = createGenerateClassName; export default class App extends Component { - static propTypes = { - toggleFrench: PropTypes.func.isRequired, - } - state = { type: 'light', direction: 'ltr', + locale: 'en', + localeObj: enLocale, } componentWillMount = () => { @@ -55,15 +54,23 @@ export default class App extends Component { this.setState({ type }); } + toggleFrench = () => { + if (this.state.locale === 'en') { + this.setState({ locale: 'fr', localeObj: frLocale }); + } else { + this.setState({ locale: 'en', localeObj: enLocale }); + } + } + render() { return ( - + diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 923fa386f193d7..8343cc4f3b9ae0 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -26,7 +26,7 @@ export class Calendar extends Component { /** @ignore */ theme: PropTypes.object.isRequired, shouldDisableDate: PropTypes.func, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, }; static defaultProps = { diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index 59237d0b56620e..f406471ff4b8fd 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -65,7 +65,7 @@ CalendarHeader.propTypes = { rightArrowIcon: PropTypes.node, disablePrevMonth: PropTypes.bool, disableNextMonth: PropTypes.bool, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, }; CalendarHeader.defaultProps = { diff --git a/lib/src/DatePicker/DatePicker.jsx b/lib/src/DatePicker/DatePicker.jsx index 2f0870236a0930..9f0093189c2ac9 100644 --- a/lib/src/DatePicker/DatePicker.jsx +++ b/lib/src/DatePicker/DatePicker.jsx @@ -22,7 +22,7 @@ export class DatePicker extends PureComponent { leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, renderDay: PropTypes.func, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, shouldDisableDate: PropTypes.func, } diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index bd5737a17af355..f3ed6f743e4d76 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -16,7 +16,7 @@ export class YearSelection extends PureComponent { disablePast: PropTypes.bool.isRequired, disableFuture: PropTypes.bool.isRequired, animateYearScrolling: PropTypes.bool, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, } static defaultProps = { diff --git a/lib/src/DatePicker/index.jsx b/lib/src/DatePicker/index.jsx index 50ac898af9f79d..fb75939c350257 100644 --- a/lib/src/DatePicker/index.jsx +++ b/lib/src/DatePicker/index.jsx @@ -40,7 +40,7 @@ export class DatePickerWrapper extends PickerBase { /* Custom renderer for day renderDay(date, selectedDate, dayInCurrentMonth) */ renderDay: PropTypes.func, /* Date displaying utils */ - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, /* Disable specific date hook */ shouldDisableDate: PropTypes.func, } diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 9a0bb6f3fa6064..577ef83838ae38 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -30,7 +30,7 @@ export class DateTimePicker extends Component { dateRangeIcon: PropTypes.node, timeIcon: PropTypes.node, renderDay: PropTypes.func, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index f4dc09dfb036bd..0b4418e12b5cd5 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -93,7 +93,7 @@ DateTimePickerHeader.propTypes = { openView: PropTypes.string.isRequired, onOpenViewChange: PropTypes.func.isRequired, setMeridiemMode: PropTypes.func.isRequired, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, ampm: PropTypes.bool, }; diff --git a/lib/src/DateTimePicker/index.jsx b/lib/src/DateTimePicker/index.jsx index 41c66552441d63..32f760a05c7d76 100644 --- a/lib/src/DateTimePicker/index.jsx +++ b/lib/src/DateTimePicker/index.jsx @@ -29,7 +29,7 @@ export class DateTimePickerWrapper extends PickerBase { timeIcon: PropTypes.node, renderDay: PropTypes.func, labelFunc: PropTypes.func, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, diff --git a/lib/src/TimePicker/HourView.jsx b/lib/src/TimePicker/HourView.jsx index c280f71387d971..a59d1629b9cae0 100644 --- a/lib/src/TimePicker/HourView.jsx +++ b/lib/src/TimePicker/HourView.jsx @@ -9,7 +9,7 @@ export class HourView extends PureComponent { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, ampm: PropTypes.bool, } diff --git a/lib/src/TimePicker/MinutesView.jsx b/lib/src/TimePicker/MinutesView.jsx index 2b280fefd5c7d8..6198b63e2cd23f 100644 --- a/lib/src/TimePicker/MinutesView.jsx +++ b/lib/src/TimePicker/MinutesView.jsx @@ -9,7 +9,7 @@ export class MinutesView extends Component { static propTypes = { date: PropTypes.object.isRequired, onChange: PropTypes.func.isRequired, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, } static defaultProps = { diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index eb44b51dedfeca..094576b1006498 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -15,7 +15,7 @@ export class TimePicker extends Component { classes: PropTypes.object.isRequired, theme: PropTypes.object.isRequired, children: PropTypes.node, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, ampm: PropTypes.bool, } diff --git a/lib/src/TimePicker/index.jsx b/lib/src/TimePicker/index.jsx index 0957cfbc4f1632..7928bc123d5043 100644 --- a/lib/src/TimePicker/index.jsx +++ b/lib/src/TimePicker/index.jsx @@ -18,7 +18,7 @@ export class TimePickerWrapper extends PickerBase { onChange: PropTypes.func.isRequired, autoOk: PropTypes.bool, invalidLabel: PropTypes.string, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, ampm: PropTypes.bool, } diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 15327e77ce1c49..cf94d7cfdae242 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -41,7 +41,7 @@ export class DateTextField extends PureComponent { invalidDateMessage: PropTypes.string, clearable: PropTypes.bool, TextFieldComponent: PropTypes.oneOfType([PropTypes.string, PropTypes.func]), - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, InputAdornmentProps: PropTypes.object, adornmentPosition: PropTypes.oneOf(['start', 'end']), } @@ -143,7 +143,8 @@ export class DateTextField extends PureComponent { nextProps.format !== this.props.format || nextProps.maxDate !== this.props.maxDate || nextProps.minDate !== this.props.minDate || - nextProps.emptyLabel !== this.props.emptyLabel + nextProps.emptyLabel !== this.props.emptyLabel || + nextProps.utils !== this.props.utils ) { this.setState(this.updateState(nextProps)); } diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index 0b3cdc557114e2..0c10017a904539 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -12,7 +12,7 @@ export default class PickerBase extends PureComponent { format: PropTypes.string, labelFunc: PropTypes.func, ampm: PropTypes.bool, - utils: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, } getValidDateOrCurrent = (props = this.props) => { diff --git a/lib/src/_shared/WithUtils.jsx b/lib/src/_shared/WithUtils.jsx index 19aa069f8cea9e..efb5a719e09975 100644 --- a/lib/src/_shared/WithUtils.jsx +++ b/lib/src/_shared/WithUtils.jsx @@ -12,7 +12,7 @@ const withUtils = () => (Component) => { }; WithUtils.contextTypes = { - muiPickersDateUtils: PropTypes.func, + muiPickersDateUtils: PropTypes.object, }; WithUtils.displayName = `withUtils${Component.displayName || Component.name}`; diff --git a/lib/src/utils/MuiPickersUtilsProvider.jsx b/lib/src/utils/MuiPickersUtilsProvider.jsx index 1ae3fb50bbf4b0..3a3f079fa8fc7a 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.jsx +++ b/lib/src/utils/MuiPickersUtilsProvider.jsx @@ -4,16 +4,22 @@ import PropTypes from 'prop-types'; export default class MuiPickersUtilsProvider extends PureComponent { static propTypes = { utils: PropTypes.func.isRequired, + locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), children: PropTypes.element.isRequired, } + static defaultProps = { + locale: undefined, + } + static childContextTypes = { - muiPickersDateUtils: PropTypes.func, + muiPickersDateUtils: PropTypes.object, } getChildContext() { + const { utils: Utils, locale } = this.props; return { - muiPickersDateUtils: this.props.utils, + muiPickersDateUtils: new Utils(locale), }; } diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 808e0d2ddfe1de..c5ce8a364bab2a 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -24,7 +24,11 @@ import getYear from 'date-fns/getYear'; import isEqual from 'date-fns/isEqual'; export default class DateFnsUtils { - static date(value) { + constructor(locale) { + this.locale = locale; + } + + date(value) { if (typeof value === 'undefined') { return new Date(); } @@ -32,87 +36,89 @@ export default class DateFnsUtils { return new Date(value); } - static parse = (value, formatString) => parse(value, formatString, new Date()) + parse = (value, formatString) => parse(value, formatString, new Date()) - static addDays = addDays + format(date, formatString) { + return format(date, formatString, { locale: this.locale }); + } - static isValid = isValid + addDays = addDays - static isEqual = isEqual + isValid = isValid - static isNull(date) { + isEqual = isEqual + + isNull(date) { return date == null; } - static isAfter = isAfter + isAfter = isAfter - static isBefore = isBefore + isBefore = isBefore - static isAfterDay(date, value) { + isAfterDay(date, value) { return isAfter(date, endOfDay(value)); } - static isBeforeDay(date, value) { + isBeforeDay(date, value) { return isBefore(date, startOfDay(value)); } - static isBeforeYear(date, value) { + isBeforeYear(date, value) { return isBefore(date, startOfYear(value)); } - static isAfterYear(date, value) { + isAfterYear(date, value) { return isAfter(date, endOfYear(value)); } - static startOfDay = startOfDay - - static endOfDay = endOfDay + startOfDay = startOfDay - static format = format + endOfDay = endOfDay - static formatNumber(num) { + formatNumber(num) { return num; } - static getHours = getHours + getHours = getHours - static setHours = setHours + setHours = setHours - static getMinutes(date) { + getMinutes(date) { return date.getMinutes(); } - static setMinutes = setMinutes + setMinutes = setMinutes - static getMonth(date) { + getMonth(date) { return date.getMonth(); } - static isSameDay = isSameDay; + isSameDay = isSameDay; - static getMeridiemText(ampm) { + getMeridiemText(ampm) { return ampm === 'am' ? 'AM' : 'PM'; } - static getStartOfMonth = startOfMonth + getStartOfMonth = startOfMonth - static getNextMonth(date) { + getNextMonth(date) { return addMonths(date, 1); } - static getPreviousMonth(date) { + getPreviousMonth(date) { return addMonths(date, -1); } - static getYear = getYear + getYear = getYear - static setYear = setYear; + setYear = setYear; - static getWeekdays() { + getWeekdays() { return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => format(setDay(new Date(), dayOfWeek), 'dd')); } - static getWeekArray(date) { + getWeekArray(date) { const start = startOfWeek(startOfMonth(date)); const end = endOfWeek(endOfMonth(date)); @@ -130,7 +136,7 @@ export default class DateFnsUtils { return nestedWeeks; } - static getYearRange(start, end) { + getYearRange(start, end) { const startDate = new Date(start); const endDate = new Date(end); const years = []; @@ -143,31 +149,31 @@ export default class DateFnsUtils { } // displaying methpds - static getCalendarHeaderText(date) { - return format(date, 'MMMM YYYY'); + getCalendarHeaderText(date) { + return format(date, 'MMMM YYYY', { locale: this.locale }); } - static getYearText(date) { - return format(date, 'YYYY'); + getYearText(date) { + return format(date, 'YYYY', { locale: this.locale }); } - static getDatePickerHeaderText(date) { - return format(date, 'ddd, MMM D'); + getDatePickerHeaderText(date) { + return format(date, 'ddd, MMM D', { locale: this.locale }); } - static getDateTimePickerHeaderText(date) { - return format(date, 'MMM D'); + getDateTimePickerHeaderText(date) { + return format(date, 'MMM D', { locale: this.locale }); } - static getDayText(date) { - return format(date, 'D'); + getDayText(date) { + return format(date, 'D', { locale: this.locale }); } - static getHourText(date, ampm) { - return format(date, ampm ? 'hh' : 'HH'); + getHourText(date, ampm) { + return format(date, ampm ? 'hh' : 'HH', { locale: this.locale }); } - static getMinuteText(date) { - return format(date, 'mm'); + getMinuteText(date) { + return format(date, 'mm', { locale: this.locale }); } } diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index 592b4a8f5b420d..dea27f08058a0d 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -1,123 +1,127 @@ import moment from 'moment'; export default class MomentUtils { - static parse = moment + constructor(locale) { + this.locale = locale; + } + + parse = moment - static date(value, formatString) { + date(value, formatString) { return moment(value, formatString); } - static isValid(date) { + isValid(date) { return date.isValid(); } - static isNull(date) { + isNull(date) { return date.parsingFlags().nullInput; } - static isAfter(date, value) { + isAfter(date, value) { return date.isAfter(value); } - static isBefore(date, value) { + isBefore(date, value) { return date.isBefore(value); } - static isAfterDay(date, value) { + isAfterDay(date, value) { return date.isAfter(value, 'day'); } - static isBeforeDay(date, value) { + isBeforeDay(date, value) { return date.isBefore(value, 'day'); } - static isBeforeYear(date, value) { + isBeforeYear(date, value) { return date.isBefore(value, 'year'); } - static isAfterYear(date, value) { + isAfterYear(date, value) { return date.isAfter(value, 'year'); } - static startOfDay(date) { + startOfDay(date) { return date.clone().startOf('day'); } - static endOfDay(date) { + endOfDay(date) { return date.clone().endOf('day'); } - static format(date, formatString) { + format(date, formatString) { return date.format(formatString); } - static formatNumber(num) { + formatNumber(num) { return num; } - static getHours(date) { + getHours(date) { return date.get('hours'); } - static addDays(date, count) { + addDays(date, count) { return count < 0 ? date.clone().subtract(Math.abs(count), 'days') : date.clone().add(count, 'days'); } - static setHours(date, value) { + setHours(date, value) { return date.clone().hours(value); } - static getMinutes(date) { + getMinutes(date) { return date.get('minutes'); } - static setMinutes(date, value) { + setMinutes(date, value) { return date.clone().minutes(value); } - static getMonth(date) { + getMonth(date) { return date.get('month'); } - static isSameDay(date, comparing) { + isSameDay(date, comparing) { return date.isSame(comparing, 'day'); } - static getMeridiemText(ampm) { + getMeridiemText(ampm) { return ampm === 'am' ? 'AM' : 'PM'; } - static getStartOfMonth(date) { + getStartOfMonth(date) { return date.clone().startOf('month'); } - static getNextMonth(date) { + getNextMonth(date) { return date.clone().add(1, 'month'); } - static getPreviousMonth(date) { + getPreviousMonth(date) { return date.clone().subtract(1, 'month'); } - static getYear(date) { + getYear(date) { return date.get('year'); } - static setYear(date, year) { + setYear(date, year) { return date.clone().set('year', year); } - static getWeekdays() { + getWeekdays() { return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => moment().weekday(dayOfWeek).format('dd')[0]); } - static isEqual(value, comparing) { + isEqual(value, comparing) { return moment(value).isSame(comparing); } - static getWeekArray(date) { + getWeekArray(date) { const start = date.clone().startOf('month').startOf('week'); const end = date.clone().endOf('month').endOf('week'); @@ -135,7 +139,7 @@ export default class MomentUtils { return nestedWeeks; } - static getYearRange(start, end) { + getYearRange(start, end) { const startDate = moment(start); const endDate = moment(end); const years = []; @@ -150,31 +154,31 @@ export default class MomentUtils { } // displaying methods - static getCalendarHeaderText(date) { + getCalendarHeaderText(date) { return date.format('MMMM YYYY'); } - static getYearText(date) { + getYearText(date) { return date.format('YYYY'); } - static getDatePickerHeaderText(date) { + getDatePickerHeaderText(date) { return date.format('ddd, MMM D'); } - static getDateTimePickerHeaderText(date) { + getDateTimePickerHeaderText(date) { return date.format('MMM D'); } - static getDayText(date) { + getDayText(date) { return date.format('D'); } - static getHourText(date, ampm) { + getHourText(date, ampm) { return date.format(ampm ? 'hh' : 'HH'); } - static getMinuteText(date) { + getMinuteText(date) { return date.format('mm'); } } From 00393c5b2476c0fdac361af46d27eee5f1a3b8a9 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 10 Mar 2018 23:04:02 +0200 Subject: [PATCH 0431/1801] Add passing through moment object to the moment-utils constructor --- docs/src/App.js | 15 +++++++++++---- lib/src/utils/MuiPickersUtilsProvider.jsx | 6 ++++-- lib/src/utils/date-fns-utils.js | 2 +- lib/src/utils/moment-utils.js | 22 ++++++++++++---------- 4 files changed, 28 insertions(+), 17 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index 43e288106ad723..34fc5a2179fe09 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; -import dateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; +import Utils from 'material-ui-pickers/utils/date-fns-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; import { create } from 'jss'; @@ -12,11 +12,16 @@ import createGenerateClassName from 'material-ui/styles/createGenerateClassName' import frLocale from 'date-fns/locale/fr'; import enLocale from 'date-fns/locale/en-US'; -// import Demo from './Demo/Demo'; import { setPrismTheme } from './utils/prism'; import Layout from './layout/Layout'; import Routes from './Routes/Routes'; +// /* eslint-disable import/first */ +// import moment from 'moment'; +// import 'moment/locale/fr'; + +// moment.locale('fr'); + const jss = create({ plugins: [...preset().plugins, rtl()] }); jss.options.createGenerateClassName = createGenerateClassName; @@ -43,7 +48,6 @@ export default class App extends Component { const direction = this.state.direction === 'ltr' ? 'rtl' : 'ltr'; document.body.dir = direction; - this.setState({ direction }); } @@ -66,7 +70,10 @@ export default class App extends Component { return ( - + moment().weekday(dayOfWeek).format('dd')[0]); + return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => this.moment().weekday(dayOfWeek).format('dd')[0]); } isEqual(value, comparing) { - return moment(value).isSame(comparing); + return this.moment(value).isSame(comparing); } getWeekArray(date) { @@ -140,8 +142,8 @@ export default class MomentUtils { } getYearRange(start, end) { - const startDate = moment(start); - const endDate = moment(end); + const startDate = this.moment(start); + const endDate = this.moment(end); const years = []; let current = startDate; From e7cbee457ce7cfe401ec2edfdf7998e25062d0ba Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 10 Mar 2018 23:13:08 +0200 Subject: [PATCH 0432/1801] Fix test setup, add handling of undefined passed to the utils constructor --- lib/__tests__/test-utils.js | 8 ++++---- lib/src/utils/date-fns-utils.js | 2 +- lib/src/utils/moment-utils.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/__tests__/test-utils.js b/lib/__tests__/test-utils.js index 3c2ffab0b62747..f933b64d57fa3e 100644 --- a/lib/__tests__/test-utils.js +++ b/lib/__tests__/test-utils.js @@ -1,11 +1,11 @@ import React from 'react'; import * as enzyme from 'enzyme'; -import dateFnsUtils from '../src/utils/date-fns-utils'; -import momentUtils from '../src/utils/moment-utils'; +import DateFnsUtils from '../src/utils/date-fns-utils'; +import MomentUtils from '../src/utils/moment-utils'; export const utilsToUse = process.env.UTILS === 'moment' - ? momentUtils - : dateFnsUtils; + ? new MomentUtils() + : new DateFnsUtils(); const getComponentWithUtils = Component => React.cloneElement(Component, { utils: utilsToUse }); diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 2c24eb0b71d3cc..470ed1a96cbd89 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -24,7 +24,7 @@ import getYear from 'date-fns/getYear'; import isEqual from 'date-fns/isEqual'; export default class DateFnsUtils { - constructor({ locale }) { + constructor({ locale } = {}) { this.locale = locale; } diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index 9903df34f16934..14b8fbb8f59193 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -1,7 +1,7 @@ import defaultMoment from 'moment'; export default class MomentUtils { - constructor({ locale, moment }) { + constructor({ locale, moment } = {}) { /* eslint-disable-next-line */ this.moment = moment || defaultMoment this.locale = locale; From 3f89daaac47de71f4db99f5f8379ab16eb419dfd Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Mar 2018 16:51:19 +0200 Subject: [PATCH 0433/1801] Add localization section to docs --- .../DateFnsLocalizationExample.jsx | 89 +++++++++++++++++++ .../Localization/DateFnsLocalization.jsx | 24 +++++ docs/src/Routes/Routes.jsx | 3 + docs/src/layout/NavigationMenu.jsx | 9 ++ 4 files changed, 125 insertions(+) create mode 100644 docs/src/Examples/Localization/DateFnsLocalizationExample.jsx create mode 100644 docs/src/Routes/Localization/DateFnsLocalization.jsx diff --git a/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx b/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx new file mode 100644 index 00000000000000..4368c7f389fd3a --- /dev/null +++ b/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx @@ -0,0 +1,89 @@ +import React, { PureComponent } from 'react'; +import frLocale from 'date-fns/locale/fr'; +import ruLocale from 'date-fns/locale/ru'; +import enLocale from 'date-fns/locale/en-US'; + +import DatePicker from 'material-ui-pickers/DatePicker'; +import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; +import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; +import { Icon, IconButton, Menu, MenuItem } from 'material-ui'; + +const localeMap = { + en: enLocale, + fr: frLocale, + ru: ruLocale, +}; + +export default class DateFnsLocalizationExample extends PureComponent { + state = { + selectedDate: new Date(), + anchorEl: null, + currentLocale: 'fr', + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + handleMenuOpen = (event) => { + event.stopPropagation(); + this.setState({ anchorEl: event.currentTarget }); + } + + handleMenuClose = () => { + this.setState({ anchorEl: null }); + }; + + selectLocale = (selectedLocale) => { + this.setState({ + currentLocale: selectedLocale, + anchorEl: null, + }); + } + + render() { + const { selectedDate } = this.state; + const locale = localeMap[this.state.currentLocale]; + + return ( + +
+ + more_vert + + ), + }} + /> +
+ + + { + Object.keys(localeMap).map(localeItem => ( + this.selectLocale(localeItem)} + > + {localeItem} + + )) + } + +
+ ); + } +} diff --git a/docs/src/Routes/Localization/DateFnsLocalization.jsx b/docs/src/Routes/Localization/DateFnsLocalization.jsx new file mode 100644 index 00000000000000..6a8059f51df938 --- /dev/null +++ b/docs/src/Routes/Localization/DateFnsLocalization.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; +import { Typography } from 'material-ui'; + +const DateFnsLocalization = () => ( +
+ Localization date-fns + + Date-fns localization simply performs by passing date-fns locale object + to the MuiPickerUtilsProvider + + + Note that pickers would be rerender automatically on locale change + + + +
+); + +export default DateFnsLocalization; + diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index da2120de5d1652..eaf2ee4ae74f16 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -5,6 +5,7 @@ import Demos from './Demos'; import Landing from './Landing/Landing'; import Installation from './GettingStarted/Installation'; import Usage from './GettingStarted/Usage'; +import DateFnsLocalization from './Localization/DateFnsLocalization'; export default () => ( @@ -12,6 +13,8 @@ export default () => ( + + ); diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index c9edf5676bbdcb..0785fff5c0e934 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -13,6 +13,15 @@ const NavigationMenu = ({ classes }) => ( Usage + Localization + + Using date-fns + + + + Using moment + + Components Date Picker From 9b206e860550984e69607ace60858d309ffab43f Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Mar 2018 17:03:06 +0200 Subject: [PATCH 0434/1801] Fix passing not parsed value to the moment-utils --- .../Localization/DateFnsLocalizationExample.jsx | 16 ++++++++-------- .../Routes/Localization/DateFnsLocalization.jsx | 10 ++++++---- lib/src/DatePicker/Calendar.jsx | 8 ++++++-- lib/src/utils/date-fns-utils.js | 2 +- lib/src/utils/moment-utils.js | 4 ++-- 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx b/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx index 4368c7f389fd3a..886882718d3cd0 100644 --- a/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx +++ b/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx @@ -1,13 +1,13 @@ import React, { PureComponent } from 'react'; -import frLocale from 'date-fns/locale/fr'; -import ruLocale from 'date-fns/locale/ru'; -import enLocale from 'date-fns/locale/en-US'; - import DatePicker from 'material-ui-pickers/DatePicker'; import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; import { Icon, IconButton, Menu, MenuItem } from 'material-ui'; +import frLocale from 'date-fns/locale/fr'; +import ruLocale from 'date-fns/locale/ru'; +import enLocale from 'date-fns/locale/en-US'; + const localeMap = { en: enLocale, fr: frLocale, @@ -54,8 +54,8 @@ export default class DateFnsLocalizationExample extends PureComponent { InputProps={{ endAdornment: ( more_vert @@ -66,10 +66,10 @@ export default class DateFnsLocalizationExample extends PureComponent {
{ Object.keys(localeMap).map(localeItem => ( diff --git a/docs/src/Routes/Localization/DateFnsLocalization.jsx b/docs/src/Routes/Localization/DateFnsLocalization.jsx index 6a8059f51df938..01da9c0ff4f9ef 100644 --- a/docs/src/Routes/Localization/DateFnsLocalization.jsx +++ b/docs/src/Routes/Localization/DateFnsLocalization.jsx @@ -4,18 +4,20 @@ import { Typography } from 'material-ui'; const DateFnsLocalization = () => (
- Localization date-fns + Localization date-fns Date-fns localization simply performs by passing date-fns locale object to the MuiPickerUtilsProvider - - Note that pickers would be rerender automatically on locale change - + Note that pickers would be rerender automatically on locale change + + )} />
); diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 8343cc4f3b9ae0..047a932a13ec38 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -76,7 +76,9 @@ export class Calendar extends Component { const { utils, disablePast, minDate } = this.props; const now = utils.date(); return !utils.isBefore( - utils.getStartOfMonth(disablePast && utils.isAfter(now, minDate) ? now : minDate), + utils.getStartOfMonth(disablePast && utils.isAfter(now, minDate) + ? now + : utils.date(minDate)), this.state.currentMonth, ); }; @@ -85,7 +87,9 @@ export class Calendar extends Component { const { utils, disableFuture, maxDate } = this.props; const now = utils.date(); return !utils.isAfter( - utils.getStartOfMonth(disableFuture && utils.isBefore(now, maxDate) ? now : maxDate), + utils.getStartOfMonth(disableFuture && utils.isBefore(now, maxDate) + ? now + : utils.date(maxDate)), this.state.currentMonth, ); }; diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 470ed1a96cbd89..4d8fca32302615 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -115,7 +115,7 @@ export default class DateFnsUtils { setYear = setYear; getWeekdays() { - return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => format(setDay(new Date(), dayOfWeek), 'dd')); + return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => format(setDay(new Date(), dayOfWeek), 'dd', { locale: this.locale })); } getWeekArray(date) { diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index 14b8fbb8f59193..44f12bf72e6023 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -96,11 +96,11 @@ export default class MomentUtils { } getStartOfMonth(date) { - return this.moment(date).clone().startOf('month'); + return date.clone().startOf('month'); } getNextMonth(date) { - return this.moment(date).clone().add(1, 'month'); + return date.clone().add(1, 'month'); } getPreviousMonth(date) { From b896eebf6e55e765cde2f43fc19349671115b0e6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Mar 2018 17:05:11 +0200 Subject: [PATCH 0435/1801] Fix not displaying "npm package" link with text-decoration --- docs/src/Routes/GettingStarted/Installation.jsx | 2 +- docs/src/Routes/Localization/DateFnsLocalization.jsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/Routes/GettingStarted/Installation.jsx b/docs/src/Routes/GettingStarted/Installation.jsx index cd01406f9ce062..59487b7fbaf316 100644 --- a/docs/src/Routes/GettingStarted/Installation.jsx +++ b/docs/src/Routes/GettingStarted/Installation.jsx @@ -13,7 +13,7 @@ npm i -s moment`; const Installation = () => (
Installation - Available as npm package + Available as npm package diff --git a/docs/src/Routes/Localization/DateFnsLocalization.jsx b/docs/src/Routes/Localization/DateFnsLocalization.jsx index 01da9c0ff4f9ef..b52cf599ecaf76 100644 --- a/docs/src/Routes/Localization/DateFnsLocalization.jsx +++ b/docs/src/Routes/Localization/DateFnsLocalization.jsx @@ -15,7 +15,7 @@ const DateFnsLocalization = () => ( sourceFile="Localization/DateFnsLocalizationExample.jsx" description={( - Note that pickers would be rerender automatically on locale change + Note that pickers would be rerender automatically on locale change )} /> From ea7436c6ae61754db21634a78676ffab7eed6034 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Mar 2018 17:37:14 +0200 Subject: [PATCH 0436/1801] Fix type inconvenience for utils interface --- lib/src/_shared/DateTextField.jsx | 1 + lib/src/typings/utils.d.ts | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index cf94d7cfdae242..d30038624e7adb 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -109,6 +109,7 @@ export class DateTextField extends PureComponent { if (utils.isNull(value)) { return ''; } + return invalidDateMessage; } diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 27daab0d97976b..3d29a70b667924 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -5,28 +5,36 @@ export interface Utils { addDays(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; isValid(value: MaterialUiPickersDate): boolean; isEqual(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isNull(value: MaterialUiPickersDate): boolean; + isSameDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean + isAfter(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; isAfterDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isAfterYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isBeforeDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; isBeforeYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isAfterYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isBefore(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + startOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; endOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; + format(value: MaterialUiPickersDate, formatString: string): string; formatNumber(number: number): string; + getHours(value: MaterialUiPickersDate): number; setHours(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; getMinutes(value: MaterialUiPickersDate): number; setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate getMonth(value: MaterialUiPickersDate): number; - isSameDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean + getYear(value: MaterialUiPickersDate): number; + setYear(value: MaterialUiPickersDate): MaterialUiPickersDate; + + getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getPreviousMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; - getYear(value: MaterialUiPickersDate): number; - setYear(value: MaterialUiPickersDate): MaterialUiPickersDate; - getWeekDays(): string[]; + + getWeekdays(): string[]; getWeekArray(): MaterialUiPickersDate[]; getYearRange(): MaterialUiPickersDate[]; From 74321415f35f4f05d82be9032453e2e29cfb1ffe Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 12 Mar 2018 18:02:00 +0200 Subject: [PATCH 0437/1801] Add ability to get the picker ref via pickerRef props --- README.md | 4 +++- docs/src/Examples/Demo/BasicDatePicker.jsx | 2 +- lib/src/_shared/WithUtils.jsx | 14 +++++++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 50cd0680edaabb..996579d144c204 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField InputAdornmentProps | object | {} | Props to pass to keyboard input adornment inputAdornmentPosition | enum 'start', 'end' | 'end' | Specifies position of keyboard adornment - +pickerRef | func | undefined | Ref to the picker component #### Timepicker Prop | Type | Default | Definition @@ -86,6 +86,7 @@ clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField InputAdornmentProps | object | {} | Props to pass to keyboard input adornment inputAdornmentPosition | enum 'start', 'end' | 'end' | Specifies position of keyboard adornment +pickerRef | func | undefined | Ref to the picker component #### DateTimepicker Prop | Type | Default | Definition @@ -125,6 +126,7 @@ clearable | boolean | false | If `true`, clear button will be displayed TextFieldComponent | func, string | undefined | Component that should replace the default Material-UI TextField InputAdornmentProps | object | {} | Props to pass to keyboard input adornment inputAdornmentPosition | enum 'start', 'end' | 'end' | Specifies position of keyboard adornment +pickerRef | func | undefined | Ref to the picker component + +render(, document.querySelector('#app')); +``` + +And the last step of installation would be an icon font. By default we relying on material-icons font, but its possible to override any icons with a help of corresponding props. + +```html + +``` + +## Documentation +Check out the [documentation website](https://material-ui-pickers.firebaseapp.com/) + +### Recently updated? +Changelog available [here](https://github.com/dmtrKovalenko/material-ui-pickers/releases) ### Contributing For information about how to contribute, see the [CONTRIBUTING](https://github.com/dmtrKovalenko/material-ui-pickers/blob/master/CONTRIBUTING.md) file. diff --git a/docs/package.json b/docs/package.json index 1f0ae610969f42..aba48ccd90405b 100644 --- a/docs/package.json +++ b/docs/package.json @@ -71,7 +71,7 @@ "build": "node scripts/build.js", "test": "node scripts/test.js --env=jsdom", "docs:generate": "react-docgen ../lib/src --out prop-types.json --resolver findAllComponentDefinitions --pretty", - "deploy": "npm run docs:generate && firebase deploy" + "deploy": "npm run build && npm run docs:generate && firebase deploy" }, "jest": { "collectCoverageFrom": [ From b3882f8b2a6c3bf8fdfa0c6aac5128083462ba10 Mon Sep 17 00:00:00 2001 From: Kmaschta Date: Tue, 20 Mar 2018 16:57:36 +0100 Subject: [PATCH 0458/1801] Fix import in MomentLocalizationExample --- docs/src/Examples/Localization/MomentLocalizationExample.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/Examples/Localization/MomentLocalizationExample.jsx b/docs/src/Examples/Localization/MomentLocalizationExample.jsx index d14f927ea388f0..85efe45c9a6ef7 100644 --- a/docs/src/Examples/Localization/MomentLocalizationExample.jsx +++ b/docs/src/Examples/Localization/MomentLocalizationExample.jsx @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import MomentUtils from 'material-ui-pickers/utils/date-fns-utils'; +import MomentUtils from 'material-ui-pickers/utils/moment-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; moment.locale('fr'); From 0e9b9e2e084669c3e5824bfc9e7dcb1959ac6133 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 21 Mar 2018 21:06:25 +0200 Subject: [PATCH 0459/1801] Fix missing proptypes, fix responsive docs & font-size issues --- docs/prop-types.json | 2 +- docs/src/Routes/Landing/Landing.jsx | 19 +++++++++++----- docs/src/_shared/Code.jsx | 6 ++--- docs/src/_shared/PropTypesTable.jsx | 34 +++++++++++++++++++---------- docs/src/layout/DrawerMenu.jsx | 11 ++++++++-- docs/src/layout/Layout.jsx | 1 + lib/src/DatePicker/Calendar.jsx | 1 - 7 files changed, 49 insertions(+), 25 deletions(-) diff --git a/docs/prop-types.json b/docs/prop-types.json index a45e3e6955eb6b..24714659f0aed9 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -216,7 +216,7 @@ "name": "object" }, "required": true, - "description": "@ignore" + "description": "" }, "shouldDisableDate": { "type": { diff --git a/docs/src/Routes/Landing/Landing.jsx b/docs/src/Routes/Landing/Landing.jsx index 4e1d88cffa6af2..7a68eba0cd6e27 100644 --- a/docs/src/Routes/Landing/Landing.jsx +++ b/docs/src/Routes/Landing/Landing.jsx @@ -22,7 +22,11 @@ class Demo extends Component { return (
- Material-UI logo + Material-UI logo Material-UI Pickers @@ -71,6 +75,12 @@ const styles = theme => ({ flex: { flex: 1, }, + materialUILogo: { + width: '100%', + height: '35vw', + maxHeight: 200, + margin: '20px 0', + }, menuButton: { marginLeft: -12, marginRight: 20, @@ -84,11 +94,8 @@ const styles = theme => ({ flexDirection: 'column', alignItems: 'center', color: theme.palette.common.white, - padding: '40px 20px', - '@media (max-width: 600px)': { - paddingTop: '100px', - minHeight: 'calc(100vh - 55px)', - }, + padding: '100px 20px', + minHeight: 'calc(75vh - 55px)', }, getStarted: { marginTop: '10px', diff --git a/docs/src/_shared/Code.jsx b/docs/src/_shared/Code.jsx index cb478bd5457f02..6724487b30f635 100644 --- a/docs/src/_shared/Code.jsx +++ b/docs/src/_shared/Code.jsx @@ -29,7 +29,7 @@ const styles = theme => ({ root: { margin: 0, fontFamily: theme.typography.fontFamily, - fontSize: 16, + fontSize: '0.9em', color: theme.palette.text.primary, backgroundColor: theme.palette.background.paper, padding: 10, @@ -50,11 +50,11 @@ const styles = theme => ({ fontFamily: 'Consolas, "Liberation Mono", Menlo, Courier, monospace', padding: '3px 6px', color: theme.palette.text.primary, - fontSize: 14, + fontSize: '0.9em', backgroundColor: theme.palette.background.paper, }, '& p code, & ul code, & pre code': { - fontSize: 14, + fontSize: '0.9em', lineHeight: 1.6, }, '& h1 code, & h2 code, & h3 code, & h4 code': { diff --git a/docs/src/_shared/PropTypesTable.jsx b/docs/src/_shared/PropTypesTable.jsx index ee8a481dd85bab..e9fe08f5863181 100644 --- a/docs/src/_shared/PropTypesTable.jsx +++ b/docs/src/_shared/PropTypesTable.jsx @@ -44,10 +44,8 @@ class PropTypesTable extends React.PureComponent { } getPropType = (prop) => { - let type = prop.type.name; - if (prop.type.name === 'custom') { - type = 'date'; + return 'date'; } if (prop.type.name === 'enum') { @@ -55,7 +53,7 @@ class PropTypesTable extends React.PureComponent { .map(item => item.value) .join(' | '); - type = `enum ${variants}`; + return `enum ${variants}`; } if (prop.type.name === 'union') { @@ -63,10 +61,10 @@ class PropTypesTable extends React.PureComponent { .map(item => item.name) .join(' | '); - type = `union ${variants}`; + return `union ${variants}`; } - return `${type} ${prop.required ? '*' : ''}`; + return prop.type.name; } render() { @@ -78,12 +76,12 @@ class PropTypesTable extends React.PureComponent { Component API Note: Any prop not recognized by the pickers - and their sub-components are passed down to  + and their sub-components are passed down to material-ui  - material-ui TextField + TextField component. - + @@ -99,10 +97,16 @@ class PropTypesTable extends React.PureComponent { .sort((a, b) => a.localeCompare(b)) .map(prop => ( - {prop} + { + propsDoc[prop].required + ? `${prop} *` + : prop + } + + {this.getPropType(propsDoc[prop])} {this.getDefaultValue(propsDoc[prop].defaultValue)} @@ -120,11 +124,17 @@ class PropTypesTable extends React.PureComponent { } } -const styles = { +const styles = theme => ({ + tableWrapper: { + overflowX: 'auto', + }, required: { color: '#8bc34a', }, -}; + type: { + color: theme.palette.primary.main, + }, +}); export default withStyles(styles)(PropTypesTable); diff --git a/docs/src/layout/DrawerMenu.jsx b/docs/src/layout/DrawerMenu.jsx index eb3bfd8c193e54..a05b3becc115ed 100644 --- a/docs/src/layout/DrawerMenu.jsx +++ b/docs/src/layout/DrawerMenu.jsx @@ -11,10 +11,17 @@ const DrawerMenu = ({ classes }) => ( - Material-UI pickers + Material-UI pickers - v{version} + + + v{version} + diff --git a/docs/src/layout/Layout.jsx b/docs/src/layout/Layout.jsx index de1e348a56e1ac..5c11209e324469 100644 --- a/docs/src/layout/Layout.jsx +++ b/docs/src/layout/Layout.jsx @@ -95,6 +95,7 @@ class Layout extends Component { anchor={theme.direction === 'rtl' ? 'right' : 'left'} open={this.state.drawerOpen} onClose={this.handleDrawerToggle} + onClick={this.handleDrawerToggle} classes={{ paper: classes.drawerPaper, }} diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 047a932a13ec38..0a6dc76bbf77d8 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -23,7 +23,6 @@ export class Calendar extends Component { leftArrowIcon: PropTypes.node, rightArrowIcon: PropTypes.node, renderDay: PropTypes.func, - /** @ignore */ theme: PropTypes.object.isRequired, shouldDisableDate: PropTypes.func, utils: PropTypes.object.isRequired, From 06ed816a1db2e51abf04eab99b0443f257d9fd04 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 21 Mar 2018 22:24:39 +0200 Subject: [PATCH 0460/1801] Add css overrides section to docs --- docs/src/Examples/Guides/CssTheme.jsx | 59 +++++++++++++++++++++++++ docs/src/Routes/Guides/CssOverrides.jsx | 34 ++++++++++++++ docs/src/Routes/Routes.jsx | 2 + docs/src/layout/NavigationMenu.jsx | 5 +++ 4 files changed, 100 insertions(+) create mode 100644 docs/src/Examples/Guides/CssTheme.jsx create mode 100644 docs/src/Routes/Guides/CssOverrides.jsx diff --git a/docs/src/Examples/Guides/CssTheme.jsx b/docs/src/Examples/Guides/CssTheme.jsx new file mode 100644 index 00000000000000..358247d5025d7a --- /dev/null +++ b/docs/src/Examples/Guides/CssTheme.jsx @@ -0,0 +1,59 @@ +import React, { PureComponent } from 'react'; +import { DatePicker } from 'material-ui-pickers'; +import { MuiThemeProvider, createMuiTheme } from 'material-ui'; + +import lightBlue from 'material-ui/colors/lightBlue'; + +const materialTheme = createMuiTheme({ + overrides: { + MuiPickersToolbar: { + toolbar: { + backgroundColor: lightBlue.A200, + }, + }, + MuiPickersCalendarHeader: { + switchHeader: { + // backgroundColor: lightBlue.A200, + // color: 'white', + }, + }, + MuiPickersDay: { + day: { + color: lightBlue.A700, + }, + selected: { + backgroundColor: lightBlue['500'], + }, + current: { + color: lightBlue['900'], + }, + }, + }, +}); + +export default class BasicDatePicker extends PureComponent { + state = { + selectedDate: new Date(), + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + render() { + const { selectedDate } = this.state; + + return ( + +
+ +
+
+ ); + } +} diff --git a/docs/src/Routes/Guides/CssOverrides.jsx b/docs/src/Routes/Guides/CssOverrides.jsx new file mode 100644 index 00000000000000..b1ddc853b864d3 --- /dev/null +++ b/docs/src/Routes/Guides/CssOverrides.jsx @@ -0,0 +1,34 @@ +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; +import { Typography } from 'material-ui'; + +const CssOverrides = () => ( +
+ Override stylesheet + + + Default pickers appearance build based on material-ui theme, + so pickers will take all colors/font size setting as other material-ui components. + + + + But we are not providing any for-component classes api to override a view of + particular component. Only one way to override existed stylesheet - + usage of global material-ui theme overrides. + + + + You can find the override component name and class in + the generated classnames for pickers components. + + } + /> +
+); + +export default CssOverrides; + diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index db2a2c62dd320a..97a62c8daead23 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -7,6 +7,7 @@ import Installation from './GettingStarted/Installation'; import Usage from './GettingStarted/Usage'; import DateFnsLocalization from './Localization/DateFnsLocalization'; import MomentLocalization from './Localization/MomentLocalization'; +import CssOverrides from './Guides/CssOverrides'; export default () => ( @@ -16,6 +17,7 @@ export default () => ( + ); diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index 0785fff5c0e934..3673c1736ac6ba 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -34,6 +34,11 @@ const NavigationMenu = ({ classes }) => ( Date & Time Picker + + Guides + + CSS overrides + ); From 63e603af29e8adf7d476d161229fb90e3887df44 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 22 Mar 2018 13:34:32 +0200 Subject: [PATCH 0461/1801] Add utils override section to docs --- .../CodeSnippets/AvailableOverrides.ts | 1 + .../Examples/Guides/OverrideFormatPicker.jsx | 43 +++++++++++++++++ .../Routes/Guides/FormatsCustomization.jsx | 46 +++++++++++++++++++ docs/src/Routes/Routes.jsx | 2 + docs/src/_shared/Code.jsx | 1 - docs/src/layout/NavigationMenu.jsx | 4 ++ docs/src/utils/prism.js | 1 + 7 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 docs/src/Examples/CodeSnippets/AvailableOverrides.ts create mode 100644 docs/src/Examples/Guides/OverrideFormatPicker.jsx create mode 100644 docs/src/Routes/Guides/FormatsCustomization.jsx diff --git a/docs/src/Examples/CodeSnippets/AvailableOverrides.ts b/docs/src/Examples/CodeSnippets/AvailableOverrides.ts new file mode 100644 index 00000000000000..599a82582d5de2 --- /dev/null +++ b/docs/src/Examples/CodeSnippets/AvailableOverrides.ts @@ -0,0 +1 @@ +export default inte \ No newline at end of file diff --git a/docs/src/Examples/Guides/OverrideFormatPicker.jsx b/docs/src/Examples/Guides/OverrideFormatPicker.jsx new file mode 100644 index 00000000000000..65d7e1aac22b95 --- /dev/null +++ b/docs/src/Examples/Guides/OverrideFormatPicker.jsx @@ -0,0 +1,43 @@ +import React, { PureComponent } from 'react'; +import DatePicker from 'material-ui-pickers/DatePicker'; +import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; +import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; + +import frLocale from 'date-fns/locale/fr'; +import format from 'date-fns/format'; + +class LocalizedUtils extends DateFnsUtils { + getDatePickerHeaderText(date) { + return format(date, 'D MMM YYYY', { locale: this.locale }); + } +} + +export default class DateFnsLocalizationExample extends PureComponent { + state = { + selectedDate: new Date(), + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + render() { + const { selectedDate } = this.state; + + return ( + +
+ +
+
+ ); + } +} diff --git a/docs/src/Routes/Guides/FormatsCustomization.jsx b/docs/src/Routes/Guides/FormatsCustomization.jsx new file mode 100644 index 00000000000000..81081e37159ecb --- /dev/null +++ b/docs/src/Routes/Guides/FormatsCustomization.jsx @@ -0,0 +1,46 @@ +import React from 'react'; +import Code from '_shared/Code'; +import SourcablePanel from '_shared/SourcablePanel'; +import { Typography } from 'material-ui'; + +// eslint-disable-next-line import/no-webpack-loader-syntax +import quickStartCode from '!raw-loader!material-ui-pickers/typings/utils.d.ts'; + +const FormatCustomization = () => ( +
+ Format customization + + + For localization purpose may be needed to change displaying values in the pickers modal, + because default formats can be not idiomatic for some localizations. There utils can help you. + + + + It`s possible to override any of displaying date values by inheritance + of utils passed to MuiPickersProvider. + + + + You can use ES6 class syntax or override values with a help of .prototype property + + } + /> + + + Utils interface + + + + MaterialUiPickersDate - date object passed from state (moment or native Date) + + + +
+); + +export default FormatCustomization; + diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index 97a62c8daead23..3b775307c57d05 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -8,6 +8,7 @@ import Usage from './GettingStarted/Usage'; import DateFnsLocalization from './Localization/DateFnsLocalization'; import MomentLocalization from './Localization/MomentLocalization'; import CssOverrides from './Guides/CssOverrides'; +import FormatCustomization from './Guides/FormatsCustomization'; export default () => ( @@ -18,6 +19,7 @@ export default () => ( + ); diff --git a/docs/src/_shared/Code.jsx b/docs/src/_shared/Code.jsx index 6724487b30f635..63c5f37a5f6cfb 100644 --- a/docs/src/_shared/Code.jsx +++ b/docs/src/_shared/Code.jsx @@ -165,7 +165,6 @@ const Code = (props) => { classes, language, text, withMargin, } = props; const hightlightedCode = prism.highlight(text, prism.languages[language]); - return (
diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx
index 3673c1736ac6ba..627181ccf5488e 100644
--- a/docs/src/layout/NavigationMenu.jsx
+++ b/docs/src/layout/NavigationMenu.jsx
@@ -39,6 +39,10 @@ const NavigationMenu = ({ classes }) => (
     
        CSS overrides 
     
+
+    
+       Global format customization 
+    
   
 );
 
diff --git a/docs/src/utils/prism.js b/docs/src/utils/prism.js
index 1b633ecf01ba56..e834c9088ea6f0 100644
--- a/docs/src/utils/prism.js
+++ b/docs/src/utils/prism.js
@@ -1,5 +1,6 @@
 import prism from 'prismjs';
 import 'prismjs/components/prism-jsx';
+import 'prismjs/components/prism-typescript';
 
 /* eslint-disable import/no-webpack-loader-syntax  */
 import lightTheme from '!raw-loader!prismjs/themes/prism.css';

From 2701c78e6eca55f8640df41d582537c2b36c4f08 Mon Sep 17 00:00:00 2001
From: Dmitriy Kovalenko 
Date: Thu, 22 Mar 2018 13:36:28 +0200
Subject: [PATCH 0462/1801] Fix typo in variable name

---
 docs/src/Routes/Guides/FormatsCustomization.jsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/src/Routes/Guides/FormatsCustomization.jsx b/docs/src/Routes/Guides/FormatsCustomization.jsx
index 81081e37159ecb..8071702ef50908 100644
--- a/docs/src/Routes/Guides/FormatsCustomization.jsx
+++ b/docs/src/Routes/Guides/FormatsCustomization.jsx
@@ -4,7 +4,7 @@ import SourcablePanel from '_shared/SourcablePanel';
 import { Typography } from 'material-ui';
 
 // eslint-disable-next-line import/no-webpack-loader-syntax
-import quickStartCode from '!raw-loader!material-ui-pickers/typings/utils.d.ts';
+import utilsInterfaceCode from '!raw-loader!material-ui-pickers/typings/utils.d.ts';
 
 const FormatCustomization = () => (
   
@@ -38,7 +38,7 @@ const FormatCustomization = () => ( MaterialUiPickersDate - date object passed from state (moment or native Date) - +
); From 279e42b0a273de248989d2005daa68afaf48ecce Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 25 Mar 2018 17:24:31 +0300 Subject: [PATCH 0463/1801] Add displaying of patrons list on the landing page --- docs/package-lock.json | 22 ++++++ docs/package.json | 1 + docs/src/Routes/Landing/Landing.jsx | 8 +-- .../Landing/components/PatreonSponsors.jsx | 68 +++++++++++++++++++ docs/src/services/PatreonService.js | 30 ++++++++ 5 files changed, 124 insertions(+), 5 deletions(-) create mode 100644 docs/src/Routes/Landing/components/PatreonSponsors.jsx create mode 100644 docs/src/services/PatreonService.js diff --git a/docs/package-lock.json b/docs/package-lock.json index 17d340d23aac7c..311f3234cb3cd5 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -3716,6 +3716,11 @@ "mime-types": "2.1.17" } }, + "form-urlencoded": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-2.0.4.tgz", + "integrity": "sha512-HLljBBDRcvnewLYmpL7lTUlQGUXG6FlY3+bJtvCdEB/g2Lz6dug4HewSGD+4x3v5PHLZFwRl53l5L/iehznv0g==" + }, "forwarded": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", @@ -6269,6 +6274,11 @@ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, + "jsonapi-datastore": { + "version": "0.4.0-beta", + "resolved": "https://registry.npmjs.org/jsonapi-datastore/-/jsonapi-datastore-0.4.0-beta.tgz", + "integrity": "sha1-tJn86STUXivDxheGgVIAY+I2HxA=" + }, "jsonfile": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", @@ -7461,6 +7471,18 @@ "pinkie-promise": "2.0.1" } }, + "patreon": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/patreon/-/patreon-0.4.0.tgz", + "integrity": "sha512-ne5n35WOJ7HvJi54tYyQK3hDipXRqJokbGVyGNPbEJN3E4igLQezKJwgXUn+nxmRffiC5Wu9fiTa0w496cyj5Q==", + "requires": { + "form-urlencoded": "2.0.4", + "is-plain-object": "2.0.4", + "isomorphic-fetch": "2.2.1", + "jsonapi-datastore": "0.4.0-beta", + "verror": "1.10.0" + } + }, "pbkdf2": { "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", diff --git a/docs/package.json b/docs/package.json index aba48ccd90405b..7e052d7bcb4da6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -34,6 +34,7 @@ "moment": "^2.20.1", "moment-jalaali": "^0.7.2", "object-assign": "4.1.1", + "patreon": "^0.4.0", "postcss-flexbugs-fixes": "3.2.0", "postcss-loader": "2.0.8", "prismjs": "^1.11.0", diff --git a/docs/src/Routes/Landing/Landing.jsx b/docs/src/Routes/Landing/Landing.jsx index 7a68eba0cd6e27..b6f37d9a9cdca3 100644 --- a/docs/src/Routes/Landing/Landing.jsx +++ b/docs/src/Routes/Landing/Landing.jsx @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; import { Toolbar, Typography, withStyles, Button } from 'material-ui'; +import PatreonSponsors from './components/PatreonSponsors'; class Demo extends Component { static propTypes = { @@ -59,12 +60,9 @@ class Demo extends Component { variant="headline" gutterBottom > - Our awesome sponsors via patreon - - - - There is no sponsors yet 😢 + Our awesome sponsors via patreon ❤️ +
); diff --git a/docs/src/Routes/Landing/components/PatreonSponsors.jsx b/docs/src/Routes/Landing/components/PatreonSponsors.jsx new file mode 100644 index 00000000000000..48f2f6e051aa1b --- /dev/null +++ b/docs/src/Routes/Landing/components/PatreonSponsors.jsx @@ -0,0 +1,68 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import { Link } from 'react-router-dom'; + +import List, { ListItem, ListItemText } from 'material-ui/List'; +import { withStyles, CircularProgress, Avatar } from 'material-ui'; + +import PatreonService from '../../../services/PatreonService'; + +class PatreonSponsors extends Component { + static propTypes = { + classes: PropTypes.object.isRequired, + } + + state = { + patrons: null, + } + + componentDidMount = () => { + PatreonService.getPatrons() + .then(patrons => this.setState({ patrons })); + } + + render() { + const { classes } = this.props; + + if (!this.state.patrons) { + return ; + } + + if (this.state.patrons.length === 0) { + return 'There is no sponsors yet 😢'; + } + + return ( + + { + this.state.patrons.map(patron => ( + + + + + + + )) + } + + ); + } +} + +const styles = { + spinner: { + margin: '0 auto', + }, + patronList: { + maxWidth: 400, + margin: '0 auto', + }, +}; + +export default withStyles(styles)(PatreonSponsors); + diff --git a/docs/src/services/PatreonService.js b/docs/src/services/PatreonService.js new file mode 100644 index 00000000000000..19083bc08b8c2b --- /dev/null +++ b/docs/src/services/PatreonService.js @@ -0,0 +1,30 @@ +import { patreon as patreonAPI, oauth as patreonOAuth } from 'patreon'; + +const CLIENT_ID = 'o2LpJEZuhrc9z2ZSm6kXGVAWm4AFciXzSK4zb0bEszGxSVPImNTJaW7eEZsWqu5I'; +const CLIENT_SECRET = 'SsRZ12GMWV75vEEXalhSKRkBRV0PxvsaNPA78D0qnESvkeTrWuJ'; + +const TOKEN = 'ojwtWwI5Kx_WQZPMEKBwbG4afhBhKJTO5tZfxWpdk9Y'; + +class PatreonService { + constructor() { + this.patreonOAuthClient = patreonOAuth(CLIENT_ID, CLIENT_SECRET); + this.patreonAPIClient = patreonAPI(TOKEN); + } + + getPatrons() { + return this.patreonAPIClient('/campaigns/1559688/pledges') + .then(({ rawJson }) => rawJson.data + // sort by pledge amount + .sort((a, b) => a.attributes.amount_cents - b.attributes.amount_cents) + .reverse() + .map(({ relationships }) => { + const patronId = relationships.patron.data.id; + const user = rawJson.included.find(entity => entity.id === patronId); + + return user.attributes; + })); + } +} + +export default new PatreonService(); + From a12d18e9604cd6c547f4e64417169fa6e578e6e9 Mon Sep 17 00:00:00 2001 From: Tatiana Tkachenko Date: Sun, 25 Mar 2018 20:13:08 +0300 Subject: [PATCH 0464/1801] Added pin to clock center --- lib/src/TimePicker/Clock.jsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 94513955715cc5..5dd8f4cd937d18 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -102,6 +102,8 @@ export class Clock extends Component { onMouseMove={this.handleMove} /> +
+ ({ pointerEvents: 'auto', outline: 'none', }, + pin: { + width: 6, + height: 6, + borderRadius: '50%', + backgroundColor: theme.palette.primary.main, + position: 'absolute', + top: '50%', + left: '50%', + transform: 'translate(-50%, -50%)', + }, }); export default withStyles(styles, { name: 'MuiPickersClock' })(Clock); From c55f894d68e24d5563015f54f7bb8406fc2480e9 Mon Sep 17 00:00:00 2001 From: Tatiana Tkachenko Date: Sun, 25 Mar 2018 20:47:00 +0300 Subject: [PATCH 0465/1801] Fixed clock styles --- lib/src/TimePicker/Clock.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 5dd8f4cd937d18..dfe894091c7322 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -132,6 +132,7 @@ const styles = theme => ({ width: 260, position: 'relative', pointerEvents: 'none', + zIndex: 1, }, squareMask: { width: '100%', From 6abce340b73a1555075803f340def62d74a79b8a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Mar 2018 12:41:12 +0300 Subject: [PATCH 0466/1801] Fix parsing of moment dates --- docs/src/App.js | 2 +- docs/src/Examples/Demo/KeyboardDatePicker.jsx | 8 ++++---- lib/src/utils/moment-utils.js | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index 34fc5a2179fe09..d607d266374339 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -16,7 +16,7 @@ import { setPrismTheme } from './utils/prism'; import Layout from './layout/Layout'; import Routes from './Routes/Routes'; -// /* eslint-disable import/first */ +/* eslint-disable import/first */ // import moment from 'moment'; // import 'moment/locale/fr'; diff --git a/docs/src/Examples/Demo/KeyboardDatePicker.jsx b/docs/src/Examples/Demo/KeyboardDatePicker.jsx index 9665bc4f748522..2c95933b475c8a 100644 --- a/docs/src/Examples/Demo/KeyboardDatePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardDatePicker.jsx @@ -28,11 +28,11 @@ export default class BasicUsage extends PureComponent {
Date: Mon, 26 Mar 2018 12:46:51 +0300 Subject: [PATCH 0467/1801] Make value type nullable for typescript --- lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx | 2 +- lib/src/constants/prop-types.d.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx index 40a489e2bea6d4..7ea96a60c1d5ec 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx @@ -25,7 +25,7 @@ export default class BasicUsage extends Component<{}, {selectedDate: Date}> { return ( keyboard_arrow_left } rightArrowIcon={ keyboard_arrow_right } diff --git a/lib/src/constants/prop-types.d.ts b/lib/src/constants/prop-types.d.ts index f39f4b3b91d907..6626e35e60b040 100644 --- a/lib/src/constants/prop-types.d.ts +++ b/lib/src/constants/prop-types.d.ts @@ -1 +1 @@ -export type DateType = object | string | number | Date; +export type DateType = object | string | number | Date | null; From 3ad086953ddc7de2710da07e10a8288b54e65e18 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Mar 2018 13:01:33 +0300 Subject: [PATCH 0468/1801] Fix locale typing --- lib/src/utils/MuiPickersUtilsProvider.d.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/utils/MuiPickersUtilsProvider.d.ts b/lib/src/utils/MuiPickersUtilsProvider.d.ts index f8a4ba187bc82f..21b21efc351d9e 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.d.ts +++ b/lib/src/utils/MuiPickersUtilsProvider.d.ts @@ -5,7 +5,8 @@ import { Utils } from '../typings/utils'; export interface MuiPickersUtilsProviderProps { utils: Utils; children: ReactNode; - locale?: (any | string); + locale?: any; + moment?: any; } declare const MuiPickersUtilsProvider: ComponentClass; From 241db129c695c5325724175e340698cd72d62e2c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Mar 2018 13:55:50 +0300 Subject: [PATCH 0469/1801] Make patrons generated by script to avoid cors issues --- docs/package.json | 3 +- docs/patrons.json | 1 + docs/scripts/generate-backers.js | 31 +++++++++++++++++++ .../Landing/components/PatreonSponsors.jsx | 21 +++---------- docs/src/services/PatreonService.js | 30 ------------------ 5 files changed, 38 insertions(+), 48 deletions(-) create mode 100644 docs/patrons.json create mode 100644 docs/scripts/generate-backers.js delete mode 100644 docs/src/services/PatreonService.js diff --git a/docs/package.json b/docs/package.json index 7e052d7bcb4da6..579f80fc3a7209 100644 --- a/docs/package.json +++ b/docs/package.json @@ -72,7 +72,8 @@ "build": "node scripts/build.js", "test": "node scripts/test.js --env=jsdom", "docs:generate": "react-docgen ../lib/src --out prop-types.json --resolver findAllComponentDefinitions --pretty", - "deploy": "npm run build && npm run docs:generate && firebase deploy" + "deploy": "npm run build && npm run docs:generate && firebase deploy", + "backers:generate": "node scripts/generate-backers" }, "jest": { "collectCoverageFrom": [ diff --git a/docs/patrons.json b/docs/patrons.json new file mode 100644 index 00000000000000..eca48319bbee09 --- /dev/null +++ b/docs/patrons.json @@ -0,0 +1 @@ +[{"about":"","created":"2015-08-16T23:30:46+00:00","email":"olivier.tassinari@gmail.com","facebook":null,"first_name":"Olivier","full_name":"Olivier","gender":0,"image_url":"https://c10.patreonusercontent.com/3/eyJ2IjoiMSIsInciOjIwMH0%3D/patreon-media/user/1003328/2a4cb816e19644b09a8fdb6ebecc9c50?token-time=2145916800&token-hash=kEFWPSnKOP7yKN2oOdP1pB6gHpeP5JPVyf843K2SieM%3D","is_email_verified":false,"last_name":"","social_connections":{"deviantart":null,"discord":null,"facebook":null,"spotify":null,"twitch":null,"twitter":null,"youtube":null},"thumb_url":"https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInYiOiIxIiwidyI6MTAwfQ%3D%3D/patreon-media/user/1003328/2a4cb816e19644b09a8fdb6ebecc9c50?token-time=2145916800&token-hash=qtvZEcHHJmCc4utry8yGK2RnmWF27x-ucp76z15dzuQ%3D","twitch":null,"twitter":"olivtassinari","url":"https://www.patreon.com/oliviertassinari","vanity":"oliviertassinari","youtube":null},{"about":null,"created":"2017-09-11T22:06:00+00:00","email":"social@conor.me","facebook":null,"first_name":"Conor","full_name":"Conor Dunk","gender":0,"image_url":"https://c10.patreonusercontent.com/3/eyJ2IjoiMSIsInciOjIwMH0%3D/patreon-media/user/7660415/9907af199aff453ebe6381bbc8683359?token-time=2145916800&token-hash=dETTWwg2vPxIlel9GHNK1RTQztejcd9gigf37VPRZRo%3D","is_email_verified":false,"last_name":"Dunk","social_connections":{"deviantart":null,"discord":null,"facebook":null,"spotify":null,"twitch":null,"twitter":null,"youtube":null},"thumb_url":"https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInYiOiIxIiwidyI6MTAwfQ%3D%3D/patreon-media/user/7660415/9907af199aff453ebe6381bbc8683359?token-time=2145916800&token-hash=nMoLAX1KnfOu9-VODAGoV21lP8pry-vdpwiPtNhiEzY%3D","twitch":null,"twitter":null,"url":"https://www.patreon.com/user?u=7660415","vanity":null,"youtube":null}] \ No newline at end of file diff --git a/docs/scripts/generate-backers.js b/docs/scripts/generate-backers.js new file mode 100644 index 00000000000000..b0debd0db780ac --- /dev/null +++ b/docs/scripts/generate-backers.js @@ -0,0 +1,31 @@ +process.env.BABEL_ENV = 'production'; +process.env.NODE_ENV = 'production'; + +// Makes the script crash on unhandled rejections instead of silently +// ignoring them. In the future, promise rejections that are not handled will +// terminate the Node.js process with a non-zero exit code. +process.on('unhandledRejection', (err) => { + throw err; +}); + +// Ensure environment variables are read. +require('../config/env'); + +const fse = require('fs-extra'); +const path = require('path'); +const patreonApi = require('patreon').patreon; + +const patreonAPIClient = patreonApi(process.env.CREATOR_TOKEN); + +patreonAPIClient('/campaigns/1559688/pledges') + .then(({ rawJson }) => rawJson.data + // sort by pledge amount + .sort((a, b) => a.attributes.amount_cents - b.attributes.amount_cents) + .reverse() + .map(({ relationships }) => { + const patronId = relationships.patron.data.id; + const user = rawJson.included.find(entity => entity.id === patronId); + + return user.attributes; + })) + .then(users => fse.writeFile(path.resolve(__dirname, '..', 'patrons.json'), JSON.stringify(users))); diff --git a/docs/src/Routes/Landing/components/PatreonSponsors.jsx b/docs/src/Routes/Landing/components/PatreonSponsors.jsx index 48f2f6e051aa1b..162763c47bb789 100644 --- a/docs/src/Routes/Landing/components/PatreonSponsors.jsx +++ b/docs/src/Routes/Landing/components/PatreonSponsors.jsx @@ -3,39 +3,26 @@ import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; import List, { ListItem, ListItemText } from 'material-ui/List'; -import { withStyles, CircularProgress, Avatar } from 'material-ui'; +import { withStyles, Avatar } from 'material-ui'; -import PatreonService from '../../../services/PatreonService'; +import patrons from '../../../../patrons.json'; class PatreonSponsors extends Component { static propTypes = { classes: PropTypes.object.isRequired, } - state = { - patrons: null, - } - - componentDidMount = () => { - PatreonService.getPatrons() - .then(patrons => this.setState({ patrons })); - } - render() { const { classes } = this.props; - if (!this.state.patrons) { - return ; - } - - if (this.state.patrons.length === 0) { + if (patrons.length === 0) { return 'There is no sponsors yet 😢'; } return ( { - this.state.patrons.map(patron => ( + patrons.map(patron => ( rawJson.data - // sort by pledge amount - .sort((a, b) => a.attributes.amount_cents - b.attributes.amount_cents) - .reverse() - .map(({ relationships }) => { - const patronId = relationships.patron.data.id; - const user = rawJson.included.find(entity => entity.id === patronId); - - return user.attributes; - })); - } -} - -export default new PatreonService(); - From f6c7ce982e7d71b967cde8abd2c59da41be25865 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Mar 2018 13:56:51 +0300 Subject: [PATCH 0470/1801] Add backers generate script to deploy --- docs/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/package.json b/docs/package.json index 579f80fc3a7209..3a8d7d91ffaeb3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -72,8 +72,8 @@ "build": "node scripts/build.js", "test": "node scripts/test.js --env=jsdom", "docs:generate": "react-docgen ../lib/src --out prop-types.json --resolver findAllComponentDefinitions --pretty", - "deploy": "npm run build && npm run docs:generate && firebase deploy", - "backers:generate": "node scripts/generate-backers" + "backers:generate": "node scripts/generate-backers", + "deploy": "npm run build && npm run docs:generate && npm run backers:generate && firebase deploy" }, "jest": { "collectCoverageFrom": [ From dd0046f8ae184eec76b23bdde8f4d2f17412d57d Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Mar 2018 13:28:43 +0300 Subject: [PATCH 0471/1801] Update version and url in package.json --- lib/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/package.json b/lib/package.json index b1a727515916d3..d442993a23480c 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.3", + "version": "1.0.0-rc.4g", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", @@ -22,7 +22,7 @@ "bugs": { "url": "https://github.com/dmtrKovalenko/material-ui-pickers/issues" }, - "homepage": "https://material-ui-pic.firebaseapp.com/", + "homepage": "https://material-ui-pickers.firebaseapp.com/", "repository": { "type": "git", "url": "https://github.com/dmtrKovalenko/material-ui-pickers" From c9caf52eb81cd2ef9210ceab769e75c7385e82f3 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Mon, 26 Mar 2018 15:04:16 +0300 Subject: [PATCH 0472/1801] Fix version --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index d442993a23480c..17887130dfdf2c 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.4g", + "version": "1.0.0-rc.4", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From d3c357f38f62a419043b254dc687f4d9c44240a9 Mon Sep 17 00:00:00 2001 From: Ido S Date: Mon, 26 Mar 2018 22:31:55 +0300 Subject: [PATCH 0473/1801] Add missing import in Moment locale example according to https://momentjs.com/docs/#/i18n/loading-into-browser/ locales have to be imported before being used. --- docs/src/Examples/Localization/MomentLocalizationExample.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/Examples/Localization/MomentLocalizationExample.jsx b/docs/src/Examples/Localization/MomentLocalizationExample.jsx index 85efe45c9a6ef7..114ecdbc3dd2dc 100644 --- a/docs/src/Examples/Localization/MomentLocalizationExample.jsx +++ b/docs/src/Examples/Localization/MomentLocalizationExample.jsx @@ -1,5 +1,6 @@ import React from 'react'; import moment from 'moment'; +import 'moment/locale/fr'; // this is the important bit, you have to import the locale your'e trying to use. import MomentUtils from 'material-ui-pickers/utils/moment-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; From 2bb8832b906de2ef9a913e237a88064ee36ce907 Mon Sep 17 00:00:00 2001 From: Ali Taheri Moghaddar Date: Tue, 27 Mar 2018 12:44:34 +0430 Subject: [PATCH 0474/1801] Add Persian Calendar System Section --- .gitattributes | 2 + docs/package-lock.json | 23 +++++---- docs/package.json | 2 +- .../Examples/{ => Guides}/PersianPickers.jsx | 25 ++++------ docs/src/Routes/Guides/PersianCalendar.jsx | 47 +++++++++++++++++++ docs/src/Routes/Routes.jsx | 2 + docs/src/layout/NavigationMenu.jsx | 4 ++ lib/src/typings/utils.d.ts | 2 +- 8 files changed, 80 insertions(+), 27 deletions(-) create mode 100644 .gitattributes rename docs/src/Examples/{ => Guides}/PersianPickers.jsx (75%) create mode 100644 docs/src/Routes/Guides/PersianCalendar.jsx diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000000000..60bf5099ffeb30 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +*.js text eol=lf +*.jsx text eol=lf diff --git a/docs/package-lock.json b/docs/package-lock.json index 311f3234cb3cd5..1819501c8e646c 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -6760,13 +6760,20 @@ } }, "material-ui-pickers-jalali-utils": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.2.0.tgz", - "integrity": "sha512-nWyi6AnvQx7Ev7gc2aICbF1btYDb5265xJrJj9E58rcl7XxaYPkC6MhRfFBpfrUIqXbM4hnxFbJyEc1ycKujjA==", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.4.0.tgz", + "integrity": "sha512-oo4LuFq9KYn3YwQWOL5Q06UxCaEweRraC/YUEsRt0veiA/m/IO7waddiM5cmyZFpuh4CZmX7jG879wgKnzO/KA==", "requires": { - "moment": "2.20.1", + "moment": "2.21.0", "moment-jalaali": "0.7.2", - "moment-range": "3.0.3" + "moment-range": "3.1.1" + }, + "dependencies": { + "moment": { + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" + } } }, "math-expression-evaluator": { @@ -6967,9 +6974,9 @@ } }, "moment-range": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.0.3.tgz", - "integrity": "sha1-96FWfHMijzF0acszFI6plvecy5o=", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.1.1.tgz", + "integrity": "sha1-XFLPn6sp253ZvNhtN+UrBKenJxo=", "requires": { "es6-symbol": "3.1.1" } diff --git a/docs/package.json b/docs/package.json index 3a8d7d91ffaeb3..5abe78ef1d2d4e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -30,7 +30,7 @@ "jss-preset-default": "^4.3.0", "jss-rtl": "^0.2.1", "material-ui": "^1.0.0-beta.33", - "material-ui-pickers-jalali-utils": "^0.2.0", + "material-ui-pickers-jalali-utils": "^0.4.0", "moment": "^2.20.1", "moment-jalaali": "^0.7.2", "object-assign": "4.1.1", diff --git a/docs/src/Examples/PersianPickers.jsx b/docs/src/Examples/Guides/PersianPickers.jsx similarity index 75% rename from docs/src/Examples/PersianPickers.jsx rename to docs/src/Examples/Guides/PersianPickers.jsx index 49659cfc14c831..d2292564981647 100644 --- a/docs/src/Examples/PersianPickers.jsx +++ b/docs/src/Examples/Guides/PersianPickers.jsx @@ -1,19 +1,13 @@ -import React, { Component, Fragment } from 'react'; +import React, { Component } from 'react'; import moment from 'moment'; import jMoment from 'moment-jalaali'; import { Typography } from 'material-ui'; import { TimePicker, DateTimePicker, DatePicker } from 'material-ui-pickers'; -import jalaliUtils from 'material-ui-pickers-jalali-utils'; +import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; +import JalaliUtils from 'material-ui-pickers-jalali-utils'; jMoment.loadPersian({ dialect: 'persian-modern', usePersianDigits: true }); -function format(date, formatting) { - if (date === null) { - return ''; - } - return jMoment(date).locale('fa').format(formatting); -} - export default class BasicUsage extends Component { state = { selectedDate: moment(), @@ -27,7 +21,7 @@ export default class BasicUsage extends Component { const { selectedDate } = this.state; return ( - +
Date picker @@ -38,11 +32,10 @@ export default class BasicUsage extends Component { okLabel="تأیید" cancelLabel="لغو" clearLabel="پاک کردن" - labelFunc={date => format(date, 'jYYYY/jMM/jDD')} + labelFunc={date => (date ? date.format('jYYYY/jMM/jDD') : '')} value={selectedDate} onChange={this.handleDateChange} animateYearScrolling={false} - utils={jalaliUtils} />
@@ -56,10 +49,9 @@ export default class BasicUsage extends Component { okLabel="تأیید" cancelLabel="لغو" clearLabel="پاک کردن" - labelFunc={date => format(date, 'hh:mm A')} + labelFunc={date => (date ? date.format('hh:mm A') : '')} value={selectedDate} onChange={this.handleDateChange} - utils={jalaliUtils} />
@@ -71,13 +63,12 @@ export default class BasicUsage extends Component { format(date, 'jYYYY/jMM/jDD hh:mm A')} + labelFunc={date => (date ? date.format('jYYYY/jMM/jDD hh:mm A') : '')} value={selectedDate} onChange={this.handleDateChange} - utils={jalaliUtils} />
- + ); } } diff --git a/docs/src/Routes/Guides/PersianCalendar.jsx b/docs/src/Routes/Guides/PersianCalendar.jsx new file mode 100644 index 00000000000000..62ff39ec98fd56 --- /dev/null +++ b/docs/src/Routes/Guides/PersianCalendar.jsx @@ -0,0 +1,47 @@ +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; +import { Typography } from 'material-ui'; + +const CssOverrides = () => ( +
+ Setting Up Persian Calendar System + + +

+ Make sure you have read the + right to left section + of the material-ui documentation page before proceeding. +

+
+ + + You will also need to install the material-ui-pickers-jalali-utils + package from npm. + + + + npm install material-ui-pickers-jalali-utils + + + + + You can use the examples below. It is recommended that you change the font. + + + + Also, to make sure the example is fully functional, + don't forget to change the direction of the page to + Right to Left from the top right corner. + +
+ } + /> + +); + +export default CssOverrides; + diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index 3b775307c57d05..f6c003d662d396 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -9,6 +9,7 @@ import DateFnsLocalization from './Localization/DateFnsLocalization'; import MomentLocalization from './Localization/MomentLocalization'; import CssOverrides from './Guides/CssOverrides'; import FormatCustomization from './Guides/FormatsCustomization'; +import PersianCalendar from './Guides/PersianCalendar'; export default () => ( @@ -20,6 +21,7 @@ export default () => ( + ); diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index 627181ccf5488e..4f8f7d6e486ca2 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -43,6 +43,10 @@ const NavigationMenu = ({ classes }) => ( Global format customization + + + Persian Calendar System + ); diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 3d29a70b667924..64ed3ec6f18666 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -39,7 +39,7 @@ export interface Utils { getYearRange(): MaterialUiPickersDate[]; // displaying methods - getMeridiemText(ampm: boolean): string; + getMeridiemText(ampm: 'am' | 'pm'): string; getCalendarHeaderText(date: MaterialUiPickersDate): string; getDatePickerHeaderText(date: MaterialUiPickersDate): string; getDateTimePickerHeaderText(date: MaterialUiPickersDate): string; From fd94331de7db56b4c4fc2c4f50b52d1db5dc8a9a Mon Sep 17 00:00:00 2001 From: Ali Taheri Moghaddar Date: Tue, 27 Mar 2018 14:41:39 +0430 Subject: [PATCH 0475/1801] Review fixes --- .../{Guides => Localization}/PersianPickers.jsx | 0 .../{Guides => Localization}/PersianCalendar.jsx | 11 +++++------ docs/src/Routes/Routes.jsx | 4 ++-- docs/src/layout/NavigationMenu.jsx | 8 ++++---- 4 files changed, 11 insertions(+), 12 deletions(-) rename docs/src/Examples/{Guides => Localization}/PersianPickers.jsx (100%) rename docs/src/Routes/{Guides => Localization}/PersianCalendar.jsx (84%) diff --git a/docs/src/Examples/Guides/PersianPickers.jsx b/docs/src/Examples/Localization/PersianPickers.jsx similarity index 100% rename from docs/src/Examples/Guides/PersianPickers.jsx rename to docs/src/Examples/Localization/PersianPickers.jsx diff --git a/docs/src/Routes/Guides/PersianCalendar.jsx b/docs/src/Routes/Localization/PersianCalendar.jsx similarity index 84% rename from docs/src/Routes/Guides/PersianCalendar.jsx rename to docs/src/Routes/Localization/PersianCalendar.jsx index 62ff39ec98fd56..d97b4d91a2292d 100644 --- a/docs/src/Routes/Guides/PersianCalendar.jsx +++ b/docs/src/Routes/Localization/PersianCalendar.jsx @@ -1,8 +1,9 @@ import React from 'react'; +import Code from '_shared/Code'; import SourcablePanel from '_shared/SourcablePanel'; import { Typography } from 'material-ui'; -const CssOverrides = () => ( +const PersianCalendar = () => (
Setting Up Persian Calendar System @@ -19,13 +20,11 @@ const CssOverrides = () => ( package from npm. - - npm install material-ui-pickers-jalali-utils - + @@ -43,5 +42,5 @@ const CssOverrides = () => (
); -export default CssOverrides; +export default PersianCalendar; diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index f6c003d662d396..38ee19b0d53850 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -7,9 +7,9 @@ import Installation from './GettingStarted/Installation'; import Usage from './GettingStarted/Usage'; import DateFnsLocalization from './Localization/DateFnsLocalization'; import MomentLocalization from './Localization/MomentLocalization'; +import PersianCalendar from './Localization/PersianCalendar'; import CssOverrides from './Guides/CssOverrides'; import FormatCustomization from './Guides/FormatsCustomization'; -import PersianCalendar from './Guides/PersianCalendar'; export default () => ( @@ -19,9 +19,9 @@ export default () => ( + - ); diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index 4f8f7d6e486ca2..281611883615c1 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -22,6 +22,10 @@ const NavigationMenu = ({ classes }) => ( Using moment + + Persian Calendar System + + Components Date Picker @@ -43,10 +47,6 @@ const NavigationMenu = ({ classes }) => ( Global format customization - - - Persian Calendar System - ); From 7965023ca43e4778ba8971f6034a1623898293d0 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 27 Mar 2018 16:54:12 +0300 Subject: [PATCH 0476/1801] Add fading animation on moving between hours & minutes clocks --- docs/package-lock.json | 189 ++++++++++-------- docs/package.json | 16 +- docs/prop-types.json | 36 ++++ .../Examples/Demo/CustomDateTimePicker.jsx | 1 + lib/src/DateTimePicker/DateTimePicker.jsx | 36 ++-- .../DateTimePicker/DateTimePickerWrapper.jsx | 8 +- lib/src/TimePicker/TimePicker.jsx | 32 ++- lib/src/TimePicker/TimePickerWrapper.jsx | 6 +- 8 files changed, 213 insertions(+), 111 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 1819501c8e646c..9daf120a795a0b 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -5,21 +5,21 @@ "requires": true, "dependencies": { "@types/jss": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.0.tgz", - "integrity": "sha512-n7MUYCO/Wt4d6Yj0ZewXSSkqBcrdLFgpQ4mUBRXBWDmLfXtgT3tJ26GVPr8HiyRLLze6iQfaBJTlvjRTjgZpRg==" + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.2.tgz", + "integrity": "sha512-+jXqG1rCRc9bmvrzQXKsMu/RfNQngD+USU6sBE2kX8An7fE5TNSgB7V1+hiZRvENii9nlf1W1gb9fnjM7Sa8NA==" }, "@types/react": { - "version": "16.0.36", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.36.tgz", - "integrity": "sha512-q33EVfy4i+fwhM31PL6/c6Job/DyjOiExHuR163bJK3rEMRf2ENkBrN4thQH5cwA+TiiN1vWDZU6D5H1AvQTlA==" + "version": "16.0.41", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.41.tgz", + "integrity": "sha512-hbAKPclom+NzM/iqB9JmP7UfWl0j/xsOIzWCB8iIJ7Dq0BlY80IeulgHwod2EOYILD5hc/DJAJvMFKfczdWBsQ==" }, "@types/react-transition-group": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.6.tgz", - "integrity": "sha512-mVhRv+d0MIoLWl6hEFA7Nnd/obW2RQpZViTAKhM37mltuTDWCdoj8xAZv94ntB8wgAc6DDiDCXxFXPgClGnsfQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.7.tgz", + "integrity": "sha512-aTbd37E2XJ5Zi/lRrXo74RMhZikS/r5a06EStXEdapy4pqzvPrdY9BpWGNSpnyp8oNaggL0duljNdC8T0dRIUA==", "requires": { - "@types/react": "16.0.36" + "@types/react": "16.0.41" } }, "abab": { @@ -1460,6 +1460,12 @@ "isarray": "1.0.0" } }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, "buffer-indexof": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", @@ -1728,9 +1734,9 @@ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "clipboard": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-1.7.1.tgz", - "integrity": "sha1-Ng1taUbpmnof7zleQrqStem1oWs=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.0.tgz", + "integrity": "sha512-gXzHBlzEVqCk2b8Wpkil89S0WSMAX7eZho2zANX+EEEa9LMutGe9ICU+wHRzsH7cCHaCbUzj900P+AXOM0FE3A==", "optional": true, "requires": { "good-listener": "1.2.2", @@ -1891,11 +1897,12 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-gslSSJx03QKa59cIKqeJO9HQ/WZMotvYJCuaUULrLpjj8oG40kV2Z+gz82pVxlTkOADi4PJxQPPfhl1ELYrrXw==", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { + "buffer-from": "1.0.0", "inherits": "2.0.3", "readable-stream": "2.3.4", "typedarray": "0.0.6" @@ -2041,9 +2048,9 @@ } }, "cross-env": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.3.tgz", - "integrity": "sha512-UOokgwvDzCT0mqRSLEkJzUhYXB1vK3E5UgDrD41QiXsm9UetcW2rCGHYz/O3p873lMJ1VZbFCF9Izkwh7nYR5A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.4.tgz", + "integrity": "sha512-Mx8mw6JWhfpYoEk7PGvHxJMLQwQHORAs8+2bX+C1lGQ4h3GkDb1zbzC2Nw85YH9ZQMlO0BHZxMacgrfPmMFxbg==", "dev": true, "requires": { "cross-spawn": "5.1.0", @@ -2453,9 +2460,9 @@ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" }, "deepmerge": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", - "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz", + "integrity": "sha512-Q89Z26KAfA3lpPGhbF6XMfYAm3jIV3avViy6KOJ2JLzFbeWHOvPQUu5aSJIWXap3gDZC2y1eF5HXEPI2wGqgvw==" }, "default-require-extensions": { "version": "1.0.0", @@ -2921,15 +2928,15 @@ } }, "eslint": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.2.tgz", - "integrity": "sha512-qy4i3wODqKMYfz9LUI8N2qYDkHkoieTbiHpMrYUI/WbjhXJQr7lI4VngixTgaG+yHX+NBCv7nW4hA0ShbvaNKw==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { "ajv": "5.5.2", "babel-code-frame": "6.26.0", "chalk": "2.3.2", - "concat-stream": "1.6.1", + "concat-stream": "1.6.2", "cross-spawn": "5.1.0", "debug": "3.1.0", "doctrine": "2.1.0", @@ -2941,7 +2948,7 @@ "file-entry-cache": "2.0.0", "functional-red-black-tree": "1.0.1", "glob": "7.1.2", - "globals": "11.3.0", + "globals": "11.4.0", "ignore": "3.3.7", "imurmurhash": "0.1.4", "inquirer": "3.3.0", @@ -2957,6 +2964,7 @@ "path-is-inside": "1.0.2", "pluralize": "7.0.0", "progress": "2.0.0", + "regexpp": "1.0.1", "require-uncached": "1.0.3", "semver": "5.4.1", "strip-ansi": "4.0.0", @@ -3275,14 +3283,14 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.5.1", + "acorn": "5.5.3", "acorn-jsx": "3.0.1" }, "dependencies": { "acorn": { - "version": "5.5.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.1.tgz", - "integrity": "sha512-D/KGiCpM/VOtTMDS+wfjywEth926WUrArrzYov4N4SI7t+3y8747dPpCmmAvrm/Z3ygqMHnyPxvYYO0yTdn/nQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", "dev": true } } @@ -4639,9 +4647,9 @@ } }, "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.4.0.tgz", + "integrity": "sha512-Dyzmifil8n/TmSqYDEXbm+C8yitzJQqQIlJQLNRMwa+BOUJpRC19pyVeN12JAjt61xonvXjtff+hJruTRXn5HA==", "dev": true }, "globby": { @@ -6304,9 +6312,9 @@ } }, "jss": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.0.tgz", - "integrity": "sha512-1E9pn6k1Qd1BxKz845supoedukHuwMeBiqybCQV9l60v8JE7owkZSvVJfjw3wm50SjG1C/ABPtQ8PrGfhfrzLw==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.1.tgz", + "integrity": "sha512-a9dXInEPTRmdSmzw3LNhbAwdQVZgCRmFU7dFzrpLTMAcdolHXNamhxQ6J+PNIqUtWa9yRbZIzWX6aUlI55LZ/A==", "requires": { "is-in-browser": "1.1.3", "symbol-observable": "1.2.0", @@ -6383,11 +6391,11 @@ "integrity": "sha512-E89UDcrphmI0LzmvYk25Hp4aE5ZBsXqMWlkFXS0EtPkunJkRr+WXdCNYbXbksIPnKlBenGB9OxzQY+mVc70S+g==" }, "jss-rtl": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.1.tgz", - "integrity": "sha512-fvCsICgCz4N0hGhAAK9mikOoMSeeAnmhdXHkS9/JO9Z3zzRfHSURU6eRiXingxoFyv1O97sILlR2nFNudAZlYg==", + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.3.tgz", + "integrity": "sha512-c9yOhTWldABdx+dds0XSXIbUcEWajBv+e7fl3zaiHCwOqbq4QiAdDTw7l4l5nqHAaGV6+33zMoS//KMMGpPA1A==", "requires": { - "rtl-css-js": "1.8.0" + "rtl-css-js": "1.9.0" } }, "jss-template": { @@ -6416,9 +6424,9 @@ } }, "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=" }, "killable": { "version": "1.0.0", @@ -6726,37 +6734,45 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "material-ui": { - "version": "1.0.0-beta.33", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.33.tgz", - "integrity": "sha512-9p3a6d62AQtl1pn4eXgT97Pjd/iVmzSeEmv14ZLFho29eqhoETGYnULs5t19jprf+5aJSfVP+r+Dm4SJMa0uPg==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.38.tgz", + "integrity": "sha512-FH0ZjltO+aMJea7J+/lT+JuqxxW7/B5UT1lTcrWlTJlAmivGdSE67T7Hqag/0fMRqZpdvMvyjhoM1DLRmf0bqg==", "requires": { - "@types/jss": "9.3.0", - "@types/react-transition-group": "2.0.6", + "@types/jss": "9.3.2", + "@types/react-transition-group": "2.0.7", "babel-runtime": "6.26.0", "brcast": "3.0.1", "classnames": "2.2.5", - "deepmerge": "2.0.1", + "deepmerge": "2.1.0", "dom-helpers": "3.3.1", - "hoist-non-react-statics": "2.3.1", - "jss": "9.8.0", + "hoist-non-react-statics": "2.5.0", + "jss": "9.8.1", "jss-camel-case": "6.1.0", "jss-default-unit": "8.0.2", "jss-global": "3.0.0", "jss-nested": "6.0.1", "jss-props-sort": "6.0.0", "jss-vendor-prefixer": "7.0.0", - "keycode": "2.1.9", + "keycode": "2.2.0", "lodash": "4.17.5", "normalize-scroll-left": "0.1.2", "prop-types": "15.6.1", "react-event-listener": "0.5.3", - "react-jss": "8.3.1", - "react-popper": "0.7.5", + "react-jss": "8.3.5", + "react-lifecycles-compat": "1.0.2", + "react-popper": "0.8.3", "react-scrollbar-size": "2.1.0", "react-transition-group": "2.2.1", "recompose": "0.26.0", - "scroll": "2.0.1", + "scroll": "2.0.3", "warning": "3.0.0" + }, + "dependencies": { + "hoist-non-react-statics": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" + } } }, "material-ui-pickers-jalali-utils": { @@ -6959,9 +6975,9 @@ } }, "moment": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", - "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" + "version": "2.21.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", + "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" }, "moment-jalaali": { "version": "0.7.2", @@ -6969,7 +6985,7 @@ "integrity": "sha512-CO9FG+vuuhzcyboqmocubwmVj0d0Z1QvnU1uNUzuO9ZyyMT7oJAAj1oGC1JvN9PA5GcAhDcrEQkGWim1lfRYYQ==", "requires": { "jalaali-js": "1.1.0", - "moment": "2.20.1", + "moment": "2.21.0", "rimraf": "2.6.2" } }, @@ -7540,9 +7556,9 @@ "dev": true }, "popper.js": { - "version": "1.12.9", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz", - "integrity": "sha1-DfvC3/lsRRuzMu3Pz6r1ZtMx1bM=" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.1.tgz", + "integrity": "sha1-uIFeXNpvYvwgQuR2GGSfdYZuZ1M=" }, "portfinder": { "version": "1.0.13", @@ -9456,11 +9472,11 @@ } }, "prismjs": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.11.0.tgz", - "integrity": "sha1-KXrvM+t5Qhv9sZJzpQkspRWXDSk=", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.13.0.tgz", + "integrity": "sha512-0/1Fiyg3MCzepo6t6Wzx2Ef4nftGKeQIv+Z6LO38RcYJN5QV2ePHh8W41ZkFn57B++6BnglF6fCiJ9b80YlzkQ==", "requires": { - "clipboard": "1.7.1" + "clipboard": "2.0.0" } }, "private": { @@ -9789,17 +9805,22 @@ } }, "react-jss": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.3.1.tgz", - "integrity": "sha512-reKzVvaEHtzlVxJOzoeMOCCrBVCMRlIqlVXHJqgde1Pz04HNrbMaHGYC2CugK6Yk8kkDFuO6p0fTPe66ktyPMA==", + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.3.5.tgz", + "integrity": "sha512-n1exvyrP1nl2YGwMlxgSVKCoqg2NvNacMK7F1tj37IQaYoMjmmLh2uFxs2Qd9xQrhBGw/6RDsrs3qK+WVxTUQg==", "requires": { "hoist-non-react-statics": "2.3.1", - "jss": "9.8.0", + "jss": "9.8.1", "jss-preset-default": "4.3.0", "prop-types": "15.6.1", "theming": "1.3.0" } }, + "react-lifecycles-compat": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-1.0.2.tgz", + "integrity": "sha512-uyYuXIt73odE9MQM9vFemhYI8AOiBr2TC0/Q8Dx0T27mLt20cRwauafXYul2l6hqSyoGsz4G+AepeFiyoEqVaQ==" + }, "react-markdown": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.5.1.tgz", @@ -9811,11 +9832,11 @@ } }, "react-popper": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.7.5.tgz", - "integrity": "sha512-ya9dhhGCf74JTOB2uyksEHhIGw7w9tNZRUJF73lEq2h4H5JT6MBa4PdT4G+sx6fZwq+xKZAL/sVNAIuojPn7Dg==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.8.3.tgz", + "integrity": "sha1-D3MzMTfJ+wr27EB00tBYWgoEYeE=", "requires": { - "popper.js": "1.12.9", + "popper.js": "1.14.1", "prop-types": "15.6.1" } }, @@ -10043,6 +10064,12 @@ "is-equal-shallow": "0.1.3" } }, + "regexpp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.0.1.tgz", + "integrity": "sha512-8Ph721maXiOYSLtaDGKVmDn5wdsNaF6Px85qFNeMPQq0r8K5Y10tgP6YuR65Ws35n4DvzFcCxEnRNBIXQunzLw==", + "dev": true + }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", @@ -10282,9 +10309,9 @@ } }, "rtl-css-js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.8.0.tgz", - "integrity": "sha512-SBIHpPkGPlxSejTUa7ZXDzExMm1csWCVcuE+ZSEofyXjejxEpfE1ZtltYRNxV/WRbgGGJsU9aBb6CUStQdaVHQ==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/rtl-css-js/-/rtl-css-js-1.9.0.tgz", + "integrity": "sha512-A2E3Gd6VGm9mtVfD5SSHeNvq0eEAP2RUPtxoVWRMjDVz1bdXlILn3zYHoQo8IG4P8yI85kkUy9fHslqjNxtBsw==" }, "run-async": { "version": "2.3.0", @@ -10363,9 +10390,9 @@ } }, "scroll": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.1.tgz", - "integrity": "sha1-tMfSfovPOuiligQvJyaK4/VfnM0=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.3.tgz", + "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "requires": { "rafl": "1.2.2" } diff --git a/docs/package.json b/docs/package.json index 5abe78ef1d2d4e..d9fdaa8fd1375b 100644 --- a/docs/package.json +++ b/docs/package.json @@ -26,18 +26,18 @@ "history": "^4.7.2", "html-webpack-plugin": "2.29.0", "jest": "20.0.4", - "jss": "^9.8.0", + "jss": "^9.8.1", "jss-preset-default": "^4.3.0", - "jss-rtl": "^0.2.1", - "material-ui": "^1.0.0-beta.33", + "jss-rtl": "^0.2.3", + "material-ui": "^1.0.0-beta.38", "material-ui-pickers-jalali-utils": "^0.4.0", - "moment": "^2.20.1", + "moment": "^2.21.0", "moment-jalaali": "^0.7.2", "object-assign": "4.1.1", "patreon": "^0.4.0", "postcss-flexbugs-fixes": "3.2.0", "postcss-loader": "2.0.8", - "prismjs": "^1.11.0", + "prismjs": "^1.13.0", "promise": "8.0.1", "prop-types": "^15.6.1", "raf": "3.4.0", @@ -45,7 +45,7 @@ "react-dev-utils": "^5.0.0", "react-docgen": "^2.20.1", "react-dom": "^16.2.0", - "react-jss": "^8.3.1", + "react-jss": "^8.3.5", "react-markdown": "^2.5.1", "react-router": "^4.2.0", "react-router-dom": "^4.2.2", @@ -58,8 +58,8 @@ "whatwg-fetch": "2.0.3" }, "devDependencies": { - "cross-env": "^5.1.3", - "eslint": "^4.18.2", + "cross-env": "^5.1.4", + "eslint": "^4.19.1", "eslint-config-airbnb": "^16.1.0", "eslint-import-resolver-webpack": "^0.8.4", "eslint-plugin-import": "^2.9.0", diff --git a/docs/prop-types.json b/docs/prop-types.json index 24714659f0aed9..ecc05836fba47e 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -1312,6 +1312,13 @@ "value": "false", "computed": false } + }, + "fadeTimeout": { + "type": { + "name": "number" + }, + "required": true, + "description": "" } } } @@ -1725,6 +1732,17 @@ "value": "'date'", "computed": false } + }, + "fadeTimeout": { + "type": { + "name": "number" + }, + "required": false, + "description": "Switching hour/minutes animation timeout in milliseconds (set 0 to disable)", + "defaultValue": { + "value": "400", + "computed": false + } } } } @@ -2227,6 +2245,13 @@ "value": "true", "computed": false } + }, + "fadeTimeout": { + "type": { + "name": "number" + }, + "required": true, + "description": "" } } } @@ -2295,6 +2320,17 @@ "value": "true", "computed": false } + }, + "fadeTimeout": { + "type": { + "name": "number" + }, + "required": false, + "description": "Switching hour/minutes animation timeout in milliseconds (set 0 to disable)", + "defaultValue": { + "value": "400", + "computed": false + } } } } diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index dafd41545fab2f..304d1fbd83fc7a 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -23,6 +23,7 @@ export default class CustomDateTimePicker extends PureComponent { showTabs={false} autoSubmit={false} disableFuture + fadeTimeout={0} value={selectedDate} onChange={this.handleDateChange} helperText="Hardcoded helper text" diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 83ae96682365ba..473898ebdae0ab 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -1,5 +1,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; +import Fade from 'material-ui/transitions/Fade'; import View from './DateTimePickerView'; import YearSelection from '../DatePicker/YearSelection'; @@ -34,6 +35,7 @@ export class DateTimePicker extends Component { ampm: PropTypes.bool, shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, + fadeTimeout: PropTypes.number.isRequired, } static defaultProps = { @@ -115,6 +117,7 @@ export class DateTimePicker extends Component { ampm, shouldDisableDate, animateYearScrolling, + fadeTimeout, } = this.props; return ( @@ -169,21 +172,30 @@ export class DateTimePicker extends Component { - + +
+ +
+
+
- + +
+ +
+
); diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx index 4cc8aceb0c1d2c..ec5840e1d796c5 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -51,6 +51,8 @@ export class DateTimePickerWrapper extends PickerBase { animateYearScrolling: PropTypes.bool, /** Open directly to particular view */ openTo: PropTypes.oneOf(['year', 'date', 'hour', 'minutes']), + /** Switching hour/minutes animation timeout in milliseconds (set 0 to disable) */ + fadeTimeout: PropTypes.number, } static defaultProps = { @@ -72,6 +74,7 @@ export class DateTimePickerWrapper extends PickerBase { ampm: true, shouldDisableDate: undefined, animateYearScrolling: false, + fadeTimeout: 400, } default12hFormat = 'MMMM Do hh:mm a' @@ -100,6 +103,7 @@ export class DateTimePickerWrapper extends PickerBase { ampm, shouldDisableDate, animateYearScrolling, + fadeTimeout, ...other } = this.props; @@ -121,6 +125,7 @@ export class DateTimePickerWrapper extends PickerBase { > diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 094576b1006498..12339f9250b4b5 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -1,6 +1,8 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import withStyles from 'material-ui/styles/withStyles'; +import Fade from 'material-ui/transitions/Fade'; + import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import HourView from './HourView'; @@ -17,6 +19,7 @@ export class TimePicker extends Component { children: PropTypes.node, utils: PropTypes.object.isRequired, ampm: PropTypes.bool, + fadeTimeout: PropTypes.number.isRequired, } static defaultProps = { @@ -56,7 +59,6 @@ export class TimePicker extends Component { this.props.onChange(withMeridiem, false); } - handleHourChange = (time, isFinish) => { this.handleChange(time, isFinish, true); } @@ -75,7 +77,7 @@ export class TimePicker extends Component { render() { const { - classes, theme, date, utils, ampm, + classes, theme, date, utils, ampm, fadeTimeout, } = this.props; const { isHourViewShown, meridiemMode } = this.state; @@ -135,9 +137,9 @@ export class TimePicker extends Component { {this.props.children} - { - isHourViewShown - ? +
+ +
- : +
+
+ + +
- } +
+
+
); } } const styles = () => ({ + viewContainer: { + position: 'relative', + minHeight: 300, + minWidth: 260, + }, + viewRoot: { + position: 'absolute', + left: 0, + right: 0, + }, toolbar: { flexDirection: 'row', alignItems: 'center', diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/TimePickerWrapper.jsx index 36baf46c4ba07d..28a6b84ebfc249 100644 --- a/lib/src/TimePicker/TimePickerWrapper.jsx +++ b/lib/src/TimePicker/TimePickerWrapper.jsx @@ -20,6 +20,8 @@ export class TimePickerWrapper extends PickerBase { autoOk: PropTypes.bool, /** 12h/24h view for hour selection clock */ ampm: PropTypes.bool, + /** Switching hour/minutes animation timeout in milliseconds (set 0 to disable) */ + fadeTimeout: PropTypes.number, } static defaultProps = { @@ -27,6 +29,7 @@ export class TimePickerWrapper extends PickerBase { format: undefined, autoOk: false, ampm: true, + fadeTimeout: 400, } default12hFormat = 'hh:mm A' @@ -35,7 +38,7 @@ export class TimePickerWrapper extends PickerBase { render() { const { date } = this.state; const { - value, format, autoOk, onChange, utils, ampm, ...other + value, format, autoOk, onChange, utils, ampm, fadeTimeout, ...other } = this.props; return ( @@ -54,6 +57,7 @@ export class TimePickerWrapper extends PickerBase { onChange={this.handleChange} utils={utils} ampm={ampm} + fadeTimeout={fadeTimeout} /> ); From 1aae8f7731540860c8551536b48a03f85d8da1d8 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 27 Mar 2018 17:29:45 +0300 Subject: [PATCH 0477/1801] Add permanent class for modal dialog action to add ability override it --- docs/src/Examples/Demo/BasicDatePicker.jsx | 16 ++++++++++------ docs/src/Examples/Guides/CssTheme.jsx | 9 ++++++++- lib/src/_shared/DateTextField.jsx | 2 +- lib/src/_shared/ModalDialog.jsx | 9 ++++++--- 4 files changed, 25 insertions(+), 11 deletions(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 700a1b9d0de7f0..a1941c3e8c85a1 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -1,5 +1,6 @@ import React, { Fragment, PureComponent } from 'react'; import { DatePicker } from 'material-ui-pickers'; +import { FormControl } from 'material-ui'; export default class BasicDatePicker extends PureComponent { state = { @@ -16,12 +17,15 @@ export default class BasicDatePicker extends PureComponent { return (
- + + + +
diff --git a/docs/src/Examples/Guides/CssTheme.jsx b/docs/src/Examples/Guides/CssTheme.jsx index 358247d5025d7a..0ef71c6e1ed31f 100644 --- a/docs/src/Examples/Guides/CssTheme.jsx +++ b/docs/src/Examples/Guides/CssTheme.jsx @@ -22,12 +22,19 @@ const materialTheme = createMuiTheme({ color: lightBlue.A700, }, selected: { - backgroundColor: lightBlue['500'], + backgroundColor: lightBlue['400'], }, current: { color: lightBlue['900'], }, }, + MuiPickersModal: { + dialogAction: { + '& > button': { + color: lightBlue['400'], + }, + }, + }, }, }); diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 1030cc05f2e202..1a520553e9c850 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -211,7 +211,7 @@ export class DateTextField extends PureComponent { return; } - e.target.blur(); + this.openPicker(e); } diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index c0753ca71258fc..fdcb4783ab2601 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -24,11 +24,14 @@ const styles = { // see https://github.com/dmtrKovalenko/material-ui-pickers/pull/267 justifyContent: 'flex-start', }, - dialogAction: { + clearableDialogAction: { '&:first-child': { marginRight: 'auto', }, }, + dialogAction: { + // empty but may be needed for override + }, }; const ModalDialog = ({ @@ -52,10 +55,9 @@ const ModalDialog = ({ - { clearable && + + ); + } + + return ( + + + + {children} + + + ); + } +} + +NavItem.propTypes = { + classes: PropTypes.object.isRequired, + open: PropTypes.bool.isRequired, + href: PropTypes.string, + title: PropTypes.string.isRequired, + children: PropTypes.arrayOf(PropTypes.object), + depth: PropTypes.number, +}; + +NavItem.defaultProps = { + depth: 0, + children: undefined, + href: undefined, +}; + +export default withStyles(styles)(NavItem); From caacfacb23d2bb655af1c7463ca94350c5e5152f Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 29 Mar 2018 18:46:56 +0100 Subject: [PATCH 0485/1801] remove NavLink component --- docs/src/layout/NavLink.jsx | 39 ------------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 docs/src/layout/NavLink.jsx diff --git a/docs/src/layout/NavLink.jsx b/docs/src/layout/NavLink.jsx deleted file mode 100644 index 9bc9cb018b7ce4..00000000000000 --- a/docs/src/layout/NavLink.jsx +++ /dev/null @@ -1,39 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { ListItem, withStyles } from 'material-ui'; -import { NavLink } from 'react-router-dom'; - -const Link = ({ children, classes, ...props }) => ( - - {children} - -); - -Link.propTypes = { - children: PropTypes.node.isRequired, - classes: PropTypes.object, -}; - -Link.defaultProps = { - classes: {}, -}; - -const styles = theme => ({ - navLink: { - ...theme.typography.body1, - paddingTop: 8, - paddingBottom: 8, - }, - selected: { - color: theme.palette.primary.main, - fontWeight: 500, - }, -}); - -export default withStyles(styles)(Link); From 32328348fbed4c6a211feee4eecd326e270e02c7 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 29 Mar 2018 18:47:11 +0100 Subject: [PATCH 0486/1801] use NavItem component instead of NavLink --- docs/src/layout/NavigationMenu.jsx | 90 ++++++++++++++++++++++-------- 1 file changed, 66 insertions(+), 24 deletions(-) diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index 0ab1bea78e4c56..0ee0edfbb1a123 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -1,32 +1,74 @@ import React from 'react'; -import { List, ListSubheader } from 'material-ui'; +import PropTypes from 'prop-types'; +import { List } from 'material-ui'; import { withRouter } from 'react-router-dom'; -import NavLink from './NavLink'; +import NavItem from './NavItem'; -const NavigationMenu = () => ( - - Getting Started - Installation - Usage +const navItems = [ + { + title: 'Getting Started', + children: [ + { title: 'Installation', href: '/installation' }, + { title: 'Usage', href: '/usage' }, + ], + }, + { + title: 'Localization', + children: [ + { title: 'Using date-fns', href: '/localization/date-fns' }, + { title: 'Using moment', href: '/localization/moment' }, + { title: 'Persian Calendar System', href: '/localization/persian' }, + ], + }, + { + title: 'Components', + children: [ + { title: 'Date Picker', href: '/demo/datepicker' }, + { title: 'Time Picker', href: '/demo/timepicker' }, + { title: 'Date & Time Picker', href: '/demo/datetimepicker' }, + ], + }, + { + title: 'Guides', + children: [ + { title: 'CSS overrides', href: '/guides/css-overrides' }, + { title: 'Global format customization', href: '/guides/formats' }, + ], + }, +]; - Localization +class NavigationMenu extends React.Component { + mapNavigation(depth) { + return ({ title, children, href }) => { + const { location } = this.props; + const open = children && children.length > 0 + ? children.some(item => item.href === location.pathname) + : false; + return ( + + {children && children.length > 0 && children.map(this.mapNavigation(depth + 1))} + + ); + }; + } + render() { + return ( + + {navItems.map(this.mapNavigation(0))} + + ); + } +} - Using date-fns - Using moment - Persian Calendar System - - Components - - Date Picker - Time Picker - Date & Time Picker - - Guides - - CSS overrides - Global format customization - -); +NavigationMenu.propTypes = { + location: PropTypes.object.isRequired, +}; export default withRouter(NavigationMenu); From 38f54827a8d67cde89b279ceca6a153c67dfd8a0 Mon Sep 17 00:00:00 2001 From: Tatiana Tkachenko Date: Sun, 1 Apr 2018 10:29:37 +0300 Subject: [PATCH 0487/1801] Added today button handler --- lib/src/_shared/ModalDialog.d.ts | 1 + lib/src/_shared/ModalDialog.jsx | 26 +++++++++++++++++++++++++- lib/src/_shared/PickerBase.jsx | 4 ++++ lib/src/wrappers/ModalWrapper.d.ts | 1 + lib/src/wrappers/ModalWrapper.jsx | 24 +++++++++++++++++++++++- 5 files changed, 54 insertions(+), 2 deletions(-) diff --git a/lib/src/_shared/ModalDialog.d.ts b/lib/src/_shared/ModalDialog.d.ts index 0ed1d9a4ebb2af..09744390b6a5af 100644 --- a/lib/src/_shared/ModalDialog.d.ts +++ b/lib/src/_shared/ModalDialog.d.ts @@ -8,6 +8,7 @@ export interface DateTextFieldProps extends DialogProps { onAccept: ButtonProps['onClick']; onDismiss: ButtonProps['onClick']; onClear: ButtonProps['onClick']; + onSetToday: ButtonProps['onClick']; dialogContentClassName?: string; invalidLabel?: string; okLabel?: ReactNode; diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index fdcb4783ab2601..92ab5a8542a201 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -29,6 +29,11 @@ const styles = { marginRight: 'auto', }, }, + todayDialogAction: { + '&:first-child': { + marginRight: 'auto', + }, + }, dialogAction: { // empty but may be needed for override }, @@ -40,11 +45,14 @@ const ModalDialog = ({ onAccept, onDismiss, onClear, + onSetToday, okLabel, cancelLabel, clearLabel, + todayLabel, dialogContentClassName, clearable, + showTodayButton, ...other }) => ( @@ -55,7 +63,10 @@ const ModalDialog = ({ { clearable && @@ -68,6 +79,16 @@ const ModalDialog = ({ } + { !clearable && showTodayButton && + + } +
+ +
+ +
); } diff --git a/lib/src/DatePicker/DatePickerWrapper.jsx b/lib/src/DatePicker/DatePickerWrapper.jsx index dd3cdb0170a9d3..a6f05c47320e3e 100644 --- a/lib/src/DatePicker/DatePickerWrapper.jsx +++ b/lib/src/DatePicker/DatePickerWrapper.jsx @@ -92,6 +92,7 @@ export class DatePickerWrapper extends PickerBase { onAccept={this.handleAccept} onChange={this.handleTextFieldChange} onDismiss={this.handleDismiss} + onSetToday={this.handleSetTodayDate} labelFunc={labelFunc} minDate={minDate} maxDate={maxDate} From a66d22e532b86feb96e51c47d192dbd4714fc3ed Mon Sep 17 00:00:00 2001 From: Tatiana Tkachenko Date: Sun, 1 Apr 2018 10:32:16 +0300 Subject: [PATCH 0489/1801] Add today button for DateTimePicker + example --- docs/src/Examples/Demo/BasicDateTimePicker.jsx | 10 ++++++++++ lib/src/DateTimePicker/DateTimePickerWrapper.jsx | 1 + 2 files changed, 11 insertions(+) diff --git a/docs/src/Examples/Demo/BasicDateTimePicker.jsx b/docs/src/Examples/Demo/BasicDateTimePicker.jsx index 28a968f0037c9c..23600d2c198fad 100644 --- a/docs/src/Examples/Demo/BasicDateTimePicker.jsx +++ b/docs/src/Examples/Demo/BasicDateTimePicker.jsx @@ -34,6 +34,16 @@ export default class BasicDateTimePicker extends PureComponent { label="24h clock" /> + +
+ +
); } diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx index ec5840e1d796c5..faa676887492d7 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -116,6 +116,7 @@ export class DateTimePickerWrapper extends PickerBase { onChange={this.handleTextFieldChange} onDismiss={this.handleDismiss} onClear={this.handleClear} + onSetToday={this.handleSetTodayDate} dialogContentClassName={classes.dialogContent} minDate={minDate} maxDate={maxDate} From 2bec19a1bcb2955ff24f2b2d769108a557f7a090 Mon Sep 17 00:00:00 2001 From: Tatiana Tkachenko Date: Sun, 1 Apr 2018 10:32:43 +0300 Subject: [PATCH 0490/1801] Add today button for TimePicker + example --- docs/src/Examples/Demo/TimePickerBasic.jsx | 10 ++++++++++ lib/src/TimePicker/TimePickerWrapper.jsx | 1 + 2 files changed, 11 insertions(+) diff --git a/docs/src/Examples/Demo/TimePickerBasic.jsx b/docs/src/Examples/Demo/TimePickerBasic.jsx index 8935c2865cdcff..0a502dd718ea65 100644 --- a/docs/src/Examples/Demo/TimePickerBasic.jsx +++ b/docs/src/Examples/Demo/TimePickerBasic.jsx @@ -32,6 +32,16 @@ export default class BasicUsage extends PureComponent { onChange={this.handleDateChange} /> + +
+ +
); } diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/TimePickerWrapper.jsx index 28a6b84ebfc249..c89c0c713e4f82 100644 --- a/lib/src/TimePicker/TimePickerWrapper.jsx +++ b/lib/src/TimePicker/TimePickerWrapper.jsx @@ -50,6 +50,7 @@ export class TimePickerWrapper extends PickerBase { onAccept={this.handleAccept} onChange={this.handleTextFieldChange} onDismiss={this.handleDismiss} + onSetToday={this.handleSetTodayDate} {...other} > Date: Sun, 1 Apr 2018 10:33:19 +0300 Subject: [PATCH 0491/1801] Generete props for docs --- docs/prop-types.json | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/docs/prop-types.json b/docs/prop-types.json index ecc05836fba47e..5d9d811fb93769 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -2859,6 +2859,27 @@ }, "required": true, "description": "" + }, + "todayLabel": { + "type": { + "name": "string" + }, + "required": true, + "description": "" + }, + "showTodayButton": { + "type": { + "name": "bool" + }, + "required": true, + "description": "" + }, + "onSetToday": { + "type": { + "name": "func" + }, + "required": true, + "description": "" } } } @@ -2999,6 +3020,13 @@ "description": "", "displayName": "ModalWrapper", "methods": [ + { + "name": "handleSetTodayDate", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, { "name": "open", "docblock": null, @@ -3114,6 +3142,28 @@ "computed": false } }, + "todayLabel": { + "type": { + "name": "string" + }, + "required": false, + "description": "\"Today\" label message", + "defaultValue": { + "value": "'Today'", + "computed": false + } + }, + "showTodayButton": { + "type": { + "name": "bool" + }, + "required": false, + "description": "If true today button will be displayed\nNote* that clear button has higher priority", + "defaultValue": { + "value": "false", + "computed": false + } + }, "onOpen": { "type": { "name": "func" @@ -3180,6 +3230,17 @@ "computed": true } }, + "onSetToday": { + "type": { + "name": "func" + }, + "required": false, + "description": "", + "defaultValue": { + "value": "undefined", + "computed": true + } + }, "children": { "type": { "name": "node" From d255785acd523c3b7606012e9708ab3402a091cc Mon Sep 17 00:00:00 2001 From: Tatiana Tkachenko Date: Sun, 1 Apr 2018 11:47:17 +0300 Subject: [PATCH 0492/1801] Added tests for Modal Dialog --- lib/__tests__/_shared/ModalDialog.test.js | 74 ++++++++++++++++++++++- lib/src/_shared/ModalDialog.jsx | 2 +- 2 files changed, 73 insertions(+), 3 deletions(-) diff --git a/lib/__tests__/_shared/ModalDialog.test.js b/lib/__tests__/_shared/ModalDialog.test.js index 563ca39f450ff1..bf2e679dea2c74 100644 --- a/lib/__tests__/_shared/ModalDialog.test.js +++ b/lib/__tests__/_shared/ModalDialog.test.js @@ -1,16 +1,86 @@ import React from 'react'; import { shallow } from '../test-utils'; -import ModalDialog from '../../src/_shared/ModalDialog'; +import { ModalDialog } from '../../src/_shared/ModalDialog'; + +const initialProps = { + onAccept: jest.fn(), + onDismiss: jest.fn(), + onClear: jest.fn(), + okLabel: 'OK', + cancelLabel: 'Cancel', + clearLabel: 'Clear', + clearable: false, + todayLabel: 'Today', + showTodayButton: false, + onSetToday: jest.fn(), + classes: {}, + children: 'Test', +}; describe('ModalDialog', () => { let component; + const props = { ...initialProps }; beforeEach(() => { - component = shallow(); + component = shallow(); }); it('Should renders', () => { // console.log(component.debug()); expect(component).toBeTruthy(); }); + + it('Should render dialog content', () => { + expect(component.find('WithStyles(DialogContent)').props().children).toBe(props.children); + }); + + it('Should render dialog actions with 2 buttons', () => { + expect(component.find('WithStyles(DialogActions)').length).toBe(1); + expect(component.find('WithStyles(Button)').at(0).props().children).toBe('Cancel'); + expect(component.find('WithStyles(Button)').at(1).props().children).toBe('OK'); + }); + + it('Should handle on OK button click', () => { + component.find('WithStyles(Button)').at(1).simulate('click'); + expect(props.onAccept).toHaveBeenCalled(); + }); + + it('Should handle on Cancel button click', () => { + component.find('WithStyles(Button)').at(0).simulate('click'); + expect(props.onDismiss).toHaveBeenCalled(); + }); +}); + +describe('ModalDialog with Clear Button', () => { + let component; + const props = { + ...initialProps, + clearable: true, + }; + + beforeEach(() => { + component = shallow(); + }); + + it('Should handle on Clear button click', () => { + component.find('WithStyles(Button)').at(0).simulate('click'); + expect(props.onClear).toHaveBeenCalled(); + }); +}); + +describe('ModalDialog with Today Button', () => { + let component; + const props = { + ...initialProps, + showTodayButton: true, + }; + + beforeEach(() => { + component = shallow(); + }); + + it('Should handle on Clear button click', () => { + component.find('WithStyles(Button)').at(0).simulate('click'); + expect(props.onSetToday).toHaveBeenCalled(); + }); }); diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 92ab5a8542a201..e3b8894d756dc0 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -39,7 +39,7 @@ const styles = { }, }; -const ModalDialog = ({ +export const ModalDialog = ({ children, classes, onAccept, From 2a8452250140b4eb64c62c0b49e70f9408132998 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 3 Apr 2018 17:30:06 +0300 Subject: [PATCH 0493/1801] Fix not working fading timeout in datetime picker --- lib/src/DateTimePicker/DateTimePicker.jsx | 124 ++++++++++-------- lib/src/DateTimePicker/DateTimePickerView.jsx | 33 ++++- 2 files changed, 97 insertions(+), 60 deletions(-) diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 473898ebdae0ab..2121f4340bfb0f 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -1,6 +1,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import Fade from 'material-ui/transitions/Fade'; +import withStyles from 'material-ui/styles/withStyles'; import View from './DateTimePickerView'; import YearSelection from '../DatePicker/YearSelection'; @@ -36,6 +36,7 @@ export class DateTimePicker extends Component { shouldDisableDate: PropTypes.func, animateYearScrolling: PropTypes.bool, fadeTimeout: PropTypes.number.isRequired, + classes: PropTypes.object.isRequired, } static defaultProps = { @@ -118,6 +119,7 @@ export class DateTimePicker extends Component { shouldDisableDate, animateYearScrolling, fadeTimeout, + classes, } = this.props; return ( @@ -142,64 +144,72 @@ export class DateTimePicker extends Component { /> } - - - - - - - - - - -
- -
-
- -
- - - -
- -
-
-
+
+ + + + + + + + + + + + + + + +
); } } -export default withUtils()(DateTimePicker); +const styles = { + viewContainer: { + minHeight: 300, + position: 'relative', + }, +}; + +export default withStyles(styles)(withUtils()(DateTimePicker)); diff --git a/lib/src/DateTimePicker/DateTimePickerView.jsx b/lib/src/DateTimePicker/DateTimePickerView.jsx index e7d3d329a6087a..69625c31968671 100644 --- a/lib/src/DateTimePicker/DateTimePickerView.jsx +++ b/lib/src/DateTimePicker/DateTimePickerView.jsx @@ -2,32 +2,59 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import withStyles from 'material-ui/styles/withStyles'; +import Fade from 'material-ui/transitions/Fade'; export const DateTimePickerView = (props) => { const { - view, selected, children, classes, + view, selected, children, classes, timeout, } = props; + if (timeout) { + return ( + +
+ { children } +
+
+ ); + } + if (view !== selected) { return null; } return ( -
+
{ children }
); }; DateTimePickerView.propTypes = { + timeout: PropTypes.number, view: PropTypes.string.isRequired, selected: PropTypes.string.isRequired, children: PropTypes.node.isRequired, classes: PropTypes.object.isRequired, }; -const styles = { +DateTimePickerView.defaultProps = { + timeout: undefined, +}; +const styles = { + view: { + zIndex: 1, + position: 'absolute', + left: 0, + right: 0, + }, + disabled: { + zIndex: 0, + '& *': { + pointerEvents: 'none', + }, + }, }; export default withStyles(styles, { name: 'MuiPickerDTPickerView ' })(DateTimePickerView); From e56f3faeaf8a6f55a7e0a7ce9ac6aa414154de07 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 3 Apr 2018 17:44:51 +0300 Subject: [PATCH 0494/1801] Add onError callback, firing when error applied in keyboard mode --- docs/prop-types.json | 29 +++++++++++++++++++ .../Examples/Demo/CustomDateTimePicker.jsx | 4 ++- lib/src/_shared/DateTextField.jsx | 8 +++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/docs/prop-types.json b/docs/prop-types.json index 5d9d811fb93769..c6b5cb1d78622b 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -1319,6 +1319,13 @@ }, "required": true, "description": "" + }, + "classes": { + "type": { + "name": "object" + }, + "required": true, + "description": "" } } } @@ -1456,6 +1463,17 @@ "displayName": "DateTimePickerView", "methods": [], "props": { + "timeout": { + "type": { + "name": "number" + }, + "required": false, + "description": "", + "defaultValue": { + "value": "undefined", + "computed": true + } + }, "view": { "type": { "name": "string" @@ -2749,6 +2767,17 @@ "value": "'end'", "computed": false } + }, + "onError": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback firing when date that applied in the keyboard is invalid", + "defaultValue": { + "value": "undefined", + "computed": true + } } } } diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index 304d1fbd83fc7a..39c77765409fe5 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -44,7 +44,9 @@ export default class CustomDateTimePicker extends PureComponent {
Date: Tue, 3 Apr 2018 17:56:46 +0300 Subject: [PATCH 0495/1801] Fix firing error when clearing date --- lib/src/_shared/DateTextField.jsx | 4 ++-- lib/src/utils/date-fns-utils.js | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index eecbad4e6d7f9d..6a47a06d45849c 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -180,10 +180,10 @@ export class DateTextField extends PureComponent { onError, } = this.props; - if (clearable && e.target.value === '') { + if (e.target.value === '') { if (this.props.value === null) { this.setState(this.updateState()); - } else if (onClear) { + } else if (clearable && onClear) { onClear(); } diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 4d8fca32302615..52a8ebc363905d 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -1,4 +1,4 @@ -import parse from 'date-fns/parse'; +import dateFnsParse from 'date-fns/parse'; import addDays from 'date-fns/addDays'; import addMonths from 'date-fns/addMonths'; import addYears from 'date-fns/addYears'; @@ -36,7 +36,13 @@ export default class DateFnsUtils { return new Date(value); } - parse = (value, formatString) => parse(value, formatString, new Date()) + parse(value, formatString) { + if (value === '') { + return null; + } + + return dateFnsParse(value, formatString, new Date()); + } format(date, formatString) { return format(date, formatString, { locale: this.locale }); @@ -49,7 +55,7 @@ export default class DateFnsUtils { isEqual = isEqual isNull(date) { - return date == null; + return date === null; } isAfter = isAfter From 32d30a65d9862aadcec3728ba74ec95c761cd9cf Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 3 Apr 2018 18:03:18 +0300 Subject: [PATCH 0496/1801] Fix showing mask on clearing timepicker --- lib/src/_shared/MaskedInput.jsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/src/_shared/MaskedInput.jsx b/lib/src/_shared/MaskedInput.jsx index 5a66747ffc9b11..5f9ea394c3a6f2 100644 --- a/lib/src/_shared/MaskedInput.jsx +++ b/lib/src/_shared/MaskedInput.jsx @@ -5,18 +5,28 @@ import MaskedInput from 'react-text-mask'; export default class Input extends PureComponent { static propTypes = { mask: PropTypes.any, + value: PropTypes.string, inputRef: PropTypes.func.isRequired, } static defaultProps = { + value: undefined, mask: undefined, } + getMask = () => { + if (this.props.value) { + return this.props.mask; + } + + return []; + } + render() { - const { inputRef, ...props } = this.props; + const { inputRef, mask, ...props } = this.props; return ( - this.props.mask - ? + mask + ? : ); } From 02a8f58bbec9d82688f35a576d17662abaf45f81 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 3 Apr 2018 18:06:41 +0300 Subject: [PATCH 0497/1801] Make MuiPickerUtilsProvider component to make it works with Router HOC --- lib/src/utils/MuiPickersUtilsProvider.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/utils/MuiPickersUtilsProvider.jsx b/lib/src/utils/MuiPickersUtilsProvider.jsx index 63f73cffc8e8f3..b65140bf9d3dc2 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.jsx +++ b/lib/src/utils/MuiPickersUtilsProvider.jsx @@ -1,7 +1,7 @@ -import { PureComponent } from 'react'; +import { Component } from 'react'; import PropTypes from 'prop-types'; -export default class MuiPickersUtilsProvider extends PureComponent { +export default class MuiPickersUtilsProvider extends Component { static propTypes = { utils: PropTypes.func.isRequired, locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), From d7eb3182579c83510cae989525455c8cf92f4e8e Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 4 Apr 2018 11:04:26 +0300 Subject: [PATCH 0498/1801] Revert ignoring mask if value is empty code --- lib/src/_shared/MaskedInput.jsx | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/lib/src/_shared/MaskedInput.jsx b/lib/src/_shared/MaskedInput.jsx index 5f9ea394c3a6f2..5a66747ffc9b11 100644 --- a/lib/src/_shared/MaskedInput.jsx +++ b/lib/src/_shared/MaskedInput.jsx @@ -5,28 +5,18 @@ import MaskedInput from 'react-text-mask'; export default class Input extends PureComponent { static propTypes = { mask: PropTypes.any, - value: PropTypes.string, inputRef: PropTypes.func.isRequired, } static defaultProps = { - value: undefined, mask: undefined, } - getMask = () => { - if (this.props.value) { - return this.props.mask; - } - - return []; - } - render() { - const { inputRef, mask, ...props } = this.props; + const { inputRef, ...props } = this.props; return ( - mask - ? + this.props.mask + ? : ); } From 90bce29f3183d0f0bfd0987142c5581a7fc6173a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 4 Apr 2018 11:08:39 +0300 Subject: [PATCH 0499/1801] Add example of using mask as function to datepicker example --- docs/src/Examples/Demo/KeyboardDatePicker.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/Examples/Demo/KeyboardDatePicker.jsx b/docs/src/Examples/Demo/KeyboardDatePicker.jsx index 2c95933b475c8a..3b18466d1fdcf5 100644 --- a/docs/src/Examples/Demo/KeyboardDatePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardDatePicker.jsx @@ -32,7 +32,8 @@ export default class BasicUsage extends PureComponent { label="Masked input" format="DD/MM/YYYY" placeholder="10/10/2018" - mask={[/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/]} + // handle clearing outside => pass plain array if you are not controlling value outside + mask={value => (value ? [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/] : [])} value={selectedDate} onChange={this.handleDateChange} animateYearScrolling={false} From 14b97fb283c70856eb137d592a27fd264bb611e2 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 4 Apr 2018 11:22:05 +0300 Subject: [PATCH 0500/1801] Add example of opening picker programmatically --- .../Guides/ControllingProgrammatically.jsx | 56 +++++++++++++++++++ .../Guides/ControllingProgrammatically.jsx | 22 ++++++++ docs/src/Routes/Routes.jsx | 2 + docs/src/layout/NavigationMenu.jsx | 1 + 4 files changed, 81 insertions(+) create mode 100644 docs/src/Examples/Guides/ControllingProgrammatically.jsx create mode 100644 docs/src/Routes/Guides/ControllingProgrammatically.jsx diff --git a/docs/src/Examples/Guides/ControllingProgrammatically.jsx b/docs/src/Examples/Guides/ControllingProgrammatically.jsx new file mode 100644 index 00000000000000..13f2b5c6f5bd1e --- /dev/null +++ b/docs/src/Examples/Guides/ControllingProgrammatically.jsx @@ -0,0 +1,56 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import DatePicker from 'material-ui-pickers/DatePicker'; + +import Button from 'material-ui/Button'; +import withStyles from 'material-ui/styles/withStyles'; + +class ControllingProgrammaticallyExample extends PureComponent { + static propTypes = { + classes: PropTypes.object.isRequired, + } + + state = { + selectedDate: new Date(), + } + + handleDateChange = (date) => { + this.setState({ selectedDate: date }); + } + + openPicker = () => { + this.picker.wrapper.open(); + } + + render() { + const { selectedDate } = this.state; + + return ( +
+ +
+ { this.picker = node; }} + label="Localization done right" + format="D MMM YYYY" + value={selectedDate} + onChange={this.handleDateChange} + clearLabel="clair" + cancelLabel="annuler" + /> +
+
+ ); + } +} + +const styles = { + container: { + display: 'flex', + flexDirection: 'column', + }, +}; + +export default withStyles(styles)(ControllingProgrammaticallyExample); + diff --git a/docs/src/Routes/Guides/ControllingProgrammatically.jsx b/docs/src/Routes/Guides/ControllingProgrammatically.jsx new file mode 100644 index 00000000000000..d2959984f692e1 --- /dev/null +++ b/docs/src/Routes/Guides/ControllingProgrammatically.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import SourcablePanel from '_shared/SourcablePanel'; +import { Typography } from 'material-ui'; + +const ControllingProgrammatically = () => ( +
+ Control programmatically + + + Any picker component provide special property pickerRef + to add an ability open picker from the code. See an example below + + + +
+); + +export default ControllingProgrammatically; + diff --git a/docs/src/Routes/Routes.jsx b/docs/src/Routes/Routes.jsx index 38ee19b0d53850..7dff699244725c 100644 --- a/docs/src/Routes/Routes.jsx +++ b/docs/src/Routes/Routes.jsx @@ -10,6 +10,7 @@ import MomentLocalization from './Localization/MomentLocalization'; import PersianCalendar from './Localization/PersianCalendar'; import CssOverrides from './Guides/CssOverrides'; import FormatCustomization from './Guides/FormatsCustomization'; +import ControllingProgrammatically from './Guides/ControllingProgrammatically'; export default () => ( @@ -22,6 +23,7 @@ export default () => ( + ); diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index 0ee0edfbb1a123..faa0960903bd0e 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -33,6 +33,7 @@ const navItems = [ children: [ { title: 'CSS overrides', href: '/guides/css-overrides' }, { title: 'Global format customization', href: '/guides/formats' }, + { title: 'Open pickers programmatically', href: '/guides/controlling-programmatically' }, ], }, ]; From f73baa5f176a59944de3ebd2a4fc9741d46387f3 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Wed, 4 Apr 2018 11:28:51 +0300 Subject: [PATCH 0501/1801] Update version --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index 17887130dfdf2c..df497f545fd094 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.4", + "version": "1.0.0-rc.5", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From 0dcd44ff7b2c9c188a7a7bc833c7a2eff58a5917 Mon Sep 17 00:00:00 2001 From: Mathieu Richard Date: Thu, 5 Apr 2018 13:43:41 +0200 Subject: [PATCH 0502/1801] add pickerRef prop in PickerBase.d.ts --- lib/src/_shared/PickerBase.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/_shared/PickerBase.d.ts b/lib/src/_shared/PickerBase.d.ts index ed592e32550e44..97b750329da434 100644 --- a/lib/src/_shared/PickerBase.d.ts +++ b/lib/src/_shared/PickerBase.d.ts @@ -5,4 +5,5 @@ export interface PickerBaseProps { onChange: (date: MaterialUiPickersDate) => void; autoOk?: boolean; ampm?: boolean; + pickerRef:(e:Element)=>void; } \ No newline at end of file From 8a08378a7f4e40d4185bb163326707b896433023 Mon Sep 17 00:00:00 2001 From: Andrew Cherniavskii Date: Thu, 5 Apr 2018 13:44:09 +0200 Subject: [PATCH 0503/1801] [docs] remove vertical scrollbar --- docs/src/layout/Layout.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/src/layout/Layout.jsx b/docs/src/layout/Layout.jsx index 5c11209e324469..2609b1be6ee082 100644 --- a/docs/src/layout/Layout.jsx +++ b/docs/src/layout/Layout.jsx @@ -163,7 +163,6 @@ const styles = theme => ({ }, landingMain: { padding: 0, - width: '100vw', maxWidth: '100vw', marginLeft: 0, }, From 510f19fb5ea6a7bd392d5e2bd0b768b9ec9be723 Mon Sep 17 00:00:00 2001 From: Mathieu Richard Date: Fri, 6 Apr 2018 11:53:29 +0200 Subject: [PATCH 0504/1801] add th "| undefined" to pickerRef prop --- .vs/ProjectSettings.json | 3 +++ .vs/slnx.sqlite | Bin 0 -> 237568 bytes lib/src/_shared/PickerBase.d.ts | 9 +++++---- 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 .vs/ProjectSettings.json create mode 100644 .vs/slnx.sqlite diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 00000000000000..f8b4888565caad --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..b5eff75a592bad8d34b549522d9f77912fdea4a2 GIT binary patch literal 237568 zcmeEv2Y3@#w(yK*G}5RI61ZV(%NSz}$XIT&AwZ06z+fBWLJ2XB%E$<0$w)HbG$Key z?{(8V>Ai1y-E@*{%BF6T&88=Bcav;3$-eyO-a9jzk!{L*yYGAd`{WPqkx~j6V7UC0!7o*!A>VdQB&amT=*~l3GjiHzW}6FpU3++g>wCK zvmP-EKO-Ky@Uvx$Ic9p&_?2;$;Uc|}jWI7$A5-s)C*Z$<=WHC#ecXW6kW*bvpER8C z`oiMkP+069i6_LtE-@&^#E5?^l&z_&rLm{Q+0(eFt;M-+j7)u2(+sQ034dczTOx^2 zVx%?D=WOlhX<5?Js;Ql*4fzGv!b;FifC`?=y7(efd9R1ZL^({yv|s3 zODG`5)Y)YwXIIPOmadkLrj~B!I+>A_);B{zK+bX^3{`MNhqJk*tp%FX)Y#qB*xWK( zDyUf;5+ea`B!Swu&(cy#P|8b3p>m~GNCo$HHX}Vs1@A|lG`*s!6R1ej`t-t~{pqNG zb$vR$i4A?uo|ZMF$DBmC{OMZ?WvFcb+TLeWS+`4|~M zT51jSw~obRl?=bNqq${`bKQQ)fT4hmY!r8&bH+Mtp?&4aiDpAi6I8Nk>`Hcc2gR|g zX4yy8QaSfpA;i{~))D2$O)wd9TrT>=Zahh(H#_~iSvx(XlT~v=I!SHO`!OX*163aA z>fHa98G$G#&2XjpDNSecB(iuo93ELY>QTBMV_aVL(;KT6^WU*&&7yn2>+%2C)RVTPrOgLDp+Pa8@D2|3Injoq zr?nkcU1`~y#Tjzul*d%N zSR7`7Q7g?3T5rfHFQ<3T$5to{BjUB+IIRV0i7NY(32K8m0K1d3llG+M{z}-h?0xE& zb1H4!pUg0|?Hpn8NIbqYH4^cboM<6^An3JvNGGc_kxu$AYGkZMY+tGvZ!%0RNob2N zt!}MxRMS4^qE^-RU!t{nTNXF=w)Hsu!!f)7B;=7H317UT ztEF{G2X-{TSjVfE%0E!M6zLlL*RGM!_ff`>Q79`2rP*tyGs;aH5s|)z6RFWD3wZ1f_x~f{Y&#fsg7)WP=3O59x z+*F-V9kr6GMbTebR|VCnsjGI?c)@qQh`UTlIrBI_lcm7I&ZzlQ`-=91wA!&AgLa7@2RhMHPqGmpq6#j zRh3mPj|Y?l>UY(98!Dx4@p@~JByU4)J?ad<%i|RTRe{BHD^ODp z`9)yz1;u(-u&%z+1ebfgV zJT=>bVq)pf3F(c`P~ z)CX(bP`0YdO02P3>x}cvbT|v=PBZ^hn3|ziSe@#sl^bcq+h>G*Nyul#u zJJ7f{SXo&I9aSaPL1zVAb)rY=7H@T3gVe#kYOlLebOETVsfQjFeP9JOHBg=U0CY>x z?XGL^*9JUw?rN8>7PJKB<*Ey~K?T7|=sRDf7c8^J4}T4{RnWoyng(}Or598nf*#0_ z@es=f~E$>W9EH~8yd+=2e8d}0vl7O3|HJubg5SW{nH1O4C=!RY*;hkCGj zm)~6#2v*kyM6sd46{z;th;`6#7*bMk^?tApO>u#SDt8sM!qots2gQLnucx-!RTZqQ zuk!_c!Ag(E74X$pR)aR6b;zCqV28eXFO=!2tM_{Sb?zz<5C}lMy*^O32z9P;1Ikwk zRfM4!tgWqtiK*5NOrq$m7D3~wI{9GmY3mg9!-#S>fS#d{8efecCb61Ym%FYuQ04On z>w*TJN?Ma$gMG=h7ix1zg0DB|$K0#peYHkXHp5bL1iZw-nH&0Lq$xTaNw~{&Eaj?hiizHY z7+4YO9SWcil{IrJ>*iEdy6c^8_uSg5xs{dKG)tA`bi*TSI+nrkQ+Nx`e=* zAS)|eM+t8WPYTxw-~NBA#7xCA8pvoMqk)VDG8)KeAfthd1~MARXdt73j0Q3q_&=b5 zd}ba!&Mh}Ki*uJto zX}i&Orft}Eh^@(1YGbT_wmxgU-g=gGoAoejo3+;Jv>Gg5Se~?8Vu@M0EN)Ad`6u(c z<|oXTnRl5Z=GEo}=4ocL={wW&rn^j+ns%8&rXJILlav36-^1U|pUR8;LA+r6%=nn` z662t;(^zKs(eRvMx8VfCpkbMz!jQ}TgZqekj=PyVi;HqgxeCs#|3beLXGAA(`nB~k&CR_KT?tR^py6bf(>7u$-x_P=1 zot6HMeusX7zLMTa_t6b>-WUc_xSgYB(L6U4iw?OG@Dy3RB2bZt4;f#-=xR&X8hYx{ z990c;bm77^6!LEpW3DYBacjlK6wkDyILb2?k493#ksMVHT>fy>zey@eC8X#Gj&h}u zHTkm-=cs(z$o0oJz_UJqL0rTBDt*ofM-?Fa1~EJY52K|B+X!K6%sZqanBJPSm7{VX z$8aJPmf1~jWp5$!K?(4rP70ql%u&U_jh@Ww#0ro~Fuj$NKqc@Te#8efLI|L>yg14u z6Hqf0Qb7!>R z{U)rO^$+fv65*&as7N9Xxq_hqsAM!ks8CJEAV*CEiSd|U!4-u`Kg6Qp@bFNDl1*XA z-^5X+Aacm--{c(-wGy2hIciRd=t6z1<;V^pHG>&Mhem*+h|S%A+Q4%aVmus*BvduZ z86aA&@Ogb=SVbrfa+DjgbVr9{eiZYf(;E@PAaq-`Y`(=JVS$6hA@tl|ya(}VSPBBf zE|-K78-{(Y&|nQY$4^RciUzd#a(sj^6br=%Axo89=2R~kGM(tjNN=Rc8%Dt=Vn}MI z%u{+8M>Rmz+oOYGB!Qli4u=lMk5g;druTEyJYYlCus9MQmv8ENsYq`kCPpLOLtrA& zSRBb(Cl@)nkE2RJR+~2x00T#~6$9lQYB@-1ibB_e5UT;+}5rXwTcwgiUvtItmsr>DDEXDks5r>;$Rd>ZXslDCpf5na(?7__K(w_JRFCmLZ!PTk!KF?$7>rlf9E z@L3%kl?R!Y3?t<#=z?}K-7Fyw7DCvE7~Gsw$dlU0REVmV$~1X7F^3NCmR1NLgDN*i zu3Ygl(lnrj2C#P9#mKORC9jnNWs!@#@sJ-CSSuG;dN47(<>H7h>Wu|byjr$}TDFt{ zYS?Bi;HVZf-0+BP2}28DT#v(CHlHYkFe9dM3ZH%unXPc`_rf=I9%-+_mr}6O-h#Qr zP*x7Zl8dbtHK0aT$BYJ!T8OM*I7BkbzZA*Sw8A;9o@`DUw|GNgH2KSY8;4a{;mY@n z9&)qg!m{erLrXzVtmUXI7;$LqD9HR8A_&!^I}(D8Mr&5p zummWSoY^Rgk&}i@ijXx66~S|jLqqD4vuBbu9_>Z|pC`97r<@cGGjmKsm^y=4#DEA< zD!{j)Lq$YR z0nyT8p5PT`+x~8Q9KL4$ zG8)KeAfthd1~MARXdt73j0Q3q$Y>y=fs6(+8u<5VpxVGvy(RneAiul9UE!&$tFEkY zS92)S{sbOTXVRlg`xDhgory)6_9qC4Iuks(51IBOD2O@}Jl5Y^f&xJ7D>98b6FlPI zTe3eF7vO8=FQb8s1~MARXdt73j0Q3q$Y>y=fs6(+ z8pvoMqk(^;25Q*e68ZrBe*?~Rfc`&+GaaD+ug94V(En#irUUc;8Jy_={eN9GXpcWY z{~!JSf0xci3Ev3s2)`5V7OoUd7mgG{!YZLjs1ynW6Wj>+lkFAT!|)`)1-9dCFZkuSMtY2H-wmxIM%X)?NH0u%84c1=kBI_LM6f1A}!SbMf-fhxu3YSLQ#MpEloVzTAAO`Ec`qxyRgSt}y4Dji&ESADLb@J!rb#be?Ia zX~@)PT4wT?rkU*gfAU}OZ}5-vx9}J8yZ9Kto?ph-@l$!5@h9V-jjtLXHr`-7&$z=F zF&<)EY^*XC8cl{D3?CU@GCW|o)^L{LXv0RsD#IdpreLyx`s?-Qz!L@=^}YIo^|SQZdYb);eUp8hy_vm$-N{DSwQMsx zhn>vong3wkVV-7gXD((=VB*Yrrj@B-iWrmbd)*&(&+G2dU7LL_3mjOHW6`jge1T23D?&V?R#}e}WuO4tD;SL@~ek38^Ieoe#2{-UC@D`9Y(${A>aIXf+Go6?lAH_3HipJPaR3PZ-}$;lA%3Nx1Qbk*~_g(B+OK+;qdpS0vh$9I%+%WQY67u2a zA9f_+avMfIV<63Z=#PMet8Ezhw8Z(){ZLQ1&xVmt$jD7g9Z9&yhLMj;$Op{}97(vp zhLMj+$OnRzjwD=J!^lS^_ORH^Xc7r~U^h8jjb zAaUMWWpE_nY8pm9Bvt;VPnsP`xRr*H4@#Uj9{Y$R2{+O(^0yM_buYZ}Rf9;Yh;uGmN}fLY{JIxg!Zz&M@*GDf`YpUFb-{oimKQQ{vp| zgz*YD%`ozA3Ay978y!iwYle|`N!gFNO>iXPmKjFgAt8s?!N`V7W*B+9ls)blb|m3` z8AjeFaR!gQ#*u`H0wZsgkpAf~+$jlpvy}ZXW1(Zagu79~^*_77akPZHMasPX@#&7E zB-~9B?$Ck-jw2=9^-|s*df0Jkd5QI9$SABk^_i#vCIO?mCHY#l{iGHVL;| z;_Fzmz_C@rT`Tc*xU(EvB-~XJ-_kdF9K#asYKd?0U92M^;jWPQnm0~kI75?_;R ziX$fBE|d7?ANr_cvxK``;+yCA&M_q6E|T~vYc@He67Euoui~a>91#h3iNxnBEkMsL z;SRZ2;zPKwgu76}m41J#W0QpYjg+_KAAfLclyDbFxZ>kBJ3p6}M67GCS zUj8ZHIR+%$ITBx9=o?2+!ksJeWflF!AxgNjC7kKL%Nzj-cb1gbl>eQ>FX7H0IN{g3 zu5$P!+?gb=@ax5W4zGkeUBdlPf2iXy33rN=_xs1+cl1lR(ls>{u<~j+1cD&%MF1O2Qp0<$ZqAFOFUbw?o1`b^kvdJrZuGl=q$=mpZy7 zTvEbane&39OTrx^<-Po*Z|p0{qO)CMyX?mzdnZ91Epc7;O_zNIK^-M?HSDl=5Y&+} z*UW^youH18xeP1pZ3LB&xGsIS(7v3Y;u6=Tcl}^rMo?jyD|m^$m7pSIF%&KZ)KY@l zB%`K0WM4v16D3r4$0GY;f(j8?ws-#Wq`ifpf)eVDhYRe@1SLwS*M(*FCW7)ysHeU> z(Y}bF0ut)cgKw}m5|mFu-MR2u`@sa|l~A{SoNHf5P=`sV>%Zu=FCeIX3AKCcZu@+K zS}&olaz150h@ko;)RneV?ehrg5D9f*?;87Df;yDLOQ`L_ifQ%+f?6waU9hIqUQbY~ zCDeI8727=owMK=iBdApp>fGor_F97Kl~8B5Utxz`A=;btNT@TPT5g9uAwqS_sNt*Z zup>mME(vu;_D(zO2N7zyggUwJOgrob5o)E3YP`!1dqIR+CZUd7dY&D2f(X?rp?1d3 zvcoh1Uu{i5o)o78vaFZhy5QyHA|@2 zrEPZD{UKD7gxZ{ag&p>O2(?H;MeD2Vu=7KxMhO*ux!n%?K7=}0LT$YM5HhhTdAPLoX{l#|J?jh7X3AOIV7CUVA5NfW3 zT65JLJ8bn3s-6rhTW?O49X5IhRVi_`^iHtDHV>g1Bve!7ZFbn?AyhUQL$(EvK4^z6 z9zs<}TyrnqWrqzOLb)W9Ybb5D!}boLW=UM0{5^Kq+#yuCgqrni+zwkigqkU#X1*V{ z!^RGw$|Tg(&xY-=twX3863X%B=XTiCA=GrKUcwo>?69Rns8T(#dxU}w9YQ%tM(eLP zb=YA$hfpOls_p?hY~~PZs)YLI8_Vpll|!gv3H8g9C);5ohfqZl>g#7NvconGp$a9` zYfpFDVH1Z?1u|-+4?RDCQ27$-W#iX&*uWuFt`1k#dK34E9ky=>l|>q4-SMAm?XY=6 zs7VB6xgmK1dPo4FAjluS^S^sJXNQd&LRpC{%eD2-+hN;=PzDKg;d{k)*t8)OuR_6= z4WTS4)CAbD(LBu&4O%YDbLqfqq=m1M@0crm4gUT&!Uuv)*dsgzX8|`GIl~c__YG0& z3d?Dh7E8JHWbPgAS?)IO0>dGOCF~lum91tASp)MI3OJ+wJIj-%i-j{x@7f08WZ{16v$ntRJFIcjiN;4P_nVGp-e+F0))=1A z|B2noJZQbaT4s2_5DFKi_SgVtP@C2|>$sCa?7Z`UCno z=6q%ceHVQh_~stngSy>3YvwFNy5n>K(>RO7_YNkD70Gogn718EWa8nEZ>>BY{wYSv~4p^w+5|;=%yKNWCoeF=1cgW znfc6A<0Qjn{9BeU4CgY8ZMMyB{j1>w{nPsUAeO<2Nd1$TSvvB_9z6ah;$Q>RBM8|Z z4S2)NA#XT}pG~G7&VsOxY9xA$o_YwgdgGhKKx<@(JY7mXh*?!g%=+7GW{wU&h6wMR zUmOzgQ)Anx2XYv98XB|T?_kPw33$lgh2sLilSR~hN)=X<7y^LYM%|0#;)=;woc|st z)1*_LM~wHP-~#efi8$Zg#Z1e%3|PcnsBwe%k?>R{?nK3DkeK%lgbtu*<${rTiu?9l zraB#s`EL`LVjXE2{(h^CDZ-4T3vQXrcyy`fI^~w3_THS&G>k#QQf`{al&fgCoj0OZ zq(l+z)^psc_nNV@YWcF7X^>h1!}DGdLUdz*^A@PpyVU zKYD#U=06L`(W0^ZGp$Sk#$&ECkaiIlk#)LO*{7u``&49_&E65UhEG8~t-|3#PPQ=l z2#L!$36+SxVA6?bRG@Z{8A~nd1X%$}9BQ{5AVQ_~W0C&S z@HoRxWc)G#%iV#DU%_CeBtpT{qjEqOn8}Wr$jqWuD8#othpDFV3^JsN>vD7+;~9-d zIgWBbOkO`4RZ9GpBT@VvH45<^VTRDVQk<5X;{+P&^_Dk&1J&5j91MZ4yG|De+7;pq9unOa`(U zH$6ITNf4o7(MXF`BBF+B1 zj2I*RSlsBiBI^aF1VS|_u|)dR-{GO?Ls3tpVuq}n!px_~ixYAP4&sy+8)R(>vm9Eu z*LWankcO2QAghs>^td0ZkV;ebB*)?CMLA`=+SY?~qqQWNu^Z)2S(J?KLd{FX?pTSe zLmjW96WM{Jo)so0k0xFVsW&iVSvQO+mH%XF*lZ@qDRNsScZyD#nx!Wqd*f+ zV<|SHQ86@@6f;Z4umDvcjKx!#*0Bsh#nOU0QjVdJ9v`C_sX-kRqiH`naS^hxR1e{( z5XdSUQKyU@@8V!JDb+bB*Fq=LLhmiE#RAlT@nTubMYU~s6>1uM#LQTWLuFMAuya>h$P2u;%tSnLY=?5Btuf*` z%s@P0xDn7$BG{nb6O+;1Ih~F z12|l-RLlT9Y5@rpz~UA}- z+$QWc)N_MY{OVYBz>5=DT^&vQ_(a&Ox>8x&eC8B^9>l? zu5wc`_w_lfi`J>pg#9{PPi1Q{Ozp-^No`w)scR>)rF6<;#p14+#FnXWMAp@~4D4X4 z{McdYDy&fro@BTZ*A){|zU(k{MM{p!n;oVu$92W*LY`${aXbc8N{qS?cb9etCi}KA>NjIhW$!jdT~Nr*OP8+rw=wGc zB6fZ{Ipu1_sPo3Cy~@XpQRn8d?sNf2TQTY!Y`@xCW8;ibXX75yy0nmIGj$f0rX?U9 zY^Kf>*aBMdb~jUJV9hK3?q=$AZC7ljPD|^G&D5#buvH!|F7p&@6)G$#@MIgCj~a$O z-_6uXxP007-AtW`$5(21rRvhn)Co$LjP`#wQ^!lyP`q7Sja^bT6fCL6aabd=3!Cbi z&D612ziAYbX(t{+G6{9ZW@-l>LJE#BCNWaw`a;Z6>XFNIP(Dpo-jz)XFkm2Zj zm}*8-PzggvO@g^Z;{rp5BeP+0&>%7I5mwN+>=_RpZi5b2eB;3p{8jdj2e+Bo9GdvY zgIjSvIWp;%2{1RRcFcprIHx@23??u=HQ@}#aTT?8IvB%TsqP)zEWiYt@|FjO@OQ;u zHbp1G45js$O%a}*NF$%wG>BWA?lqgj4w&j-kCfW5m^S6Wav-Bpp0jBqZloL+G=xi6 zwjrhsxQ(*^Y#PXgK{GLYUsh z^{hJ%!QBEbne4LRBf*ZfrR;KgU*2`c8r%npf8D+s3rqK~+gD+gr{;dyM{euI`DMG@ z*4BfyrnN(bxf@GK*`q?}!c9*3+U}LurqtfHyA#`v920Yeh0UWSkK5fr`d#C5yW8>L z!d|z#4J%pYch6alt1{a2p0f;BCFOh1X(b~|<9*LrN=$H+|Ls{)!Y&!hYEtK>&Uij~?R-3*6wfND4#k74C0(HM(r4GGC;!RSsp)-k6&51Jd30lCjOVRS zuEe}jOvgEziGOm1YP`W@G1-O5ve!O&HqI)=YMe!u6ymw(&BUCt@19qVbvlOko;L$C z%Km#^8D0}K9(>MpJV?l>$MF_R@c>hK@j27*M3U~uPbtC6GSplXQE{phc8{`0K2{vX zVr+hCF1zH-+nu;S(}+^c#3I~DYLDJth}$Ro^!5VWqc|$!6s$cd7Gl1=v#NE)veQR#^3x_bvBZ z&ap%-%iumgWq!wekNHe<*u2DCX!?igCAhnPifNOn$~2Mxj=!Eii67)U_&E^e|6AkB z##@c28>7Y+W2xZ_!@Y(J41PniA)ot&yO-O-&EhQjkM$4eFM;!cR(%!wCHn$+&bwHV zoy|I!zcJS_$1@utrvGflqWensg6p*FudCbzkz>{HQ4m2`h;;h}q@-(Fg{Zg2D(N~RnF^gM{>jcXc@LkvtWPNDSO zb%kqHx#4O<%IPx~gc61eJ0KcGXGeWRAn#miYV87sB})hc%+iTyGz?cQhQs1w z2*exl4vIY@1o;Mo*ej8DF4h;U+)F*@PR#8Da!w8y8dRkv7K_Gk;w-j$Rsf~8megTD zOf-c<5FNWEvLyr&XHlT+v2eU|inXW%GRm#BxNeLbs%NMT_vX+b?bCo%N zF`#9W@rgl*p-WP}xJO^s0z^D&p&ld{YyjB;8Wg}tKJ&#(CX_W}Mrr22L}|iMeJ-N@ zYAW?L@@*lp^Y5d%?oJ zwD)7aYypt>HQ5(YAKDA%??ujseDy&Y0KW9-!}Y0V$$x$ttWV7uUEtbF-X=@yY#{#&7J#Bf`hr<|DQS+iVCG)P)2yCyARq85P?T*g zngJQ*RY3MFWXKn0Ir7VZK~@i}5%5j|lJbQHSIKlB7Q_37$O?%y4<4IjBk+kY@D!An z0#jKTVS?2GN0twuIYsjYScQ^l`;=FgUseK4@*E2yI&n<)-dI@unJ=ibl}z2IwAzU! z#rtHc5lWo-XY3GarqV%Q8NeT zH*y{`5D$26$zKS+;zGu88lPXElf?sB-m?vQhu|NdU(c2p0WIq!6mRswtOECNQ=j;J zPiejZnB=BvE9_y*I3Vs*Vfi(A`FfQUasok8K7U$X39G7yxD9#h^`}jSwD#0#kk*`1 z4QbWMOCYU0NrZIHiQ6G{otOpbtP^HKI`jCYke2P*0_pT!6Cs^;+yY2Tj$IFF(N4r) zxHBKp{2jHBPEM|XG%u(V!W1vSlPDC`AbcjY2vx#rVMMq^I7N6?m}SNFIsu5(&8@&9R!n*PoP z**4>;)|UlVu-hILzBHE_S`E|9*9fl|-{&4RUBy4hv#|HKq@^&kbR-SBO}z zH_y>`u@~C@X4_*k**>&>ZY(*MXN_#OQ9 z!r6R|aku3J^HF@8@oVlwZjb&6<{0K|{qy`M{Cs|f*HK4w@!b#;W4Ax@PT== zxz}(pJmqkZ;SFJp&<JpaRt$#A@($KW=7VfZI|BYOxtMR%62iT)2b9XVbo zwq9aA)9Qz}A0BM2vCe>42NSHUrvn!Ut}#7k-KaVN$6Gh~o(9K^(Bsrg^K30kQNF(mU zF~$8+5%+%J6AGrR={-_WP-Mc3I$?UicYlV0z;N0)aOy4|k)RJj^nM$``d zoS^QMwR{Kq5KDxq+fk#@CRa>Qx1rCZH0sur3Blv@b}%98W>j!=NQ_8|q;5i1;~()x zs2h<={9$-Npb5SIFf39xsQLguY$6>%D!(F7*P)Ikr71|r4X?_CdpjTwDm4U$CGdOl zwh_3uqbQ;Y-i8RL5Hac+R3C{8cFb|=YQ>7LLW9Y_AsUT~ozYl=x)Rl9L=1spN@RgcyL!DDVsmrY?=f6L3_6exi;IW9yAm$0I$+hm6!N zg?BOZUpE|##~XuiNQvcA$DtwzV&ITb$11(DQ>B0%=%Evstl-QGPQ|IDigXOR)QINa z?dT3JuJ_UCx@x-8k3v^C;S@750z(Y-&5?4(BZ`K#aWu;ZSg7nRJjgfNtZ; zzj6dsWs9g{>YpwGDxx2WAN5m&4_yKt^OpuM$}6e$FeF(0>p?#vO6NW6Rg8VA&xfi$ zuR~fPNBf5$v~-NWR>iVL^?9}G^D5QnUL=N$`W~bN+1R_$h5x-Cly|A5tVCvuM^k}&C8G#!trt|x|2Qj;qg+5 zWeI91IU8P#bgw=GZb>)4W>g2s{F;y^_Ih5s2tO7u&KYeZx=lX*DeJ+ik`|^L+X5AF zK6#=e{cQ9g70bLa?Q!n7_Sk^(O7@5!A5hz)2N5NEtWz=8sy^eV2P6U2Dtwjdvs?AK zQuTRG%J3>wXxBdNZnlaWKSCf?VCHz1SB|gROYbzCfr=$(W@Tt{k}|^_G#%Z02Rlri zh{5aJ)eO^6_W*-(#8slDPt|@c)_!$rzZPk~7HYp1XunR;e$Cf@ovi(ur~R6XhL`Fz zCnvoX*`wNx9~4kGbQ02_eBd%MO`yXJ?h|w&TE&rH#G!ZNfi8;B-jv)gV$K0n0a{B_ zn_s|qq>bQeQQQ>pj>Pp-go`OF+ONR*LNEaw&;#&1Z@e3R5`fF4Iya!e&Qkk5;X}%S z_6+S%ZVXnFUUV=p13f4TKOlI+(zR3AAq>TJtAI3Hvt#`dFyzkwLg3RBv`N!mH{$H* z{y!_cf*9+-zx^D3`F~}+-~J&o;EBRc;V5CNuvyq7h(f=xR_GSmg(X6xFi)rz<_P6N z3B(Y{5$u9l(A$2s{R6!CuWg^&KD51Kd)@Z3?OEFswufx@f>(T_?Hb!qne5&nu zThev}c*s#($W~@6w&mNhY=VuqG1h-t|8D(@^-Jp~)(@#bLTFMd9F<0o5>vu?MJSmQRotq;8HmA2)!7TZGbwX1C|>!8(Rbz5gyORYuLJnKZO z)oQR(mVa3OYWdRgC(C=5H!Lq(erI{i@_^+|%T1PRESEyW!ZR!^8Q+U5`p* zxpAs7-#E!=g?JLb8h$kV1#W+QYUb-69d`wHA$K-+3U@TOl{=0b;zFE{TgUZq?c8E+Ay?12A;LrnH-*dMAQXuH zANs%QztsOp|DOI0{mc5_=^x_^a1-TD{Z0C7^q1<-*Po$3QNKffgg&7k)Ccwb`ZfBM z`ephi{XzO#eTBYE@6_k%9eT5#W&g?kz<$eq#(v1Y&AtXVSe{}ZX76QhW3OkgWG`aR zVNZn{E!){`>}GZ&>t_#Td)W?l341Wxz*e!d*lBD5n+^APj4aLk1b1G(Vm^Tw7jH6q zm}i;CnFp9V;B6g@PDdR>|6YQxaSW~7PQOaPD+nA#??K=Q`eg*d^h*T1NWcpOJWs%L z1U!pCi2fY`&k*o50Z$R|Bmqwl@HhdF5%4Ghj}Y)M0S^)IAOXK6-~j^eC*VE;?j_(J z0`4Z@E&}c(;0^+AC*U>$ZYAIr0&XVYCIo`?jRf34!1V-NN5F0Zt|j0a0kBj8d3E+ODz0xlxpLIQq6zy$=HPr!KuoJ+tt1e{I4Sp=L(z!?ObPQYmd zoJznc1e{F3NeKAq6A3thfa3|+MZj?c9817X0(KCPB;XhX0`ztSeDJUq055$M0*BE@ zBG6ACfxvqDZ~{gM0FMeGw<6F-Zy{iqfCK??0%8apLT^T3Ee);`ty@h;35X!Dh8{#< z6&*&Pm)?XxH@y*oE;@w3a(V*+0|W#K5D5qn;3vRGfER&f^kD?_6R@6uJ^~<&7GhaP zz##;zC14E!s}X3WR}s)lKo0@k1auLwl7LPERuIrZKsy0#1S}_D83C;bETxwcu!Mlc z2rQvn2xumtiGW1}G!k$y0SgIOK)`$iTIhoam`A`|0vZUYC%{8M9Ralj)DTcjKotRQ z0xA($OwS>p0)b}QMZjzVW)U!xfN}z65Kud~Mej?x>1pJ7=LhA1X{6N6>1bj!p z-w>Ej{gr^f5bz%ad`rML1bmIaLDW|Sd`Z9;1bj}wX9&!rJ|*DK1bjlkp9uIEfw|O2 z1bj%q9|`z?fcFuoq~0UoT>{=A;B5l_K)_oByh*?t1iVhb?+JK~fL954g@8Q-yiCAL z1iVPV3j{n*z;gsVi$DYQI|80Tpn`gufTsv}l7J@&c$|R85ST?hO28uoJWRkt1UyK< zZwYvSfcpu!kAQm#xQBqd3Al@ZI|;ahfZGYUjeuJbD5q{A;AR4DBH%^>ZXn=#0+34PB-Ip2&Yk$mPSzO9K>lD zr<-uP5vL)XZougPPJ=iVaT>s>AE!Q?dU1LfPWy4X9;bacJrt+waC!(%*Wz>yPFLe} z6;69`+Jn<>oOa=KB~CkWx&oyo9XM@A>C`ryE=OtcGMu*JbSX}k;B+xgTToimjMFBZ zF2ZReP7lWELYywZ>3p0XgwuIAor}{3oYv#igVQ>k*5b4Vr`0&E!l@gll{lS)(+Zrr za5@{Ovv4{Sr{yRuoPpCalom|KDFhva&(m;Pg43xuEyk%6r$sm|#AyLer{FXnr;~A- zhtph~=HN6Nr&&0igwu&Qb>P&F(+M~gP?~SUsTHRdoSJcJ!YL1qyc@d)FY3RA&*k{@ z?d*~8xfp-GkU>07WcVU|35x$uO+ZQJFQb8s1~MARXdt73j0Q3q$Y>y=fs6(+8pvoM zqk)VD{;z5vy=fs6(+8c1mX`Tr)p zkrHZcAKPMRfdc7MmEO0NPSGblj8oDeL|P6(cf_cRzprT3UBc5`;*F` zPa003kTUrB!4Y`+c(6+hLez?ge=L-(31U_Dv^aYj7qzuG*Nu^>&uW@sH96sLENV+6 z5lW1-2Kt<>9X%~eTDqK_U9IhnU2C1oTh=-odwW*2c0dvBEge11jur5~x2ZISrHx%Ps%mS?aTkx1 z0UoSIkqQqW2YN(3Wn0L4tfunhREr^JwTn)|%NGLTw(gNZUo?!L?}VpOqmh2{F*1O( z)Eek-9gE2-8GdU=bITg%y8V&?LjfDvDDFPzjCI;V`^u9O&4!#NsASXFl|=E-#;%%W zA5}}`+-rppTVGm7lpi<2WXN&3=o29t222v^%})Pr)=m%UWYye|PEuR+eoP6{K$Qo& zI`_Y2Mj*;bGhAtYO4FGk-|2o=!7K=GoiPy0W(gl!C`{I+t34GGfx1&=4ML#LR}(2Uj3H1DbM^ z6OHOIp3Z{nOvZRRiPw(tbh0Yv0oS;EXRiT|@m+nXjey@9iHI@$bT%$a_1&l)(C(f5)CRi|zrh$NytfPuh}}HXopfLlB02aH!9THWWRr?Xc=f z%ib)`kTa)T9w>5!k-UDC$Oy7)F^oAjWF94xVqP*u+VjA0kTImfX_K2mU4>qA5QU+w zWhmc4>kT>O<@C<^*a~G~M7;JJr?o&WQDuKJL2WPxV0UtM(w@}ZUkQ7by-)pePNl8; zlNqMAog*wBiN}|wMk3yl6D_0<1ie-d>135A(n;J^wg4el7g zGNlSgK&O$hPOe?bTa+;WbEXL)$cDkzQe#v0MxZy4|Ig`nQ^H2uQ|5R04aNuHOXe@5 zfs6(+8pvqie~SioO_*TFa=DBruig?8w<3=lokZc?Qb>%af0tIERjn-2;jjdqrjo5&Yhbo> zye$XfZz7u(!jj5@He4EVVuN#W*NXO0rKWrt@NHLgq`s0`roN+^cUFv1JuS=P?urAi z?kEws`bQq=EIYK!381q=X(qHo-Ri`KR9@1)w5~+lohhEyjt)3FUIvH7qcnjy7k9(i zZi*WkGe$4XSJwya7-hAi<=-UtZg<7Z*=hBTD~4e;?X9x=Q%R`mcy$}yM_`~!;f#B1 zV{x{2W5+K!OEBcDEvJ*-wBr#7)8y?Rtq1H1rqGDXq1|I@iQ|b-_MKXGwEawBWEJ<# zUWdJ^@?(c=*y}qnKh5Jo^+@GI-vsRjQcE1u*Fm}di`&VRbfwBEheh@{{^$Gy**}sU zOLeOh2TWZZnUU1~z<&WbaG&?T;2TOCaOGzMxt0IM-w9xBXMXp}{O*NTLHGkj9PqiH z=6ATv?_Sy;8pz?bvJ|BM$n*ct?_MUf!_7SZ|G#CQpQ%Si0~rluG?39iMgtiQWHgY` zKt=-@4P-Qs(LhE6{}v6P-~YGMd6e*x@H=?x-vtoef1|Km@CexgWBbbXB*f`I6C(2; zVr#O&>k6!Ywmu7S_s_C!vmOR-z^k=7tp>{%mM1NjSYnngi`$ZA{>l8V`3du75am8% zUTt0g5$(;U?@Z4_^!iIpyG$Wd4@9VU@;~u=AQt_p@E*T|c)|FY@iF5i#zAAJu?(Wa zKWEqt@!tmx%M2BUT<#y-N8EGV&G0U}D7TcW;LQ3j^n3J|>$mGy>F4Poz>qIuRBQ>)veOa)0OC~^mp_-^b_=z z^iH~uZh+>G{wv(hQL|{C8-mv>xDs%SEM5_)NW_PXuU~YvrE3j6^=OW&26_Nq&fppf z`8SC%7y50kVq=PD+EEN990{;Y28$V$a?}CT9`h@>qA=-)STr0S9;#5XDGd3WII0vx4tf2XyaS?EqH`lh%}EhmsIRpg z*&(E6FavlM8Bi3lxf@U$c&!<)4dsv6}C5G_~uygo6kA`}NX$_-h%qr)*jy3XF| zjfi0ox~*Dnf3Zkd;P;au^czUL2k~iG3IfC~m%#gIhkdQkU=2CPPfBlsx4&x%K0<)^ zj>QLoQYDu;)k}sK+vfAL~mtf$CwnCvDs-^kk zafOz*j##AfBEJ-=>=2Hc4sf|p9 zsCubPla~{7=R4sKZwj$ zxb}PDn>vrQSK&)3SZQy;Tw*9Ihhfiwtrj()Mpnm+298>YtYA1qGRr@Z%hR;NIjx>- zP8zp(Lt!-e%Y7S%RaxQ6_lzELv*p6F>eNF^K~JpZs4N(9XzVD+{2C$%)uTHSf{jNa zt`M`UHCvd;asiX7R2vcno8>0Ok{LolmsOJP81wD4pd^JcYYxdD#=}rS=TvAnEeavm zrJnU*2~a3Gvr!f!Ck>etA!`;Yg6H7PYwD7-XOcA@?M48fC$}@FoD>Z+b4){+I)hlm zfCx{ifPuMuu(^OaK$E$QWX3PnR1>C5CwrVh>9vtSi$-$fGV@BwWJKoj4T-_9LYh2{ zOmjh)%Fwb8i9#zXA58E{iI4l0hr6${esI4?u|u+q5EL$!Toxen&M|ej%BehNO4pAss3rateqJ;ccE9 zG=zy$h%Ik~9#gop@=5QC5lsn>$;z(LC^sQHk63ox9}5j7;tD=Dm)I0MW!&7}QZX1% zC|NngI){dR;gDZJ7iN$0M^JYv^!zNTd9c%gO%60pO`IeXQ(IFdr*q;sTT_K&ih~$Z z5MI3NgA0FJ;aPT4VX`AuGUZJm_Ej+e51-^}t{c$-{fdP65GBvH}=;>-*)Z5eAu|!q6 zog>9mY*BLL=|K;WqaqQ5kruBQ84Sz9Cb6JYM2c(~1no#I$YnsM7&|m5=~SlZBuYx# z5@iYv3kJ#q6mKFC3;EE#N|uQH{|)s0l<=YOxNxt*;{9=v~uv)yt^%@TD+Dz%VhJf=8w(4Ghb^y&g_Ht*cF=@)2F5v zOgETLG;J^~1z-Ok{QLal{3ZP1{A#|AHyYnD-e)||xE0xWRCuA!Jx= zC^4|yXWZ|&TewrX2-n5U{uBL!@CLR``uX}v>{sj)@D8;B@bpd0Tg-jTSM(j+*ANE+V7z$5F6Lt+@*c(R_QN}ZMj z@32;uCcUXrVS8S#+|(raif&*_z%xuPeC(hwJts5GN`l|m1Wc*jl`L==dpU{tHtJcK zyF3XVg!RH>E zWm*!PNu-k|9hqa~Fj!LLN+VYZIpLEl(h1xau*%Ve(6QsyMVvs?~z?RImt z;+~Qf=SqUBxn$fNa*GxInMrUp8%ObL+OA>-?{hRW96G>mQ!*Zfd3F*!(Uwt?mx^A9 zi7}dedJ??ShEeRJ8B3Gkq$1;8D|%zyVi?}x4i9K5d{4@nn4SbL6$yk}Z}1-OKrcED zt4P_J!Z<4lzACazq+~L_Mk`q1E>D8{iY#+9x2yt%cWM&6S!9_h-m&Tlt}Uvke3Fu; zAw`-q3C=DuPMLAEtn4H>ysA^gsH}{fB>22&kGoYmEmSCzlHlMYUQDCtako!KFG}u9Y(hZYw&w)6TS77VuONi*}M#vlJx3 zQANkRgauqYd_1F+QkVn}6}4SOM{QRzfNzQz)DyJ2grX$)qv)hq&5$Mn98oO78{Z@b zS|dZ`6hbMZCq!ULDBJ}mPI3GN)o(JYzV1| ze`9<^R(Vkp+)kw_@|c1`w#gjMB>0}F9_m*i;}d#?Wo8om&?dwp`@(VDxw1zL=Cf_9 zEN@m4{8QxlkH?IvuW%P8!C^&;9K^?ziX|%y&LnuQsCpU(jSOcJ+*rgCKz>~?5+5yP zY7$&pK}VQEe37(j<7x$k?=E z@s>g@vos0b^JqT2n^5yjPl7Kk|4fiFJj|ylxGV|YH9D}@7A&o&YLPRN;Af9+xx}dv zTAT#0TbTzHC854iT0Aug&Nmw2+Jf;=RhXPf@V}7-Y4FqnR1hoKdy`^C0AY&9CEFJD71nk_~d9hfEU}VrWJ)= zm;_%OS-gs_DK|R_UODY+Z%}Ii9j#_~Tnk>_j;FO~o4e4@}K`KR;Cc#gajYrF- z5m%4|hn+M*7N@C5VG_J|(gcOB5m1~2A0G9Iyz5GtlTw+fN$}`V|EKY21m!2exknR} z%%rKulq5L#Xo6Cxn#@y@6d}W@nfybx>epqHZUPm8H$EGl5DE=<3KrpO;XT{W!i&OV z!fnEC9Yx=5IZk(jZW8$Xv*4Hghpo%>f7ZWBzplSme~E4lx0ySXDQ9vGr!$o9b3xcL>GPqmgSqMSlg5bYM#Cif8~rZ* z5Yxn8t?$y;vd^$r>CVt?HPmyz>K3u9+4;H>{&;o@^9y@4^Bx25S7ol?-etBk>)|c$ zr|C=e+3c_E=avDJT{ywC*4AwKyY*=68Me2L?^r8s4d#CHBK|`-ZMfF*ylJVhL0D&5 z!oOr)tLxFtH?A}tZ!w$ZmyjGwcTns+&0sAitS>f#}u*U7-w)3^gr8n8NRfQ z2=mQ92o<)FJcMW?tdkuRs8yo9DBA1;5@7*4?{!_P4W~)aLP`7TSZlhnPY-|BdD?jUx zOkj%$Gg;xOTXI>KPN$fI;#^QK+Sy`wQ?oKWqSTWD$qHbInn zp^$CR;Y_I+RPi64qJE#nmJ^vNa+G=sXOgRs?w3$6;fCWmPqT%j9>`Y+I={6 zzZGgl%Xb_O&tYBvkG=PfkJ{M&hNYFX(r8yJjIoWqtSiPgrkIZDU`%hJ1VTcB!3!9S zZCofJh21qFy%*BkO+v~|@4fdz%1saHy?1hRlRW3ljI`1g!|%S&^FGfX;e+RUrf7CF zO>@qiIRke`I~i%1&^m<6X~wQ_e7r-rEL*PR4{(;6roS|v4-aO^FQIiB|CS0D)2efP zL4}K;Ni`2li+S=ORzGYqvFqkh;e|qZd}7@=X2VwD{33Z`x&&B|R^hymT%DN0{vHbF zriit_g2K*xd355l@o%4SPJui&F*-g)wF+maD82JLC!7^;Ece$Na$AndS53-2uSnPYe{+}{yl zJFVY@K|~+ur1hH+!+s%_DVIV=cj#7Z5TZTgGDjFo81Wtp{TIFp#qz|&MxedKs=UX9 zS94)H66rkE;?{IJDhO4P9D~2ma%2yf8N`)1M&nvdM`Xjmbp_J2Th*5YuXtFQJTtK< z$<6(k@J6XTHC?)Rsb5d=Vs7b_@ER?myPvLa?FO@?h=Ht))^DJbBy4ZM_FNNa7qviP zL-Gh-0(+jae)(D9qh9hbn1G$LlNI@t@ODrh!Xp!fd%{~;av6`ar;(?GH|f-8=>;{= z(!{la*3hqktpl`LD+e`z6q-M)AYy!o z$)t0^xZ^zNj+;}FPP37!G}-s{Q^}TZyc(jfkhuS5n@J(X|zu!&~~*V z<4s7P9A7NgLSeenG#N+xa9aJ6v2;Ay+9L7d(fr5IS=)|{e{hD4_D>ati3u7cqad(Q zw8dYRl+2m}hE~(5KDD;UNdFn|th3|w8{vOOFnCw%H(ZyqSg-0gj5UE%3uLHsX_q&| z$Q0^DD$L3o4D=G-!}A6i2Z1VFTJ4T1i0&tHosNOVdguq%0LvQyUTeI;WRcgO&Th8W zMnAutD~eoKqZ0B7iG04!?MqYIdKne8PE%=Pl+%Q^4n~=AAFyn0&5J&PY8WJ}P*mTd zl+I#KEsNfCR!Y*XD9M7=s|Y1`X;c&k4iI*TUFcC1(e9U^76D&;sy$Ii+cP1O>r50t z&izG~rbK?=0wGVd^&>)o8w8(7wIX`a+T*$qL34m`oCtceS{_hGiL zyMZS`C*aD!ae>Cbp@CU}QGxz}UV+Sj*Z9$R&v;hzt3MmJ8W(yy)OXa!l?Sy0v})yT zqf@)dSZ&l8CE7{aT0{5m^}peN$bYr}Y=6xAq`%$2)IZhV-`_*MK|NR9rd;M1eLsMl z;R)YOzMZ}keCvHneA9i^zC6$>_(lI%e@&gF-w$UAuF=m|E7ffMB(1mdn|_2U>tTJa zcd0&1??wJ3?|Vmjd#J0GPVyXifZRYXC+B#7CEG~@nMEqq`J|WkQ{vNp*WTBj^j-rM z@b|yJYvAu1_`3%FFVz6$CEc6L7Q6VY@F|UDi?<}@9pMwoOgcAw<4=A}xlq^ss1^B) z@FA62wS#nqZ#!C1PYWMVflGWbnaqJdCA?1sF3D-ET%Ho%qdyQ&;oxWAWrcQZ7OZ%n7JA-qH-IGZdD2H_b$a5)~j#%vazrlP%gNt=bI zsJsMoxA$b5g(sEctybxnql;Ccl>@cLcNK_psWCcNN&E z7w(MbZS@bxWV3JweIZw;!(28Cw-?JbqQ_=0Qf$Qwx0L`xlr{-wvq`v>mff|hz7~RS zp+D>H9Z;SP!s%3o=8nLeHVCKDhQk=-mNp2dQjst9vjnHm6}{DI)^9EZS?&Ls)i&*b zj_rHl2FiugkoBA5blzaPAa%$cDCcAy%-cwpyzUciO;lDH@7#{Y>Ja`(WtGX1`2HQj zb!nv+lnIJI=3s_tuZ_oG&2|Xa(l&F1viz^13-EaG`VRIsOdTwV^CEJlh>V54-lDWT zTEbMaE}E0gd(ag0MqAXX^slGLC?}Z2D$yb83T+X#B__pcZ#kOw>bNA2vg2+}kNtM?Nu#N>-BU{a zSS~JBjU`Sc&0{67H0?wD**H(9uS*KjdgQ=XSu&fauT34UWzyzLF9@Q%-u{WU3Sbkb zE4fICJQd=T&MP{_Qd1}+o}329$Gqiq?s83O*ixH>o7p_=_)gN{bTylL9l>lo?V`g! zLF7Pd(kYl3G%qO#WHoY7NM=>(uyM-tXb-g{EG`Kw6l`t^nJgWK)`7gaE@4=F++!sS z>snGq#YarokSz}sQt;1o5GM;@>6~tffnX}S${o-uT<8wiAe>AGw*APgg|xR?{`KuH zZ{7e}M{bc0Y_YNc)+|@j**zZ8DqN5dvOze>kqthzzRghzDzKuvI`*=N_Jb?vptr-= zul<9zkuBjxxfb*E8&0RBL@~ea=?!w3p9QVc?5}M!L*_T;yJo=LZ9Zn+X8zN&R^95~ zqc(evGUobE_SgC=j1#Z_islon-)=LEe_saAs0TKP};18Ii*xYSp^Qr@Aws9fjm>kYyAfS>%2 z>KB-&>Td_u8?AAE!Owze_(#+9N%yK4=Uzdg;%Zt>!BKF1^m!DZVQ{ zEuAAp#aqRTJ+nO{JokF8BC^lxZ}DvR)a$qFSNdiK-qIEZp4Msti^=G~UD{Xrx8m`E zDcZZL==~;eg|;hjo;lsW%p4s!(f^k=!2gpzKd?4}6 zrLj`6)Qsh8XVV|5H7WIaA-^jmtd{Yq&S@m z7h~%)FU{#9=;MBC62(%nIIHMyT5lHrDp;?Nxt*U}w^lUG{k-I^W9di;=O)L|cENmi z_L4>?v33C~)!5bq;z6iZXnB(m~(oed_ZCWLSzwse9Xgm3~5Pp$Y>Fw zE>9Xkf5zQcv1X37D%>4KAKPJ#V?Jgv{W0vPt=)Du>b7J3S#ye`+B<3GaODPPg~zb- zTMy8xj?!*s=|Rw+kEq8AhP_J8m4>l;PCSb9c8)Y8S*Kxb+fljFh~#k0`N-~4g-fYn zZQBt&r2eiTOt;l11uY$>!~IgoR^r+Ms*9mbTt2Z`>mf{}GtwrYMzn9SDm$)kZ?)w| zI2i3QZ-u^t#c}tt)__#x&}rC!v$3tw(4w6t)Z0p6&EPxG#YHwj$Yfx>)&q`7f$tN_oD6x>T4ga=cv&6fwI(dqOR4kND%BU5NA97;YB3LUx%%S@@n z+JGMbYq>+PCE|Jt2ltZ3rqxndik+w?K}X@B5^3hXG!&NT^Mz@)oM18dMkOwe56qSZ zId-%yt%606Hek)vn-}Iu)d@YxO1J=@$4QXLWp3b2y>C#1*O{5&Ai7-q5Rv7MJ)@I^QCue zDu~D9tTzGM%ZiFO4n~bHlxn-wHW-IJF`cf#SR4to1nzkSa~^~9r5zWa+DH3$34`1+ zkWmnnZwmooK+}7!t>IdY6KqNigOUC(gbZgl8WHb0!!;?3_LE_>k{y}_LmkuY5M!w@ zgHEc0fttX2=pbXKFf5&nrwSr_GH!REagAVDgJJ;AUd#i-xj)V~mL@?zEEUrusD!6; z`GnjT(^xtL6m)=meSreVv&<<&$`9Oyp8#e{AryF8AjrJ; z!rEba0zq@Mum!#-d4L!1WpG z0RhRMq09`a%&isB9ZSV@0y1!Fj%x&T!#Z~81DLMQ7AgZQvWttl08_hC1?X#O0;p1^ zr3jFntOtO7nW_O`(2>#{~d53!u-yB z54iq^%v;T?%yZ4-&8=pmx!9a&js%&2C-6()lfbKB6X4#!t$|&Ea{|W%+Cc|kdSFN( zUwt>A89%CHjJJ)))kVe)#(7{RV3{%A2>Jix|JeU8|DFEJ{3rUi`qyfi{$(IT80zok zSA5_3-q!9^i+s=c?)P2eJI5FEHTvp&lYN7HCB7_uul}L_y8e`YpSDfE5-bOv4cz=X zZHa!QzE*A457wsXQ}n^=6MCL5kx$99>MnJMcB$$mca!VMCFE>!qBfQsK~|8dq+C0h z1hs+0ul=cgqP?K*MPB>we}C7&-!<@e4g6gLf7bxk05aI_-Fb_Z{uHCwk~UHM;uDlb zIOVX`GasX5!LF3(jq!` zimV6r;A^>e#jU89QGSy~lj0>50$E}T;Tc`ZVM-Lj(iEsUl&YXg0y%;(ds~4*i;j8@<+ce%hRup~D>(a;pkWGm{5@$Y9gclE|HFqsGts{))dkwBV zGsOLCpLlYGf=3Iz|&%0X_x-EHs@>%zC{Wd7OwOYxf`r3SD3IZAsN>3(bz?8 z@fLEwE+!0HiuDC(J!)-4co1945k_0;0a~!6{r;)g15(M$=npye`m<=l?zWuj?V`sy_)`*Bar60izapKG-A>;+mASNxn&#J6`azYd5HldaHuD8&^Y8B z;yxT{TwH@4peqq9&5fCRp6isD#iuK5g06&V$fr}826oS6HXi4kB!Me_Uo0WgX5lKg z_d>V#E@Mbl=wAi;kU$}Lt2-=O`!C(LWi z?QlwdyjdLh1Ni+X0w)JH1QrHH1OmqA#?!{-M$|aS7+@&=J^s7=XZoA{GyJ7~!S|N$ zcHe2hy-)S!>%ZyG>sRY1>g)8udM5daTuqKA>&YB45Ul)vtG%Gzpq-*MYqeUb`h|Lj zx>H@LPF927|9J24ZuC}q{mO^R-O7bv5n#G9SpHIe7EaC|BZuXFa(C%RX_vG^S_?M) z`$>M!SDt4**LzO(GQ2Sv0*7GCZ%bV|7E5lP(mcjL^z1@{!0OI0qsQ z9LVyS2I9QM;T1UZvCNVJ3WaY;bsao1Vg!3+dJ~wAgSj50@0gf9mNKwV_?qM|r-c#e zTepVWnj68?I0I5BycQ}y4B|_{ur}68T}OL!OKW&l!)7oz>!2a!gSq*KI&x~EZ{EfM z;_uJNU*?EU`lY){^AG7N{-)CWgS(2qrli+Wh|dLU-n67`ZD0elj=J#cR}IfU$ni9& zHni5QZ0CUSW%)}S@kymSBb2|mtN7zWp#!aWQIr#(-x>-n>LPk`NpK-V)3U?UAgP5G zWG*S3Kcrv*M25i3nn<%o>+IM@3`yZMefoSzFm)u=)s-ct>M+3K-&Tg6q>4 zhQY`;bcik^N#PVFbU+v79F^H~9z^HlKu3e3)V8)Zw^FCD$QUsfVulT4Wmp|)5qT8ynz+78=S<6-Eks83l9TLF?^Sz*+>$YauDohlXZ5iUjMPmEpEF4y1%grL!Qq zq$K{sbzqhcb~*6(I7y0iDKs;EF2$-;I|HI?YFI8!&CM+f!mVK6IJ~&I6-+A6Zm6$s z3~z!PG`ff)MTeMK(;=HoxE%uPr=u+l{~_2ndKv^*SF>QS#WPMFN{S9N zv!9gRRHDfP(@OGMW@k?N&CKCgd{* zjpP%CgDwz$$OzRy!qk%=M3d>0AbRRlmd|1|jX1jj24Bdr-QyZ8G-Uv5Uz@`DqC0%%d@F}U802xf2$TFDL+|GV}ei%l;N@}y6 zWsyFnK=?2tG`@@X{g9N6gXn!t_65TG8KJRVl=R$ZqDo(B4kWS`4)BTTXbmrDtZQ52AW5i?UX~5X z_T9`SSru83aDVz&v0m0=zw*pg3o;?0H7wvlq&5_QT1Y}>ZfSQ&u&+z$jWhNxDDxx)9*9bf8YZh#2TIr-oh~x$XkkA^cu-NEW39D6f zNpN9l&`29O$s6=LB3*M}aH4mF43zODuSli*0X zM1x?fP8!-Ku7FtuOnk>F5*$$)R3VY|s_p`hkjuOfxz7p<4$TcJj$D|w0dq;PcW#O7 zC`Wj616);xl^&-^uviaDjvU z&FsLhf#(C41MlAus0Pdb#Q4s5&bZz<*JwA!`+xJl=fA^$jDH>6_BYhu4bJMn?z`7_ zIGobY*8c?F|7QJky-hzD?)VeQhvYGG4LN}{l6hpH_8;vH?QZQK+KJjmxaTiV6VwmX zN7akf?dmdhpsIME^6vB=?w#iy?hPn=mA94ql}nUkl?`ympDBMT-z6UhR{uxHKIwDm z0qH_%tF#RESbq1sF zmL52lmFrlnll@2&OsYyr{|NFm`}=#v1nhD{`pisNaKgJSnm-HvS7ikYBFMN{6OC0) z3rSV?+`I_#Fs!Q+Sm!l?xpn4}>OfY+$)mvc7C*VwUVUT)nUoPD@a^y+RvRwXDrF!U zkdq%l7KW9G$o0+h=`UJH24n{#$huf#&sCrS0e?XR`4#Jhtj8=Q0}M47L6*gOz7gB0 ziMeEekBo>Q7h=seIK{PxC$%4azYOFYu%9)~=im`4^jG=gNNqp982@wG!pWpAlR z1X+;GOhU`e#!+Rj?5qfK9@ZzSwY?Gklgiv-!3c63Ru{tMZn&Mf5L*(AAj4tBve#xV z#2UE~CunGs|+GBQ|Pb5nB@saS4;wQmTus;Rjp+{6cjgCrG) zs5ud2A*|_h<(9f8{38_y=axl~d$2m>%0}2+t-(7N;j#q>O)3r|!3Z)ER@q&Hvtpq+ zAcEXN|Nd+eaNT3Pm%k5o+0E{!0QVO1y33%Cc6ZPA}Vl2lCX zo)bYn!>UgF65$`Im>?HN;*156SFUMpZVS(AZiPm)C{i(vFus>vVDN%q11o z6~PE{6scneP0WcPD`EX~yd|rALn6pO*xegHTl2#kI$%gL(GvY)xk5-qA8$#-$xy^s zFmZ}h6!*xCAV=ZueLBgCAPZrSfsUrujwaGK=*^5E*WgOs*GGCqkWHZP1yTvuf~ZV5 zQz?ufgFt5-h{l5lxTLa>lnJMMt0KrA^zRR2fG1)6-IV4=`0`;=rym|UP0x=Yt3a1i z@JNDyqD(k8kQ+f3fv&_L0hOFmr%X5|*eilOfmPzx@LHJMmi=SFa?Z_R2{VVXLmYz=%waG`H~L||vUseMvMLt{N{f&?!q zTcKt}kOQ!b7_NuTP0H$W$479{KXxpe9qEJ9n%mkz)`^>XtsV5E1fv-8PZ3VamZ$|0 zaEfJ5p^ESHX&smYn`Zif~dkQ_YPa-(c0m>Q<1J zP=}OF4dz6UT}T?&Wi^>#O&nsZ?%?ib<4TGm$S)MYb;|h7=)ff)+&LSz36P3H4no=- zMg?<@cKonCmz9l>bB}@utF+E`8|EK)Bt+4Hh~M&rftTnfWkZy*Bj5pR!iJ5H_ARhD zpgfa}+Zmr2;}j_??2)+%61nEQGM$7rLZCG?5@w(Bg3_W6h_>2pQ)>g)~TPMz&&h~^7{iM7{ zNeiU6UfPOpX^2y#yn9||GbD1obh%0@njnxb$&`jB*e1X`p~J9ra(PJUut3>*NNS1f zr#rScoOGc$B_q@b2~%%%Ks4#K4x+7@7%oCv4Wod%q)_aqj$I3}qenA={({BxV3CTu zP<+;8I}d4s3&m1W*#M7MRItZq^Se3OQ*K|OSV#t~fy9=ezn1N3;xRy$J}ID3%p;Yn z9r-U>-Po{d%M8Ay;`YIgb{^aR|57ktF?X3KnzPI*kO2G#bp7uQoET^c%m`Ekbg=LD zrm@R7##m!i8-@OF{LlKY_iyqa>hI^*eP8)*@tx;eXISXC-j{B_2imTHGa` zA}$k0i-z!J8pgjMiadZdC0l%!g`_rLuZ-gA-&)9AF1sn6-06U zpFY1_eP9&V`qsS0a=_zLH9)QoC;CZkPboW!Y(Q2PTlQjF{Hx8(nG{7nVB$o^Heg_a z31xl+DSb?BMs`*d*#&Ema~^&QQG-!r6s%7|BiauRGnY(JwO|xk1uNFY#ZK-CwSX)` z+FF>L1+{?8!hYAn_n2ztqBHGdmbX*1~!pw&Gzfne6kAjUpdm zNo#d;u5$XTSV zvq{~d&XCL4?>d{50dA`5cB0j$n|$pllijj&u=4XfGJt##{RDct~L zsc{P*ocm5ONrOItj7!Q|m97R)U|58=hAbMfSzY6(qNFS1k^Q*VzOa zH#DO(iVTV+|DXq8StZ`pOCm!aKaaEZkqR6mVa#~i`OoP21e-U0c zRTvr9Pb!TfGqbPXFAoNzPKL(aUgbSP5#(sBRd+)h72b0oIm{S ziTrhV9lL*YR^5tlBl|&o7e^o&moJq@kj>dw`GX||5#(~x4zh7UeP9IH9jkrW$^(DU zxe|%{$+$czJA$lD;vgHBlhZeX?2Gk*bDOVs`^IH}1RmKKt8QH5WIRj`5#(pmmU}!* z4iRK&+~vmJ;VgIDPsYRK5MdmSdj&NfCWi=eI9*K+syV|W$mI+h#=koB{s63lxbkwUL;PbE z*iJ#NC*?bg!Nx$QC+$0o!Nx$wXTRTJ3^oSxI*IQv#+x%Vf_%-8A&xJL`xWdJNBphE zz_%uXyiLkC7>#eR3S!f~!DxJgFr?V;HyDj?P!CTezQJg3PQS=Xh}ggN(r7IC3P_%^ zxjG5`pjVy#1tNg3NAc?0A zshS~;jVypTi*-n|qnjp}R87-!Bl8`3JL{&#TM;<`;;fA+dKFQ7cqQc{T^>?3C=V{0 zcBSoTsfX!d73@jXH#a#vq-r3n?*!o`PqASBXntb8VLod;>|Fjtrh z%vy7dS!Q;JGXb9kUJg7RcqnjZ;D*3ufwKa~29ER`?rHU`^{nvB@C=4~0S*q#3)BP# z1aboc=ncGQ>^2@WZZt0Od|{krY&SZLu(8OfHHI0bMi!hS_}TxlG(#FC^_B7@-ScnH zBc5A4r+cEF`JPdpV*gwI-Tnta(r_VI4>-!d)_;J1B%C+s?)%yIh3{S8E4~MP*TEeD zoxT>|LB5H;-ab|TRsU3fO@BhaL%&KtN8h1u(pT$?^{M&@y-d&1Rq`uHBwmx2f>h#e zIGJz;Ig+d+3&~j0A5>Zb+F#mF+UMFH?Pcvr?LO^h?JDg8?KJHeZL8Lzg|(&HTy3&8 zSS!;)nyLP-eyY9h?%64U=vPkJq?=Jkz^Rm1LWE}UvNr$uK?eZp&bSwgUiUZ}KEO;)H zzLH*-9+Iw+c7oJnt!I_z5U87Jo^hU`p1z(!PqxSJ@rZlHZ{YmHo8oTq6G0$S7PZSI zeTx*fyY!7sonyzIZc{-k)^oK@U1i03HWCR>j4-X^T99(7OH>fP)U~S%62j;4@R%F@%S)6h4-k0#$oeBP%68zUD_%BcJ(~~vvdh(u)@$n_S_jEjs=UyKPd#MSs6d!Qm zYiiESVfaaGp|3@i6y~w}Pf)fi(u1(9dYr*`;IFy4aA-jIwkI`=Y{C@#Hmp zhf}x$3(S(cH6?_Hd{Qot5pJMO22y-b1^{NbO?)&l;5s~bYwg7eJ84xx`uX9y`t@P) z$prr`c;YN^7eF`%&sZgf9%*GvE9X}1$CyOCA!Vmf4ow*>9hoxN^IDm7fM?%4yqJpz z3%f`suE(=p&_!WS8g?C&cj6Xk6g=m>(y2-?KfE%Gdhu{MPMh*T*U{&787=;X$Dm!A zQ#}RY7Cdc=ZA|qSP=iBhU^T#lCO3e}I*dKf1+)`eDQl2*Rko%GYfcfiE=5>va+v&f za+uVSB5Zkzuz4xMCZz})nj)+yMOaRXuVsO=|=eQK5i4=W+O;Z7%T`Jn6r(5tI*!mE0S9}5IAsS0ZpVTwK-vb8;i*JUV;BYHTHY|1U5IUuUSbZJ0 zHz`fVd5u2LEUB``i&KUc;uPvgD-FlDpaD_|Ym&ICjc^T}L2b#BcTj@A%J$<)tTyHK z1pmtk{yP%3f}eh)>Bo@%p648Qyl0!+FJ747KQ_TXFTp=I!9U0LQ^}gB zC-@2V+d4GDWoQUC&B|POxvR)$>71IR93xzWXXUWc*ykz2KBfH|6}^Nvd9Z%K6vgyYeO1|^Te)^;q- zHYNBsB>2}Q_`?Z)u;}T^@4y5YPLCABCFYb9jc|d4l+` z!~kl;k)7XNil&C^T3hS3%w46t;_yg)93FACCS`hH-%=dN31N>#JYf+xVrB)Z7>P!3l1=Qn|Wq8(+heBKY)y3Pv8}hGCUZ#J#ZaJ8Fs=+gwDX>po_37a7bW& zU|L{YU}&H(oJ`0L_yZneuknrX5$GrEHXb+bHEsqyg^P?cjpL1N#zv#jSYa$N<`|QW zQAU-~$LM8rH#GmB{-69`z&VCjL66~K|D7Jm6ZDjMhIqzH?@HH7m%^<8CrPXQ7yFO) zALgI!AMLO3=YYM!pMCH69`oJkJ0BztYkafdPQoG|(ZAQ<&>zzOsh_29)enJF5509C z`H{Rz?jo0xPb|pv?Hfw9OL$o>C1dt{4*0MEC{kQs+x<}ou zKCIrVUa4NFo~fRoM%5PeP<56%O3qYE)GSp6xxxpaC2_C!TJNPGS=jE~FMyS_tbe7d8XSU18)R8pk=`Y2tQbqHx?Hwc#m<=I~?@!AV<22ZDfe$$P04X=b!~- z`Byc05927{?7a%CQ%s&a8_y7XE~AO*(RlHUI4zuu6XGfwzA#P>h?D*}3Clk#t%Tze z9)ly%hlfRKt!fnp)x%y}Yr~4Ly4dBL>+(%?`O00se4Gv#FK?UVR(-A{#O0Ihx_r$U z?tR7Od)!X-s7*a=QxDkG{jR6(aQSX@`L3~_x!M(enag*+%Xb#8CSiKA8A9)ARxZ-_ zHub+vyu^f5o>iDLimN>JHdSX+{cWm;O?9^^)24hjMQlp3DcTD3H$)7Z48JD6WK)A| zs;^BI+f<%SW!Y3WixPgbsh@1h9zOyVz~Qe6pWCq?+0?s8q2jf0txa8QQ!%=1a@`T_ z-A>z!AD0mxK`TS`U0H;fzt0r?Ts>f;%h%%at#$e8UA{wHzC|wI9GB1I^eMl&d_TB+ zU($LCuWuGxarxl1vr?ZJFb;<$^jvP2=b6a4Ivc9(AhvUBxy zTc$VFbl`C)ur&Z5cJZC0VM5t3$iyBv;=7mz9*u|WNqkED7p@{8jknw)N|AtkJV)^m z@eNiW*y2Ok%u1JUh09mx^htCQ!j4C|Tg@5gxyj|D(}tDO1ICB2I@oiblU%+fE+3si z?UXZJaWkAg@gtY-LznNxwD)_^29YxN5${DQCM`vx^*bpS`7?JEGF_6MCR|D#?s-2= z_`7Ms?b~VM`rve3eu6P}?764Aj(!kj$*G?9e3D#3yj?(Ci*up-3C}ZjT2RZI(hzQ}r$4S7ktVz? zO?YFP@WaxCQ#P5F#rj?4$dnhKu(~*`i?~HN!C+R5%i^<_r-MygRxrzFVXDAsRvB3a zSXZ>Z)};w=V6&f1P3c%6pVe9cfduY-)y0O|_{hHU;V;Y#HDkYg40as@kT8 z+f=qqW!e;7h+zA9=|Y53h8?Thl)WTTUc@l0DCItzy2qw2v#Fgnb*4?7YE#D`g}(;( zoLkg1D^~u*reapC++tJBHboa+n2T)Jm2B6QOzR3uD%aXi)Yug04zd!+c1_B5P0FA> z!DH>3ltT+Ej^671>mQP37BEFPpNLd2+5D zmSah|PT23CZ1w|t|8E9v11tYw*vl^ss9^o? z8RH6LhfxQdbin_W|6cz^{>@+kpr7CH{Q`UOPx>we8vwI?gMD88EBzIHmwvq73Ksec zbq`npcoHn~A4Qgv2_#SZNV^_5;5nKX?EgKgo~N!*r-T0g@7{O70^qUUwch#Oe#%d9 z_WxvMg)&*`A^##jE}sp1;=|zrx?iLhzy{z}X}L655;G58P}kSenqVsJxEO=uoh}av*OivWP|Md+wgU}sI^#}mUg;o7cv>(R zL#5x8nmpktQdSJLcP$lrevT$QR?mu|-fm*}FugQ}+PVq9ipw?rt4NaY0I7crb#yJ= z7}P%xud3^4YzOU_4ovIxl5ig>7(>H57Fy_?RWt=s0NjP5{7(<<1OVEXuo!Ek+r4pLSW|n)Y<1vtTFWbi`?~dxp+0aCnn{9W@g0{qMOK0Z*W#G1 z5)8@KG^}3J2!HK10g0|E?ioX!V0u;z65&1|{z25`YX2B2|6088nyuayZKzdXW-rw|-^a3*HXZf%i8z6_mkILDrbT#v`Y0zw_DQv~M z3bYJ#OQNVQY&8W44B=$Q!e-R!01-ffmn`$cp#-Km%rsi9HTW_WY8y3&t=gVK4_GtV zVZ-5YKBT!RMG#p^)Uqh*6kBIpotMBlX>t&@3+fhkSs9DRb<2&SKCz{_NKbE2hb$&) zZ4_0CE!&t~sIGJoMV2T~X4EjY%Iq|N?4-$o2J~FiHnw^$b~rclk{m)7VSh&rWam?H z_L^2X{+J z+06cMItKNT)9U@s?5meXQUBQb@-fAIIAgnVor5GZE2N%LR7Xz!&de;z=@muQ<6w~W zOl}vQ!^|QW2B>>%mC!XvW@=CisCVqF1!`5l6~{cI$c!1?Dx#=sY|U}7>WN>@=kkyl z6MAJunffuCefSD##srujQ2*E}hif>_7%NpoQSW$veqrRqtSD+CC(J-IMvlyhqVBPE z__+;kY{x$`V?d9JC~6+>Pwsu8rcvuSxu$1Suq6jhQFf_FkN zY8od5pWL%o6qSr=6F?@et}tEbguZ}!#a3U4FDc>_nZ7kx5}muxRENXyraAjeH3-g@ z&9(}Zc(!bM8BEc$Aa*~eXb?pdL}xEh+E&i#DQ)C(*eVj_OV1vR{^V51m9#b57umWM9ic@47 z9wx1IK}|wP8&NEVr$aImO$(zN33gTPVE8JIuT;iR_oLZIN~<}Qdo;@ zUWqVOr#ZzlwHutE8}IlQ@up3S4VmO^givq1a1MC?=4k6SDsL=P@>8drC9z`ep9|*j>-$=a_L*?Vd)rY zg)~ko_Wb0z7k0A4o}uEm;JN7or zx48+6z)t-+X-GO$8W6)}IyNOH1*RJ8!?m{0T}5+G@WKOCeF|f^KJTK;1NBKUT%3;| z&+=SpX`P~lGN+<(+6efa0Z=ep$?tc;Dtix(;o{z^skSxE9gX#q8`_Z3#rIDNfL|$7 z3Szj#4}}PQeM@u9LLnLm42$9Ne#j6FQ>a#qV+$fhkPtHmRK{@Oj}|!Sb5azP1)pthqTPe_Lzjm@Vr6&?nE+%)=&QRf zQm4|I6ji1PF{OJ&3^|0dGG1p+{Xpvx`n(V+EU%0q7qDOT8!61Kjv*)TU%Y!H1Z{)- zK#I1B^n$j*Re!wR(UcMFs?MiICV>zl!Hl99uJPk(Ksw`YzepamAFlAbN|OuihpYVm z<{h%L3u6`!z}nAhI)+4uWW!KECIIg(!6eulP&QlCiZyxSq~ublt#cA>xN$ zLB8X^`4wLvD~6m28gu1u1@9q5e55FbTu8i@lY2KY`p1wRsjOtrPKN_04(-|muMkly z%3{coSZ_opv0A3%@1!ARud*02C05GGj#hEfkkaTKL%sx;zfgX;0j#HicrZK{w7x8g z2-{SnIEH)*S`)xzaJXRZD(vDm0g0rZSux~V=!sUsh5^?0(L+KpWLxO9K0MqxJdQR7 z#gK2IH!xW7ww?fP%F}`53OUj!h#?n)^((?NRL>qWwTZ2e0y!9KT?b!G5O}X`vye1~ zl-w9{FP6k*1!~1ohcxCYp&0TmmfRr0lvg7Tc_*)8DY02d8nYk;@+#Kv!!C5VwF#zW zj-)YD%8N0+gdJv|A6{L%xrMonYH>--$(P_EDQILkeHEujLzS5mL%zgfneF4g4OMa| zhCE4{7ibtbArwPyByD_QX$<)hYk7{p3iXSp#T+DQ7ziam&Lp`61Ldk1awWK`K+D5P zXW)_oNW*|o3|W6QV6dGbX~-bGV#tD| zDRj5MpcwKUtg0>Js*dA^DXQAkLowt;(iO@-EfgEpReZ04*ieYK`Zx9pEVPBB!5=7z z4S^IEYmG6lTdl zg;W+l>Jlcbs!@w#6%cFnapWVKJ6c!b9wH;is=*`5V&#y=;)x;3{w6zVvZ}0CFjnUH zEthCuRd1;v)(2v(Hng}W3(2Y?SP7Imeu>$6X610wWL2S57VGUu=`4qnCadzLqF4!} z?CK4BNqu9*kj4_#x$hQr`&Rj2^Q{OH(`x6Ux+ED~SU3^ty%3V6toQKIu&Y!6u@+|z zWp-}aCU{A>rJ^*J59zHw0ST-fLI+90O$8;fkX1PNbjD?Iaf*b)y|ZGyAeA)=c%KZf z=mF>d#S4@%g894ov-z$0x%r{_j`^DTqWO&Z7}x^1%e=+>r+Jlmsd>J6mU)VKoEbBZ zG&g}|fOTfrJj^@@>;ud;rwv1Iq%7 z0|x|V25JN2;r@alf&RvNV}vots05n>1xBusX&8oT2ym0Z5B@LxANk*ba{w>+pY%WE zzuSL{|2qE_pxbbc|5X2R{-}SezumvyzY5L)Eb$*;tOosugTa2mTw}UXV~q8W@elJ4 z@R#`u{ki_`exG0V{Q=q#-}*lDz3+R|_pJi%aJC0H>C`LcbY{%`$9(4_cS-vjmxcI!{+4}(nQ zRyb#HC0JM7shvnG52?i6E^R zLi&+Xl239-H$sR<`yDJKe64+=y{o;hy{J8{J)+&K-3A&RS811M=W3^GCup78k#N65 zv$jU71B(d@v{`W1<2Y@ER;5*F#adA7p&6k2@t3++{T?(xJ_PyCztrc|C)5YkyVRS( zn!-Qe{KMJmDeAFmL_HkrLpG{mI0vy2kb2LR5MgvmEh*cpS|CB zKlQ%neZ%{b_Zjb_-ut|_dvEaWf>RRb!8wT&;iSY-a8{xPPD`wS^AZc;#KaUhGcgiQ zP4tCx6TRT%M8KzM1m|K-RgMFB)K;Zk zS+A^84pWxE>6jTxjWR|VrVLQZltLv}=?-UPWcd%!S@~A}Onx8aRxiU1mXCq->JIrv z`D*zx`F#0I`6Rf}@@RRpyg^kFZUAh2zU!N%R~ozQo`~gd@e>2wTM$5E{kj89c|} zSq9HAc$&de2o2(s44z={ID^L+Jj&n^1`jiMh{1yl9$;`kgZmiV%itaccQd$)!JQ25 zU~oHw+Zf!+;1&iqGq{PtjSOyJa6N;6GPn+5m3S?KYZzS3U>Ad{7+lHV3I_jRa5;m^ z5W?c63@%}CF@uX3T*%-82In(4kHNVNb}~4J!PyMXVsIvdGZ>uC;4}uOGB}07$qY_n za3X^f7#xpKFCLAsQap~qu?%)FIEKM?2AvFI45ADo47MSx5RXEr6OTk#E*^n!n79?; zQ1NgETNrF+unA$AxRF5zgLVdO3|bMEiW?9P5?c_Ki0cs+i_Hw05DpX@5f+K-5Eh7Q z5$1~x2s6bs3|2E(#URX}p2126D;U%v%n+9|IE=xe43;rCgu%fKmNGbq!4d|G5vGd= zGFZf5A%g`B<})~e!8`_Y8O&iYo53swGa1ZaFdbo+pgV&M2HhB#2;+rc8T`WFX9hnp_z_{87+_#9@H6l+&>0X08UvMqmx01S zW*{-}Fc29C6okJR{K?=C2LEC3JA;2S_>I9{gt5X848CXZ9fNNfe8b>tgfYTb48COW z1%uBSe1{pX3_fP?5rYpAMhPD;7SHpF!%?9%Nbn8;8F&cFu0h(MGP)vZ~;PJ;d}~oXX%71}8H(iNT2sPGE36gX0(+%U}nCV;F2_(8(ai zAj%-ZV4EU|V%gEuJ&L+VQuhezZl&(w)ZIee&D7n5Zuv&)c2KvSx^2{LrS1mmwotbj z-O?s>3)fS(k-F=syOz2Q)Llc})zn=@-7t0Qsk@T8E2vvX-R0ChjJk(XcNujLq3*%d zT}s`9sJn!^i>Z4cbr(^0A$1o}cRqCwpzb{C&PBIm4s~avTRe-pGtn)YLEY)pokrcM z)SW`zT67C0Q@4h?lc+n9x)Z27p1R|xJC?d*s5_dvqo`X=-I3HCLEYih9Y)=u)Ez?I z!PFf@-74x1r0xLf_NQ(?>Q+*>FLf)>%`c~J8M>i9)GeiMZ|as%x0t#`)GefL0d@1K z8=`J6>ISKsN8McN_M~nOb+f6PMcp3M&7^L3>Sj>48+A=|g8}Lq)b&%>M_rw|gt{7a zRqA@Ft58>_u0&mrEQutD{Qo-n9pV2+{^)10BJi=f*ZdB24&DR%0K3g6%?Hgp!9u_; zxPx$~c`Dcl*k*1vTg)|JC18m;&zxpX06PIyX1Q5t_5@1-nkj&e!gpXR;Jv`>f!%>8 z!CJtbfg1z60+)cjfK$OP;kLkLuo$o=uspB?ED}xwJ%*8RlR-IH4d@x@7SO;t;a;#$ z_!(Fzd>t$YJPB3`?*u!AyNpYWoyMugv0y!5v(WT3XPsd zH$wyY!CwD&{?EXQ!0TY8@JauJ{yY6Q`gi#+@$UrL!Lj~ra6Y2NzsA2DBnR{S)BF>_ zc43vj9ApJO{oVYUU-0eqeFu_)_u&4--Ee;5LEoJqBiQA;1S}e!>O0oA4I~6DU}s=C z+^jgyHx1+iBYjnH!$P62r>~n&^9lN1{X6|L{XPA4kPkemKd9fS-w5X}E&=Jlsrs?{ zHhr_+qOSqDz!H6)K24vXkJPI`Dp08R)Vt}LE|9$-6Znk0M_wnp;e^J6AQ8Bc?1GaT zJISf!Sda&7CM{$QoZ46dw>M6Mvl}Bx6)7i$q$kJ%G$LqwwePggwD&*~up8_pKB(QP z-KgyXIlxZsRP9)88=UfJ0V%+8Z3*1=I1Q{Fj071#xmKw4)VgUJ-2S*%{Z9Q%eNTNI zEFU}x{QsTmjp{DY1=*>d3f%uTbu(B%SfefndxP`TY3c-Zq*|qxtA)V%cT+W0@b2|~ z=lu-${@1;`y-#`{^xo;c5xD+K;12hspirQsBL_WCO;?AJWg#*V4z*JJP?T=cLD^`@o{Y zKcy?+-pRATHpF)6NU1|wFNNU_%0<#_sg|+imq|k@OMaO&gyN;r7>=Vkg2_W*-7l4@ zIgaEwg5z+Cmq>6|J*2xtD&km3@nUH($3YycI1c1EfMb7-{Ww-~?8~u&V>!n%j(s?m za_r5qgyKa~PmVbpvpHsQ>_PE-seofX#}LO}9D^M5IObA3Ps-%jonr>aZX8XH0geVo zKSv)&og?9>QH+THqWHJy1SLIm>DVCBrDKCgmyQi0T{`}s6`k-VQ8{`ko+~LFWsVZX zosx&6$dL`Tou0p#-}5KOKREt}IuD>+`l@gE#7=Xe>%OF3S`@nVh_ zalDY@1su=kcpk;mJZEq`o#Sa7Pvv+D$CEjp#PLLqCr~`qb1ui79M9o+HpjC#o=Nc( z&+#0O<9IB`9UPCLc%o-J$4-thiYIuEMxP{{Jo+!r%$88*s=6Dpv<2>yg z+c>sz+(7YI&t{IBIBw+FL2-xYFph_ET*mPbjt6sG%JCqMOE@m(cp%3`6p!(=aBSw- z#Bn{xMvm(^uI1RkaSg}S99MA+bFAmMlH&@FbsU#d-0oS(aRJBq91q|)kKa*!{FCD!9RI`dcaHz&_#4N) z9Dn8b3&n`|HOH?we#!9*j-PY$B#IE$ngV??{j>QM{r^{_jRNfC-k@EiodLYtky@*^T02Oasg2bJYDHS6CaFKEAFHpb zPr)wj)v!N%BG{+f1bedwz@F?7uuqo*cJKf4{s{Z9Z-MRmN8l{~wcd-B17U}BoHAJH zqvR<8#RL1I56id1ZGIQYr^6oT;c}C_LOxKQA&-Nd&pvXV9FRVcUX`APJN|B#u9VJ` zPL`t5M(=5`gWK#~rsAHzEa+YUE61r2Vlqc zGUYtwbom?k6R@lQs{Fj{mHq_F0pBRcD2FRe$_n!*kUG2#GKWV&;&2_v8_oo2!x12B zs0T^IERZt{1t~)>kTJ+0VfYH<3$K85;a-p}`~xHlCxTpIbzl)#MHmz)2pGoiAU}A_ zxCV3(I*kp+p~g&OG)M>(urBz5|5pFG{!afou#!*>w-#jh{_=h8dkHiFE`Z(t6~0>F z<$Z8c;ziiiKLczf901(8N&X_=l6T1qus?qTIge}y`+>_~FMcBI!-t5feXqTxJ-Y&J z=79zXUe*JuplxzhLV)x}LV%|R4Ylw`CZdT=rFUY8{CHBx>ZFiCi6PRPi6NeHw8R9z zMKA3@y~??*+-jEcRQjlg(?{K(KI(3?n*+bKu(hs<-cd}Ia->nIgGZp{97ydvM4@D) z2$b(l6d*wW-S`4?gHn+}&3rHI4w#;s*hg)Pf zfyJ3=Xd9W{L@t~aCr?K+)iiXTO?lAZc5Tz)Th@ms*4MRwX1B7(luE>K6W&t20M03` z$w}~cM=Q*5w1wW(mx(rq!83Oink1GFvc34#kk`7rqC(#f6VsDJ@;cfA=m%YXaH!Zo{-=eT^w zqrEzagQIRO&=c@;sGOZ5j2frLbPkg~;>G-n;R-wpUl~)@Z9&7c$|$#AelfwnHNii| z?Uz1w`#pp4<`SB}(~bf=QAdAp`zk?~C+NpQexckT2Kl48>hZ zA^+h06VkwW7J8&lJS|1oi9MxZA~XWK@4dEZV?%3m(|RzCGB;fW*z!yLgpc?1nl%lL z_0+)1=63l#>or_Q6lotEoHj~+CVf;}`l#V)qojA!MtLUT42(5^cfZdJZ<&RYHuxtt zt!@lcvs}uuGh%BytGlmAI_*1EpTzv>~LFK z-Rf|ga0<3P%aC0^q6mp0@-;~zOOryf5<{f>lR_4u9Y;1VyG-AR8}Osc3gMmXphr09 z!4A40PAhc9#hz8JaD*S{pvODtu?~8)gQlx!o{!^q6}qD4;dDjK>B9K4@?Q>`E+AMM zd6y%6n}a^eK_B6u>EebzyV()G(LvKi4^LC?2%qJkXFBN2I4#{9r$x$5uzbYHc>ez| z;d=pe{_h11|HDC#zYuQvdlvNbPX#^t;ejl$uK$p6CGfX1jDdz1bmngb%lJ$ErLcqj zn(t=cX}(6^OkW?LqQ9%(2e)-j@;tvPCQilUmV@skzJ76 ziHA#598TVmWfXPd;n6ORZ|>-kQPhdYM&oIc4kz!(%r5H07G^4iAP1#o(JAB%hPCO)9UCqv#k?U~T9 zc-A!DAW7$Pw|9qzwa%8}nO-=vmU!xXdj>Qto-U2&lbohoR&^(yFa2-c!IxdwiRVx8 zWEPg8xhe6~`F5XD(8-RVT8Fd~PMvSpq2I70sOeG=v$_+Hp#C>S)O-Uvr@^z_%mh94 z&iYTP4xkC!)$YZecv#gsM2u(R=xWI(h|n39dUsm3bnv8c{NP-if@CYY_3E^Y>0mO~ z89JeJj+)(xr&sYf6-M*pR6=LJ{63v{Toq4kVFWA(EJ2-vgdgbFZB!?oUd4OCc|z+X zeS9%X7Z;7dHr2Jp1L5J4?p2+5juj2+@Q3HMhBr1eceGI!4xV%Q;gQ_xzMXiqm7n2< z6V^1P)#?rpCN3S`iDz87nFz3c(g>0&SC%P)@Ig}EiHBb;^CnP`Il!h^g|cZ#+H+Xn zPCN*^Uj^z}G@ujD##$yv*st5!C3rD+(ytSb%%YV}tRZ*Zx_ywG1WG#b1TF14{Dfa( z*NF;0$fccljuy`W!nLbu`c72%wp*wZPt)Q-KuqWEJW=5zwX745)6z}?@$Aqf_LDXT z2{urKJ%h$};vrf(hhk1n%PH~KPZ^5OzgaxC6A#&@d>-4Awu~!RI~1RPqd3%whj6Vo zaUJi3_-Cb(PCSBZ)fNvt{ic(`5~12FHaLOGq*(OqmgYg|W#D>HIC zt;4$*Qx8wzA3pVuoYGD_zH7Z77&bsNJy7sCh3PIUEbX+8?_wTyCGlp*2Qb~mQfVh1 z;I;Bgm+m|>rxTCz(pkt=+OxV>bp9{)-UK|VBKsS@-S^(Uz1;3j0%YGwLLd;rq7YEo z5mXQb6?Z~tAR3aG1O-=g(w$DnQ4kjd7Zgwyl|Wno2aP%^GmZ}9KAYn>j^j8wIy%m{ zjr0A^t*Y*OJKZ7X|9W=4)G@EvkrXdXS(ldIMhABdKA0?eJ=b-`#cgzU*I62jk1+N%i);0)9;;UWPG9BL1o7vP84WcJjs^G0J9D(j-&$K{5Bm0#2DlczyTQ+56W!wByP_+87H*4k;J9`ANs{Q z3s34w%y~g-ew(weR?Qz<*`^^wzn^oyx3JBD0)6z|JUpqIxIL%gNfjg|eA4Jw)bg2$ z#-a~T!IR2~InN$l(q>1}F^1CYtjsoBVh*#a%Gx9(9dkg>%A)oE66tpmZvVT>f4%=a zf3-g!>;LzBd*OBObl*sy&HIk`Y47bg_deRI!{YrAEZmpjRC|T)@Vw#K=eY?s>Q$ah z_t)-M-QDgR-OF(TJs-FJz2VyLYJ>gwaGV%_$+-)j?@n=6!tVR$u=8$*W%o3#82A4F z(y`xhjbo-GOZ^wL_aXH{SPTqOzJZ6qN0m;c2`8iT;nnU{`A*ncPsUc!zwC$XZT9*0 z5q5{|J=;^Z&9-Z8(`|$C015sb7bIa++z&?|`PkjS(M3dDl(aFgvLZ;5X}?yI8}kaP zgCv>`V2QIaJ1;9pQfh*g-hv>>p~-W&z12aIK?l-Am+SZ-NuuJW zK5NG%8@x_wqcg2INP?=6GNOy$Xuu`i5|~pGj7qHdSjE=9u@GfTDGQRoDy9*9DoCG5 zoA9O}GA_(63zEco%#5eyX9h`RrCW2XAK_c(&MFI%%qn>B&ka>*3Zk;PqcVdeuqNO! zXJ&bjBvi5f6kkEcgnbz)3@&pj(t{+b#xLP-nd&PKl5{F~@FzX9reOu$kwe9eFnCN! z%?*;6YAlb?jZ9Eyf02B=ToxqxR6LQ%)1@hhj1`5)2T4qguD8Wy^UU8IRT;f-J{E<7 z!{zZol3ax-g!V1uch4E^3@q;*gJPv}VUXlm@!{*e`*TaNS{@{6R`fz+12JUG&0%oM zmyZvUT>FDtpW_}IBw1I;Lbc-R&6#y@p1ZoCwO0gc%a*f)B>&Q_YBYjcR@T602K_;z zXUOm%$-Tpdu}ec^ZN@eG7DBqkowoF zAjz;|7PUOBF<N3nCwWf9l&I_!JS?hB>6V^ ze7wP}76h4`Yx=a9@4(#P@)rb2%uPBUZ*cmngCy4uq=}kme2_$5{!7z(cV_Pxr?kP5 zRum+0SbQ}pQ}ksR0qJH>Nkx!k-hRD|AcgCqvW`bzvL8M>sK9codK1YuEWf(_=I z6@PJ%WMBT7FrLTSFsF30oR%9T={NDHy)hl5mL%X~joKU25b?L%x`psfd#B~6% zkaVMhpORVZjr|N`A(s?64L?W{dqtzHKgdWGxRB`E_YX3Xmyz3cor#O}2N}tfhqPUb z}%k-uN>w$qbS*mf0iCx5q{np)I$ zC9?GKZaWo!W!qY#k;W7WF|4mfI;Bn-JLhW*rfg27{*K@N3}1sS@hgx?^t-jk!Y9cY zZI>gNZs%n0xE1SXxV#Nlri^J@jg--&MPJ4#f+(9sGbDxGzJj(^l!^VAnQK-&3hUVp z&(Mmt7Ubwx&vtkQ7qvAbcOTu>q4*2iE;H(kcAI#q20En<89S6s1{-9-4p^d&3Q3(Q zC$%*q*W}5pJMj&UJz{JlKS{Jp3N6bnYij@l@xww+nmBsNU7-uJbK6!SW8!xbnj;ss z)gxJa=f%By0#Vg0cX`{T$P)d|Hw7BR_IRTyjI1-k?UKH^O>>WJt3wv?MJEoHd9han z_)e9}+gA3k2`9R%+EyT|P<*iOWUPjG8r&yioxL1IdP|F;iFx^L0VIiij#cbJcn&B# zLCb7gmbmPAl&v+FtutYaB^BEMF@5zwm$H|F!=Y{zEv0e>*$@ zHskF5>Hd@aqhJm1@qOd_D^A+K=z9{D@b@@RaH`JRVGVyJPS~IAo9P>ibM-#&cixY1 z|67K(7dN-9)Xvr_abMrF&iUG}z58&k{$||ISL>aJyZDN{9{o%G5Bkq=-`?GNyLP8G zRd3cWb`IB1cDCqa^c>ykyx8*v{0hF{>Go{%bZXCNA9=2T)%WsCJj&zB{|?AF!Z*-SsR^il=Fc<6o}*&K{g;zt+|0TIxCrC)p>v zDqTgc!LXJ_8K$H-mrG4==Oq>HEvqJi>xe8ipc5og3l zC~*<;!*LPzLGck18TpE89iz;YdW(hHV4+3srBS z&azNvS}3=flDo~6-Dja3tTPPV27Pyxf5k`K9v^W|e1t77Lf#!0Vc$t+$$Zy`-m77P zZ=yHGrO&t0^7nD{gI3y}YCIFafnKwjDaTh9iuFCu>G*(#AYYsVRs+Zl3VF!KH*3H`9EE~m7PB)yN`1$KY1KvS#wi&zZL^K-IDwH<^ha8*eu1OF&&0_onTp z%*wyb#6Qf$CuZVfGqK)GEH)FTn+W+^GqK%7*mX03S-!}IfxNV(v3_-Hz?mgau+4=> z$>yfUdJLaAt*h!6)URGq*HDu*rP}($w%6$`n7u37>gia;+=iyrt?Ff|@-SOnLtQJp z$<$pLnAX(PKu0R(u4sUIlhw2;K4K)aS78ER2`X&}j zkHqu7o-o!pBgn?`qQ=#=E9b$MK^_tNT^NzG8kWf;ll+qB#(oS&*-^1yB6dkz0%tYJ z6=Yt`>VRV_46GK`B>DPSJ#<9obgaj0>tHP?1_&szHO#<*c<2xc!Z%gQb)zdC`Wq5 z^eUx{i_atfEzZy5-P4VXH|InY(f2?1kPtkSHUp-HGIy`54O5LBkUvuwq2XXJb&-FLg zW3COb_@CnZFMRyn=3MF==X7ho)o#&hwMn=k;2p=qj;kG~I!)uiCrpH`y24$J_TFzB$uZ6e0ylUwJYH6@^Ge(pR4J!9^ibh4htY$e?i{(t8MP z6iw=}UQX*-T*3N=Q}IR3qS$HqB4T4UsNIY%g0?Et_U(BZH(v z5k}URLlj!nxTt37Tnx}PRtnszQbqJeA#zr*7pjeJ?WRNs3 z{d~khXg}#)M0RV7trWO>w4p)Lz!>i=iT2@kX~V?QASq&u;l*<;Y+YL)Fnf%akPmt^ zQp+TMxwo&>Dubkf5!Q6j8O(!I%4KzdRglBs8rMR)q}xx=t_+ewMijueM-~W^;#kI!C@=>#kb*`OIA#qe=Z^@Ix<**JQUOCe77dCL;C@2($RKHL#LK9~ zkXR8QiTP{{Pb-D&lhVtAaXK23k~wD)M8-<+B^^ya`HoDV9VDI2j2RZ?QEaI7QXnNt zLcJxKBZH*b>1VyggUf=X-8q)d>GnMEB^^&c`Q{9+3X*n5sB9V=M3*utG@eGw{pBNr zq~+;n4Sv_eAZd7xJC603b)sb5l_(B1xqK%ENdq)_vgvaYHCUq`byRy2>*Z*)bcbhb zMUWIk{Zc~S;Tc*KB%M(oAI>|RFxMlsQD1qqLF0m?Gx|Xv*E<|AdLwmGOt~yx07I9A zTiVA3Ntg7)7^|+6f)}9_S9iu){Y87r`U;}aPU#LMZD{a9Fz9PuyH$E?Xld{Q|X=srWFRy?7IOcyDNidAdBed zxGz8)iRx#gpBMbF7Ejm9gQxee#Z%mc!TF{Z_ZC2IJxNXv&O?@XBf?uV#$^XjLxQkU zGyIquf6(lVjEdl?NF?WT!c-zQy;y%I(yeK}X~9#Fd&-nVa}=B263kMj1nIW4@fE?j zMvaWe3}Ii&JQ-=i^{W`3Bomm!(rwf2c$>>LJvbF*xrg?+$<*{xt;58W;FNB2rVR^D=~q)74qE@$O0P-K{Xgcv z1-Iaxrl(Hv%tui@f8!X*mCX1pe_Z(I@MJJ%59byKSB} zc(EG>`~TD|3A0 zc+t^`oBgIa{OTv_Q}D4?ug+4lm2YwO|3T$)Ws;I1|5kol-XPb=)w0k2sr@(h=dmZS z#U8R>X1~CGvVE*Q&+fE+VSB}PGj0KxVoSwi(7(wcl7EFkMC_MkUdSbml^)W^RD?(> z?$;OnA-y;&L_%_cW&1-eEJR5j{s9Zohn&t6LL?INGbLK$Rwj;hN)O=#bch6G^P(=^ zj%(L(DQO`Riv4~jE-hc~l6H;GOAC?kYl*BxB#F3|$We$San=$!5|JddS|TeDNdl-P zas(nt%(O%fMul z@(>AV$Nrw~N|Q@NB&Q7>%I0vs?M`1uQ&8IF^oS!lPGUKk>YEV-<>TT`n;B#sS)y~9%(A`wk|8sd5( zj&w@9RSawr+WH#UI~Jvk43U^7mJL|#kyyv>wrR0aE@=mCZjg|ccr5Igfw4dW*|EpM zjuYgP5Q$-8LkH#=+z3AwLWN@om4`?K6CBwMEUbCvFtUzGFA0$-b_|ZWo{=FEzxw&a zgXMw{6T#S+rQV?dD^S|u^oWPET%Dh@`Is z<8`MK1woisr9 z4$p|ti73n8nP%w&3*nTu(`Y&YnZ-DWjiFe`CEZtx(KH#^#H+QAru*h;V?&dWEY_G9 z8P=JYi^1{>S0Ak%|b2-QuNM}|fsoA~&!L}ATfrI39*=9LO$7ju;0Wf(A6 z2xJ~5SB6F)v)BnRaf`JhYE6Lx<#J(YI0}gE4gR$kUw!P&-#gS*5-LX)@mR>h=j~Vs z*@|8Hp<&1-jKZ-_C3%DcGGxg4p)ym38oE*Y^yM6o!Jm~LDn*9)O@VtoW3xjgNJz9P zaIa@bR%ob^XqrlmVI|$`!e_Y{Y2veNM6(}4YXe)07=;hQRLXs7^1`r5PGBHeRxX(%7L`u+(ZUrKQ(PjJHlA-s{A9g?WD>s<>-gTXP|gVDAi388lr57}vP0QON!0IKj?1VHWg&6G1lI4?b#?TZ zQUZmbv_M$4Ve5|>esut2RCzt(vds)XXhTA0SXO4 z7O_WcRJI6O&}cxqNA;A11{+N?z0%lVF+xu19wp6fzd+h=d(;N|{r@^2*Sfu*djH^k z6}Q?SaK7q1$9W3$_TM{xW`Ds`xTr^1un5Lo~J0Y2hGj!PX29LK>X;lJwp>d(|i)Q##I+(IxNKHYWPL-?lh zq_Pzr<1SH7SH>$@@Fnmk*zZ3q-y&ZjUm#DD%VdxJIr~n>pR^yrSHfWJYwaEFIp-F~ zPn=h2mpSYFe|Nm;eBS?i|BL>8{(DpHb*&maRuDSiS;9bgATbc0Aq<3v2Ls{J!N6Z~ ze2F1#aIlaD-yxJkgRc++;p4+V`06kazBden4-EtVhc!E1WPBWlI6lhpVU9aE-otT| z_MilR97f&ngF@(7%dv&yDvm2S)^I$R^PuiJ0>4D@)JLuQVPwUwOrk}d{ z6C;J4#k1EY=kUI{P^Xy)lTmSf&C)>q?9~mmYCBnL&Z}v;G_cGttTw)%YE#14hJ>+v zqSL06*`8TbVt+b$`#x~WgYbk+YMyghbSgc?a#Be3Ig^%GmnTmOBu$b(PM&1kJD&K5 z^`WWzl)svZ4}E!(TG#8jpDmDQ*j5E<$fW`9=npJ}fjYmvYWiy21b$`GW@sxcU7-A! zYFot&pH*&eZ_N2hI4KW#Tk@p)lP7IWo^)^Wq`Q+RZAqTAIeF5iNjNHj|pmi&E<6~YFcs2itXawQ5W=%I+xFEN-Yn_ zr95DNSp;^7z)TUS6oKJ9V0%Oa?h=7bB5;QYtQCQaMBsc8n5@ZzY-m5kQ3G9R@^IU{ znufaNffjzeq>kK?)HkkJ5oo@YPE(xLSZkc6S!QU~Y-RLp*l>cIf*H`N!_A9r3mK-f zC|f02h}SpPEL#w0ZmFwjuo;)o*TZ=XEZCnlGP3Y43ZGW9wsCc?b-A> zsWaTV)HN7qg)XnDw>eA`to((UxXVOH|7FLagg!z(JC0stnMmcYtmJ)?WW(i4{1#UG z7)$E04zQx^gLN%**i@N^@D_fkH14!0Qmz+ADUI`l13U=|KGlK`of!OIa?TS=t@i~} z<$uH3%GlEGJhmp$&NRN7rrXxllMU&Ded|bhV@M+M83|)grNL)XPRL7peS}|h`_|Z+ z<*CyD9zXNGCfpdX#JAYDz&FP?)i=>sEq<^JC>X?Yz2+AFWj!bwxbUGy5N${Eaq57`+ zwt7@Of}05rs9ow#b*s8bU61<-)?pu`NnNQfQ5WNuf;s9`b)s6OmaBzorkbKURY~~@ zHx_)TysNye9951eJ<0*4OWBFtj!nvXC9JGd*5LldmC6!jv9ds!qfAvMDpg9kQmAC& zHUp<3;XZ@U~ zcZKzL^|$q-up#Nu59nR`PJJuxlU%Qd^>z9hy-8oGFVPq43-meqRDGgerI+i4dZwPD zJ9P>ECO-3g=y})kw&$qlh^Gg;K3$%jo~@oup7oxvXPsw_r^&O@v&7ZoI^h4x{~7!| zzUzM*o*s|*d*JJ_3-?-V^>6a8hrh>l{x$IUxDq#9EcP$(&wBt2r`1v0cgp zPBTBTT?+FP+odo+v0chIo{s$yyIty1n4j1#h53o?Qkb9EE`|At?NUbZe9TX5mx8?? zqa5=S+odo+v0V!D6WgW0)1Q$JPk#o&)1QINPi&XM{KR%C%uj5Wf;}W7y^tgG6WgWa zb2^VBHdBmzIUKV&V(-a_XMSS4lnhQYKe1g3^Ap>pFh8+f${?POy(*&|^Ap>pFh8+f z3iA`&r7%CSU5c0IV}4@06c4AFpV%&i`HAgPn4j1#MdRt%`!e`r^T$BuC$>vreqy^6 z<|npGvGH{NUS;MdwoCq=#mm?09KYrG4acuJGC#3h^1nIF{KR(2Uvm1N9KYcB zIY;aU8vH-w_$kM~bNs}>y)yGNyI1}jrp9-c@g|Nx=6EB=PL2_d9UQ|P+c}0f206BI{1L|+I9|_j9mnf9Ud! z_WpLr?EUSK+56iev-h_{X76u@%--J)nZ3UqGJAhJWcL2H%d9`Q%d9`Q%d9`Q%d9`Q z%d9`Q%d9`Q%WS^dCbRdqO=j!SN-IKj-)}jz>7Y$ngb^&vX1K$LBac%kdeGJsh9r_!P&( z9Dl;`Nsfm&9^`m{;}aYo=lB@MM>%$L+|O|z$1aY04cw<(#qmmxYdNmrcm>DHIj-i| z%CUuGGsnxw{{Kwr3CaIc|2_Uy{!{z~zJL0j_T7XV0IIzI_Wr`V1*`6P-VwO7?>+r7 zc(h-r7kNJQ{L=HF=X%dP&p6Lu_owckyB~oU`*YmKyS{Nf<+|HdaIfBQSp4t9ZU3jJKIL!9UZq7jO-aGcc>Cnlu=UTjzhm!) zjlm-O7~7Y&gSK02XWK?gU!ak(f7R`CVBIhPyS}~oCsenSvE+ct4k>9T+evOiWSnVX zTQPK;g@s(w-h8>boopxvQbiuBAd^Z_Ma(!U7D5$ysDkV%2U11ur0RCEuN+X>L51yP zZ7IxC@Z4mq*dh>3%SF=$Xmq(Z2kgy8mw0A_y+E+fk;~i3=#raJYi84Fa~N5(&=Rt- z9LR%arslSj$tAZo;?=MUz&aDG$<%TntkWy1+sO`dKxNTEWR5BN-|(r84Nrk+S~{9W zrkDd^KV(#OJK1Rts4PYR+|GVi=HDJPSJB> zV^<)WHV924i_L+sPphtOCo9eYmCYz`ClgOGq(zfxL);uj6VuQ{GV&ZqHK`M;+sOiS zKxNa*+Q}%CTcK*ASr~ezAR3s829jCmKq~R0fn*~(pt5KnnT*C77`>y=;yz-p9}Of^ z(ScOrn^4_eKG3rGd5~eL_<6*xGmM4Me?Byi%u5H-Jn#7GcCtJjP}#Knb}~-ocCUEB zM*nd@!@Ou18K@3~x##%mb~0ccP}#x7?PSWz&;Focy}bhN^`LQN!8(u%+~_qjWgSpi z^coqs#(K@TIhE_W&}(iqj4WFR!rTSsWbhheZWuMxwHN^AE-)vP*MTs1V!k4y*a4MA z!^mb-d-mfMuxEiVXh6yY$tPBeqpz^3`T$SKb}{Uv)aivHY3BZ)zu6Qtnmjs zlfL41W)#bgHPXQdBPkkiNe|CVDQ+jLSaFUFVg)lVjs}paDm}M-5HcmUGk&;C&S+0F z+GiO3Dr7KB|4R?&ri^J%MT)rSK6Z|cn-TYlkREpXhPJ1O7A3jUWsmflT-xqOE@SRU zdX!*~bTlQe-G_We(~-}50A!D}QybmxMY>^EPwBBcS`uFBvPWtw8r`m&N}!{J@shYi zh2IK8q)XZ({iv|A-6KkngO*r{#C2R3WyU; zy)Mb<6@h-L$Sx0E-M?oTfkU8I^)G8#T4Cr)WbI>ol(;KHYmr4f-Z6g}L*=2NH7Fqb zro`rtSV-FA^;L(iK&}BywvX7owEkZv{Y8R}`hC!g&h!uU{l&KjH~XLDvwPpd>i=Tz zNNCj`)jOe?E%AKqIqbR7bGl~`?%%)NJJa5~XriA| z?oh75&G}Q6GDVj^kza#GIVfKW{c)u{*#3$AHTy&MTX6E=Ec;}8wq3IQ!S=jukL^m^ z65DKBj?IP#N&GJ(OhPF?8)Dq5V9eQFCHWa)5;+s3WR!P;;%H650Zfa)l!Ut8MGH}sL^kn_NBgKK2NW$tQIgAg7cCf67$#v%th7)@Jd=Sa zT!6wPbM-EqUy%_ei7G+LkdiQoQbK^HpAVa{Vj-~32Wyg=dNaV*N|?kY!GPMu7{o$g zkOu}N8TDq6J3J#ya!-O3JTeJ9;*rs!xNVWHT(D(w4Ld9pl^eRS=@B*``9W*qHa)tq z=@BOBMhr&tMu$0!=4YWEl5u)B5?dN!lVB6KrO}m%f+oSn^dm{n&IprW)0<^Fnoi=2 zcy6%`ArS3>%d#-ZF1-s6$;}9pw2~kNZ;Ip;@up%M2(b`Y4*_cuPI@yKRFV-UAtXTx zT1?W0Xt7wm3Iy9hU`z5v@4{*28DSD85~N_ZAn8H8Ai=Kp622=9>`9X7%_MbLMwkSM z1S#odVUibOtJ|nsVo?)T;%Iv+n3L4dn}r|DNjyl90_G$Q#F!^uI(PZOoWB0OS@_B_ z+UaATAO*`_`lgFl8C&eeLTI-SQZ;?ado%D3&1k33b%GQuL+I-)rl|NOYnK;H>6_fU zsHZfeoj%10Qn1{lZ*E`9%`OiZ(i0g8KX=B2ov_xw#QrO|bWzi)X)D^?pS0Rbt z2w+Sivm08Bl^D%BVjPEs=p_TJ zWNgNW_Bxd1%MAKLv(H6>WyapIsA%N?D;k5RSz&#egiDmYV^GQR0aj8qxTHORvf_7$ zr@@TDABBg|VO6MN*#N5;T{^qH7G?R>mDFMM%44!ByQL~xXW}F@Vl*1DbbyVhEIO&Z z24%%sjNfR&FbnACo;QI`EMP`PlXW~sV&Br3+C_x6iW*d!75 zxzye}5-q)OfGr(9sJ#6Gloj7Aw3L1}3B26y9gb?wA7C}*sOCItHRMKN8l9O(mC-OB zzg#YBKNnd|ziCQdR{3#MFTAhg~CFVHND*=YnQzxXyTaztY+xg>h?1RS~k0~eF4gv zM!R{zgU&UR=*yvK=;;HjtY}1a`}~2H#dmTZ%8KtcUp#R@!-~+b(+0>KtE~1@P0aDw z^fTlD=7nH>$^e;T9o9Y+){chTpB+0=w|bl%>i-c(ywZYxE4oiCgvQc$y*Zp4N728?-gra&3_|T^pqh z)|`%S93Nw^#_}lq1jKRsRD&gm0-oRUgOB$!7IN_)uuV%UdH~ zg4+n@%TwjCa*3R7PqoXk%l;kiOnlG&hW&{BN&6%A`|P*c+wE7{SK%Iph4$I@YTVaQ z;QsCt0Wr3*{rPCQWo*h&DMEoDd6E#ezd(K_4B+ih6gpKW-)4t>l$f zve`4hZODB?yN0?P__;j+pNzZ4*s4JsETW2g- z8w(o#xSDI0ja?R4p`J@`P!Q+PQ9U{vMfak#;I`@dfX#4Ph&Z?*3fP{a+=4h@A|$v* z%(3BR)WTWWygd0tyck?)Hm9+rwXR_WIofJoT}vk&Tcq}AYV`cFv2r$!FH1pkbYzq@ z=vmFpjm=Vr`MpaYSg1c*sHZH{VGH%7g*re-5HVU8z*u0F;k&_hZLcWlQ17Tm=`F$MRq2NT$>=${?9~_pC^j^Rieljc+VIcXsW|Z zDGytyOfw}vL&q=iC|C(80rIBRVqD>95$NnwSdI08+SpdG{RA4pEVpqqG+^r;GclGY zu#DD3w%;0c)HXNP*Dq?EvAP+T85v)G`+dn0?lvkHB^q(XUPG&`B~j#Qbh@>9b%V4; z1b%D;TI;2K@r;>x+DtrYCJvd2$IZlJW@4Y2=rR$~?KG3{-oD%vUSbMg zXbN9o3ZHKZFE)kGF@?`Ih0ijD&oG52n!?AK!sAWhai;KCQ+SLiTxANw32pSbMw!BJ zLK}^T6WVAv)f9HS|;aY)zRNSYETbo_?N=LORvT ziy?oDeL{T1Fq)@W4ispySH#gH*f)r~QIh=@(tgNFo^K@=5EDAE=D^@U?20&UqFIMAb3AVf-)agQZq9g~d8YWOrZ8S$lut@5tUh82H=Dv3 zI3mCDUMwsdo`zXna=R&hnJJ9HD9XySO<@eQXuRR2nDfbv#oK>t3U4!o@k0@1?Lkxc zI#c)xQ+SmrjDal5+8#88?=*$in8K~5@N!caKg1{>Q$O3Lo8l*#!Wj6`{H3OFzA2n( z3J)@c^;lT?w<-J&Q}|<3_%Eig>3vB@Oz}T8g`cKxTXO&|Me8mPNFiO$!!*RGg)G}8 z_=ZV*m>J;>ruduatI`};K{pdL8(Yl_&yjweDDve*kuTAG5u*6QK=b8wwSjXQn=cJC zOUCC}BuTHZX0m#upHU0W46K;7rpac6n*+;M*9L62(gh4G3^`c@y~ZakuuKY*yVB-B zO?^{M>&k^|8*2UW5r!0i9ELYj+d=jd<^IuBt5~eAwWhAIlE%F=hHN??{tncc*3=nR za=L|7erq9RtL!d&t*N?|^jJvypRDA2R?_-__5;>bGNPyHmieTKUdYv$j%o^;*ry3{q(Rpk84`Mh(hbCq+Bv%u-l{-Pbx z9?^aTPXMDd&G84Ub?wt(#W#7umpIUS^2O_G|H-$4pi zvHKLS0kz7iJnd$T--rw*1mLI`ytSDkdifV1s=4X6s<{8(Rxz0 z##(RHdF{tY>>yQZ;^J-;Cv|JAxK;19AF@OTv)M}Yc&-sS9i(VY%p6L!4pO!X=JEQk z{Vp&koonLa&LNo{Owk&z1KaOJLDIA)F6bCv+QGD~%!rW~UP`d4H3opDR3gW4zU z2Pe|UCgZeMFAbAc*7#8{PLO({N*^OcEqVleNI9E~&mR5cFsWz_ZIa-VSY?E#6(Ut{ zh0Z={H)6V<~VNx3#S_#&6sy%_uX`i$~ zE(ntz+4yy`mXavXf27og2-->dvM*NNlk1_gs9C( zrNu}zVB|_29wvpbXg{|_G5DFoly_ahurTR^#T)18#M2ZsatMmnH1C?AoDK|`7U6C9&ms~wAJxq$*_#3PD zU0qxjCPggQ$%(cti`U8RyGkw&lh#!jR^vUfZixoaidMZUOqx|;5sD|Z?61VrDAEGH zq)_dXZfj?doL@g zAR*dVE0=^xKgy+m*hEZvOTM*+Y!||W%cKfb*gIgiY@5T#dKR9VRH5RjjZsKHm1qE& z=4a=JNe#-sUrM}Wuy4Lz7A9S%czHYn@i7I#X`WmbCdH=6$Oot~Gcc1x3L@hvIfY?T zXNt}cQ-VOsf_Fh$OYts5604ONEpcvh(Ql-r6#d4lrE$w@MF<>cqf$~(_EG6jWH88$3xpOI8%>KY3+QxdX)!A|%jYfBOeOI>5Y;>3h3V2%?$0V#YGFF8ckAPFP!MaYnc@aY{~Acob6lZ=ljuD!c7Y={4KOlJi^V zC-BwxD|qXB%=w`6PG_g{8fT-k#<|cr%Q?Y0+?fNt^?$X0Xn)e)fMx$dZI5=hcC&W9 z)}jTpbF{hIWUS;1v{X%YeCha$x;) z|F2;G{|-(7{8W8H-L2lOuD5**AB4Z~KMhNSlhjn@edR@ExpJyf<$u(_3wIN=V{hVI z|8(q5_58eju)PD?L1FQ8q z{X+c=eU@IWkJ1bDRL__2cleg)InQ3t7SAo74%|3*g=dwg)^jc_31)dF!goeKm{urEMBZPDlLYe;%Z40$FP7lnk zsc%{9_?Q0!d*<2z>G`GmXd{k?x0=Gn?l6zP!4$tPLmp$N`IlWY3e_m|s!c8SjY;A= zNfT+wZ{JLCKlOJ;-Y9A8 zzeNuNs<1c)Cy^@OW+m5K$;+(dc~%mtFB2>Kzpdo&t>nX2(%4{(HpAXzO+DF4P7i~>=u?QM|7n;kYF^#Ca; z8Aqp^GY^VOOpT-c=FECrqSKtH(yNR8-2O{83=nf+aPz&n103I(3OTl$iM!3j|3RiW zM)xGKPO_x^Z!ps_*Qfr{LcL_6j##K?EYx-jb+3imVxdmAP^XzGIb@;QEYy`|%KnCh zdeuVJTc}ISl#LBc-t)F^ENKr|sDOpCm_6C1S<)Yg71*SXeep8dx5At|@-9DGa+3!AFKN zQiSban!=k*;pGZROrCyq`@7;XEvG1OMpGzHY_W5H{qLHib?W4V3y zn`VMpI`fqMSOFS-Bw8Ei)Lb5z9tbpGyQMy`%<(np|1Xigmi%w|5Bj(GoBfOY$NN3L zPkg`hJ%n2Tn|yP96+W-`Bisb|i1%i!pJ#iAV$J-X{!{${{W`rypQPt{zW4kV_X6An ztNIH)Q#?iP&u}}yqwWs(rC94`yS{V1<9f^$an-w~xrRDF$Ns_{&NH3kVFU0p?S8FI zJ0HIMQXHQR9YY?*kdzW(KQkoGk325a}^)ZC7!x)k~p z>-KE-Bssf-w54L})Yv~Z{30c`4q#zZEwe^h+0pkxPrWSUPb~O18bocRceg`Q= z#SS$8VR8VEaj1YaqX{b*ms-+6%1*I89s60wLf|nLm5|O;R1&W}=pLO~)CMFp!2vl;dm_4`vZJD8?2UKP;oLrJr$GOna2HM@gUm11z4wG!QKxwL~6 zmBJ&m$zZ}1l)B~g+z!%Piqd7KcSLn|5&gg1!rP5 zW711HNVnOyqGl?Y}Zrq;gG?nqApJYFE?SUuarsp(Znl%1TffDPR+`E6&O3ASG;) zR9G02W|e9%N+csPK0F_@ErHF5DG6esPeD2~QaaSkY6gyN(`OQKRi z+SdCR}bXdO+%rVFe0=YjpmqzrPwpu)reZ8R7N z#6#vnFdKm^V(^;HdCXyC%|>0rlh&05v8~)lWs|3M*|9$hg@+|AoROQ;QI;L68kK}*Dzu&*X-|9cZKi;1T z9{_K`<5`EV-ghcI^vO7t-wo|~z&q2MrGE!a`9pdK&H$XOkI-%K$@Vk&Ve5eJwYi=V z?(g02x}S32<-XRv#68`Ox8Zu-^{DGsSCi{Z*I?&Aoj-T(cCK{J!5R2>w8ypEwR-I| zE#L7yR{t9vjgC_t!_=?U=hZFh_3#cbRCVG6zzfPQC8V4W|8pMs1Nks+CAbEs-ABtl z``@7RzQcZr{Ww_vAGJMVyU})u?PNU6!2VT7Xk9XZ`-l#vq!&hL(ISRsV*|S}Q=m&a zn4%U$Xz7xd$3z<1JEB#BKCWIkFAt+P#Zfw zLQ9u1W7u?Kw8gUF+&jjJVrgR|w3zuJw{9M&_Kk?p3WiJ8WFY9vBCnv^wb*&yu{t2rX0iJ0hNO^Z0>cUw(vED`M5l50i61yVAWQ zBD4nSSA{8BeuS1JNxAv7+z4BW7~QW}SE*0b%lQ#ni-__VO!fHwb8tydtV}D5(E3Ac zgzyVrDU&IPi~+egLQ4^0Pukdk4O5(gZ;1wwsU~eigq9)V*%%9+(Lx~eMRH+;Rwbe{ z8ylw8)&`nd1tQCNY2^`Gk?{FcVJuiSa~N6A0XJHn2yXaBLkw#T2t<}M+}ROYbck&M z?5DNRrdkWE3!hjZ=SFDFA(s1%4X5L>T=o~qr==A}Xf@FX`%~PR5n594OQ(&id+CN< zl!lpVgcb~9EH*YQ474tSOV+iq5VFlm8y}%%0{<=X#}!%Wcf=mr9D`yr)HHmxo{?y44TG2o4rih;+lKoCqy&FyCXvNb4P>t$GsIaDC?R2rYO_J(Xn7rCVBuZwy=hpx2G< zdvZg;oKc`H*A(PNX#HahPb9~^v};oHBed=j-*WCCBI+li`)aUfOCQEQZYo;4C_h4L zA5s1aW;DzJ^{<_l8(}LSRz9x&wG-1LwDgHT;nTggxGX}e9w9?ODoVJQ)V)T|j?kLN z=t(@FVR|IZe6*W-zXB;!|?S{@mUL?OMPrO`boa~SPfiDw&xtm4^vjne=c zo|delKx$6jT@bgK)V&zppd*XuhE;4MhXeZQEOdhh84|v~vrM)JJW!iWQj;z3cnu}Tn# z@~45hnyma>UtvTsm+w7}=cH#xU80 zA|ZEMudXIQ}ya&8p-krF8V3T*fH|$*pPlQe0m9XGn>|NlU<0E7zzJjEedYR$`KNcSbFIN%#Y)!_*J9l3HwT^!C%UR!<*q_krYpte zbV<&yaF@Y{@OJRF^C)~A_BanXyPP|5x4|aodS}?V&bh|fgdL70xbbfRZabLjoan4_ zmOBfbna&ia(6DUissZLcvtw$@uA~g$J@9!@Q9vYuBWjO&K<$E!#a4Bbx?T;d>(n)B6D%&4 zsEgGF>Kt{dI#I1s%hf_PQ%zBws-%3Se5QP;yo_0G9Sh*)VX9-Iqsme4D0E~xQXEe2RPRJ@6;56h;^xJPo+@u9 zJWG72zpKBkAJvcOJ^BH?OW&z))i>$u^{~E9U!yl+muZQ&)c4(o+F+f&jC*tcA~c8K8p38FwSSJ@ibvqYKdpDXMtyqXU_j3 zK1SQc7L(ye^BI--FMUR3{!4pQ=D)N@W&TThROY|5M`iv?dsODXv`1zBOM6u2zqChX z{!4pQ=D)N@W&TThROY|5M`iv?dsODXv`1zBOM6u2zqChX{!4pQ=D)N@W&TThROY|5 zM`iv?dsODXv`1zBOM6u2zqChX{!4q*gX&k(ROu;|`7eD+W&TT_QknnKr&Z>^^l6p( zFMV2N{!5=$ng7zKRp!6+kjng*9#WbA(nIPaMt>brALjTF$2}Z(bKJ#oC&vdlKEQDY z$L$=qalD`7eH^!PyqDuW9Pj3M7so9eH*>s`<0g)GaJ-%4Z5(gqxRK*695--W&+%rC zH*x$i#~V3za*S~7;27rE&N0L>$gz#%k2v1I@p_KyI9|u`T8`HkxKCm9K84YTRpwXr zu*&?(9#)xO*~2RHD|=XFeq|4<%&+WWmHCxDtTMl{KT(-q*`KJF8T_AAn>aRdY~Z-c zz=LW%$4fb0!m*CyN{%ZyF6S8FxQt^h$E6%=I4%`oryAI;PT_bG#}hf8z;QCiNgS&=PUJX&-jcIUKV&W^v5qn87if z;}DL6IS%5O#xa#+3P(RjA4e}oouh}No1=@P)4<1+_c;EMafWsY`^HjWZQ<-Z)i=lCCv-*Nnw<2M|?=J*xIe{=j7$1gel zlj9d0Kj-)lj-PS-l;htye!}r%j(_9$5y!uB{E*{cIDWwK&m7<9_$LGRD{pgri{qOH zKCP|bxSV6az?W6lo|jeDo|jeDo|jeDo+B!2&k>ci=ZMPMb3|qBIij-m98p<&j;O3X zM^x6HBPtsQM^rWrUR2pQcu{5J;02Y9gBMgb4xUrlICxHFsxZilrry+C8c6(Ae z=&*XVk$zac%E0{!>$m^w*Zxu7AKe^Tf9_ZIak`7+UXG7&e3;`y9QSbC&2bmUog5$J z_yETp9Jh1a#_@iR_i^0H@m`MiaJ-x2T^zS?+|2P#j+;2%!SQyEw{g6c<3^6RaNNLg zJ;$3l-o)|89B<^<$uYvQgJYOuJI4^mAjdY2KjL@;$LkH;r>x_6omYNSx=?yY!oB@l z{cZlm{t>?Kd@uMm`f7aRd^Vh(e*sqiE4)*@8MyoJCH+DDNBUWMf#(a)o1T5RM}HO8 zRTZ98_j~Ra-S@k%cQ18Map$}Ki&O1Sy6$jYib{RMQZL?i#yV!O-bp7v`{=<*g`fo%hsnGhP((IWamv@pDP3)SOb(H3?OX?XX zmvxfzOl+F6WJ5b^3L@iZIk%JaW@76Nn>1$zmb1S|9wirdGL;$Iv_-<~#^zNuWM#|( z$TU=*)JZxsZtX~VYr|NZREnoJ^Q)s1Mxt;*abYJZ(@fi0*j+ShR(lHc{7%xGi5;i- zt?8cpoavpUCF2&IO07^8o>Ny}e`cUIfICJF6K(3CMu#`o)zqIQEZ1oO z&Px=D&*xy2T@)R5ny`Zr2=*$m9~0g8)?&S8jHNizDLt*E4ecb=nXyj|bx`!uglNDe z9kNXrTG~mf zbz9Q(oT5%rxEa$Csq}godK{8oa2IuwqD|z%)Mhk8AhqMCnOU8rZ8Lt<;1in=4oT1C z7Ia2cZT!ta)kJR&K&78_4eKObo9L0%O;p~P7fnIRc`&!AlhkgaEs5HD&^Nr3G;czQ z$iD!972M=QcuzirJ1?s6-YJR zkvgiAba~>JfHasPHPzRwr76csQU2RAhjo%7@7OK7RnF=ptzM#*-8i$flhkG2Y^B{-v~lT>!1yfD%gNOc6q z7j%-|PRvm8=gE+xprDhKcFA+JW#x8~&Q8cD)?;Fau1?MGB#m9NkL#f;QwlptYiG0* zN@4L91)`k|5P?WzC#qlyDE1f0m-zELoqbhNmsZ?K+B%`0tgl%bsGq&M0pCR)0GFk{ z%udqU8GVU%nC63vGe>rkw$2z#tciUMrgPSe#SRNlH6o_@SM3a5PiXP>Zu&}saz{rR zeh`0oN>yZ)QNmahY4hS*5KlX$C*`zpk$M#QLBsT59){_q{e6&wdHEHQOH8?=KN+K& ztdw*xyK;D>4!MU7W8FGKteME<+d?33VOC@%@{045#?eaS57M%WA}f&A$B*M+#^CD6 za^x9+pnfnt(=7+3L-s7$H^}=PR{O7bpY=ZO-R-@{dy6;Zz0%v@UFtpCdkSvM8|y9e zW_x{JyZ$fzBmEuyRs9A1kp75%zka(O(XZ8;_2v3``h0!5emqVEj@1FOt zQ}A=oQ=a{v2RxfSH+gRGT<*C9-uKS*%=S$3RKovWx?Cw2%jvj^@O%5`_7Cj8vA<$} z)_%8rEqvA0*w3=hmDkFv!#N!{9*%StIn$jQwDo`0extpt9nv1uZiOzsS-U`+4-I^k zmZ!O)cmKQN_qglupyNTuEskq&&*6oRdGOX(=E!pR9J2Zk`!0J>eNTNE8uxALM&+OC z1<R@%S@`dsSZui@x+>1L7g3zKbQ_fLNQKl&4mElT09O3;({=57K`KbI% z|8v4~<2LzLIcRs=zQx6krhjxDPxRof{TTk?=pGbiMdtVwh36S&h>mAW@!h8IPE&Y^ zDZJPeHtt#Be2lwccz6a~6u6+K6?f6#+Gz5>V4R9}Orx?q&k5ugi|3)QlyD^NF#Nyp zOvR=GMW%3$DV%8v4>5%epDe4`L)s{wh1Ks&VdH`t9{+cAY%IxfpNZ9aQ}||67@p;# z&(mQFuTvXsHL(|CTrU_S&$Yg`|8sruncbE|J@56;FCSeTBQ_tj<#Y>F+y;Xdpi5O& zHLh-G)pF@Zo~CBH3psFBbA5}noo?je5t#1Rtd$-hmpV<2^=p@753Jm1m~nej%SEQ} z@pR86t7lPTWBt;aX7yEPL@H?#+b!y&Acw@YMBPWX@5Cb2gGO@$xa*;YZf(IDpr+Y& zjS*SX+Kg)k7Q%ABrLnoicEwY9vaG2I-Y{EeR6 zxMo3lKNg%rPuSShTDPk1%D{5Eo`$wH$Y?Wq%cuSSY46Iz<0y{(?9R^4&K|RtElakv zUd!^zk}o9r0N>cg_X*fwAY8JwHhRdCkt~CqgAhUzvNH=L4-$?L5^@0{;U&C0jszQG zf*~=s2Y>~%*KVGfoCd0m74L3r)u+w0{i}?EVDrV3N?M#I3B_PrQu;aHyLfE#YVR*z>*G{p3j<^$MU_234rKxjr3!j zHoDCZ=}Y$FjkaRosIBPRh4%qFR=T;H6jLTy(oOpRU>r&dg`{PMVsVN#l;UG4E$PFV z^r$gJ_AN&Gp0#k1IzmwSZ&dn)^%pDETT9{0Dc>$XfD$Xe%AFmDpBPym!B? zcRx$f*j;y;Pl@3@L9xKs+;qJG&4b1Bd`->G z>uft^EpDiX?|s+947321w4`ps{PpRzzLl6e3knTuU~8}Drp4)|Hs6XOvDUW)z7@l> zv%ak{-D)Iqn=(Y4?e8h4M&R%nTXf<+d>-cr9Kj2}ws}K(Ib==T=&!IBhuVv9d|O0Iv4?#uFY~t;3ja&$95@y9V*uo^J*nV0*O@oiiWuf&CVGuZ7-ip*t+}P7D3A zh5mzuX4|AKX74P47c6`>n-KrE7XGsqdW(gA#zOzbLO*SxpR&+TSm<9_=*KNIdpV>r z{FjCQa|_M(C!{t%weTOZ&_A}&KeEt2u+VHTK{}7+MJ(`urOo{o`a2f-UJHGXh5ojM z{+5Nl(?YWi^r+u&Son8XXv+&=fF(zy_Li5yK*rME@?seHs)hd*3;ksa%`$PXW%q#Z zTzpRFEq#;bxU;9bvc*<+wk!y~y?N*MUySp;l`YN12b|@J&J1Mn0$1)r_7gQC_}OE9 zCC+wh4Tcn@0zORqt5`>tore7{bX+tHmi-fv&q8E%bwmxf zL%zRng)f7+`T~fgZ&#jD?gg9sLS>{94!s`Q4LSd^p+?wAAQh72H{=}<+kOXF(&x*= zVZZyggB_6h@0Q@T!3)4{4oPoFzlR+FzaiB_27sEthk>Jk=L6pld^wN~R0YDY3*aBb zM<4^>LUFVh_vc`D`=9%>{_Fgg_$T`lz7Kted{6rB@qHF@0FL&lAejAMLhD}o2OnAO zAIjS6#Ds<`|M+(_`?u=$&kRUuxU`RdqGhgGeDE4hT1F{C`?8XhhK|ZJG+UfZXy~cr zo!OV=v@aZ((7GLz_&vDQy56jPK}ng0{z?AjoqHcR!Z_v*OKPK_iTU-OC4nG60XB#x zH1te*j9^YAp`k<4qk49vL__~0|C()G_}4zOwn#&#BVTV;U$+tdgFa`DDACZz$d9rv zzGG zh4yLJmTKr%q*O8iW2!d(LhZy-4Lyq#Yqi4iu~w?R(qU8`-Fj|8afi)g&SKwNkbPR z50x;+hARb)m;6QOjB#axU}Hfr^c-@*j4a#6U#PAbSE`}A(7orHQDs`U!w`N4`7YS@ znsBj({=z(;O?&mQQVl(W?x(IERHLCckgpjuys`KsFsv?T8O92mskk1G% zis}c7LWf}f!F|h1wJ7V=_=(tW{JsOLH1q@7L!+!pGH6gxUl<>H1oOLygM!czm|qi{ zGgLz#AP=R1Aex3%7q!-{Nt=|=9xF;|=m_M~s+o7(q!eN2fZ~LPu0XE8^bPA^t7GFY zR!fB%x&sRejF78_^$qKR4GA$dbo=q22YBUhD-;4~(61n+q4$sXzA_DWdwMpc&o(J& z)>j;?p&!t=2uh$Ho((MxE7KgINj#yU6OfP3cylxULTxl$sG%E>k8gF;YDhw{GuStk zLAM|8-W1uS6k$iaIFUieA3wQW_#JVnFoUi?esV*2*vBA|K`$Ra%08qW;R(qMy7Rnr zvm*>qN$A1jgEKW^QZP6L!b{MJ=dGI^!Bhrac>F}BY$l}$FQb&`#pC0(OZhTNiOxH_ zlwjZ|GU%)0N7e2;0<}k_@`f_@j&&|LhM|jws0({xahyY_C)& zWzb>vsk)7hOJ>lM=B1r&(NW1vy2l1;Ri+*q@R^dm-q2KUr9q7Fm`RycpLV2SxiYho z^}}CjOpgdYz_@or*cMVMGIh|BT;B9b!@ig-W=10;g>5nfMO|&4k?p(3&tf~{3xTsM zGFO>rgj6ft9vcfOybu^NJaZ+qBOhpBcGISfYtu98>()Uap{*eNP8w34xdPhq_=#1` zO{*K$fX&uTD9|WWp1Iu8sQWhRCKTbfl2V@ejHS`_{9fxOpiw|hWiEq8{4U43W$QP> zw=_k>|*s9V90+%b}Xz$aO6(bsLwiCV=A$i&L3pmTt@en-nyQ z4IGiV5SsC!8(s+-v#kJ)WqCm60%)8cgtKMwh;fIn5TrRG7Iv~W*q^4o!T-P!lvh2Mhz3@#}EFVP*#?i*Yi*&gwg)LPWYP; z-v&GEt&J~<4^aQ9o>ZSy?^SP7uT*EL6|pxV^Z)IT`F|>8{#U^BzXdY?-weCs!CtSB z{qI=h*~r6@Or$qHT*-!{&#tJe7F#HxI3b}04v*XQm%q^^u@4x{&?sq zSSf!Utc{--Dv{rj+vSJlTj5*4GI_K0nht>S!6-Uj+_D#iWk*pqG?~6p#{a zLf*S6n@K_MA&?R+LvJY$NhuwzLw+K2@Ft}Q2T=^G9cUNhAc}!@pk0iECi-xCkGywT9*hHH5 zb*OV;Nu`d~;2A$gbk1uk)eTF~#U|^VH>FfZL(tWZ@G8Q5{q>-AM?!5&KbqUI$DhRHB;t})Q#BDk72oYPLUHj+K^mX zj@t(;cO5Or{BFQ<*G;3*?J?I0mb;EtWB$Qlx$9^!x+@ATceESr4=%SyO($CJXglV2 zftEX(jrlcbxufOSqvhU-mOC1d{Fh-)3MQop2Vi>8(2V5zvri8PV0zHde6&vw2Vi>8 z&}Q_S9uC0tprN(Mdp9QqlY-u1deG2n^qw9LNGS~sNPZ%7@Ft}Q`%w%uB;Cc>k7A%1 zX%}NZih*XMml*p|46D^>4&J1ocN7DyMsG3pgBWNy_AJIe6vJvr+ONhw6ax)OyBPaW z3^X6T#Mp;opy9}SHwSN0im(sGKF<~1-WMc7*aVxY0;el_+MfEZ{l z+Qop4Q0Xz92kWXPRXloBm5Zz*?!lxU3gEafiv-lL&O#>Z=yau z(a;pLOSuca_h@Kz@uTcg?g~#%YG`-u3el1Pro^?HRBi8YO|rHy4rX>SOH%VY*DOv454FuQ9_#q$8a?nJ`>}wB6QRi zlxpX(YL|Duj+!CUw3$%LT})sN;%l5?h}$-Babv^jYs9hI3^+k;tubQTXxWFLe2&mj z4K9i4mN7dnZ4y*>E>!1Vol>~8)1bz)@U>>AxJ}$5J|R9P{zQC0{I+;IWOw+Yc!Ri3yhglQyhJ=7c6FToX|qrU$^rud zeFC9?AiftL5bqNY#Rc^}^(`SMk7d~|a`G6$TEZH_YQnP!M-z@B97#BWaJY=C*V#Yf zOd^~}IDzmS!m|m-6OJSNH;fGO)#M;IB<8Kj$(4k|2rCFv3{S~J3CjtG5S9@RCQLFs z32R>PyeH)ZVJTq=;XuLxgvEqKg#8H%3HuTDB`hH9Ll`Gi31fs&!U$oQP$3Kv%7j5e zi7-GYGVGH5gg!#Sz@U-msw-&Zx#|iUd9J#G|DgK66MjJWKH+x8cnzDoEC;c3ECggL^Kgk6Lu2#*sUBQ)|#bp?&QQe8nK zuT)p?5Y-j|ZP8+)DUc!siH|CEP-|neZ9H-!MED{59dzgijGZN%#ce|1dln{1xGU6FyG( zOTu3e{ukk6437kVPWUszM+tvQ_z2;{gbxw^gyG@fj|qQ7_(Q@U5I#uweZucCJQRF@ z@VkWf6Ml#AKEit$9t_??csJp<3BN^n7vY@@JA?m8_)WrZ5Z*y}JK=4FSwfvqBg_zf zo$yw|uMvKg@GFG35Pq5PX2LHK-bDCC!W#*{K=^sW&oMj@{4C)n!i|JC5MEEXf#LpO z8{vAwR>Bs->j>8|+!t&nY$9As*hqLS;eRmP8*CuFhHwqxYQi*OJ;Oc0RfH=E>j!1Ys#* z3E@D(0ffbbMTGqc3kmxX_9ZMJ>_ZqQR0(5*QNjpem{1`MG29uH34??ZVSrF1^b`6B z1%^AMj|l%s_#xpx2>(v_0pa@$UzXk@e3$TVgnuRc3*kG2e`dH{dYkYqLGWE7Y?t1o z@*9MIBK#xa>kNDIO1{MO@Nx5IpN2Ku_#S&2_MSJ;n7>ZT#{6{}@~j(tWB$s?#{89& zjrl7l8}nBVyw=z*CmZuuPB!MR97MJod}IE~!HRLCY|LLd*z?XP8}nCAHs-IKY|LLd z$nkE}8}nCAHs-IKY|LLd*_gj_kVVgEXUtzY*_gj_us+@38}nCAHs-IKY|LLd*_gj_ zGJHc3g!<6qLi}x50q|n{>G-4Z@4`NSH^ci@t z>KD~()r-{`YOOj%Er2Y6Z^w?u+Cz`Wo{2pIx%zL3wZyK9EsBkfg<-G2Hz2=zM|5lS zmyjvocE}UZ2w4K=L5_ejSV8cY$Pvif{)@=>AYc29k*3HMkwuZou%4heB8A@xpA7GT zO#Y9A?}EI7jo}sHnc>mlBFHUxQh8DNnet7DDQH%%P!=i^l}cF8FTvh|U7-##%X*<# z1HBsP)j+QXdNt6if&XV3z#I(V`=T|bK?r&ugk`o5Qt(AwQVJ!$jalG%Cu60PQR85U zoeqZoJX}~xC!Ns(!L(A!$qD=}kFzF^Q|si22b>|UBVzVZV-r5C-cp7XAH#=Gh% zTxwFr~)Ev-ynPr1AslbI9__Z6e(uFDRbYc2qZcN#Q>HE7I z^F7QTfa8Q@A*<59hwQ}%3&ctv)}~uFr0c=qc}+zgr#~hJU~L+4^-w+LJ%RkVezu?- z_&`fr`-l~Ip7YyQLTXq@6f@MxC~`6i>Au1x(U=L$cfXTymxa+ft9h009w*~ATu6=G zwxl;SG`F>~G$B%v8#nNrEB9(w?r1lzxYv#ApFuZm_m+54p_3EXoX5E`k2Au_5qCK` z{%NEDNJFvwn)KSVu*J#vZ~FZknuu9T0b5<*a$8-QwIse+F3v^0E@sOaFf`KXR}bt+ ziszb5@~XFEMix8+TfUA_2gO| zv6lmnIm(}LluPYpajTNdU36J=VzemokI3Q3 z(~%!UZi%dn%#GB*jsUNPcfc-uH;3!Pv%@38A>}yia`z+UHrQRSPFVoE0wh8ohW3Uw zhwg){dsnly0Po6M?Mct>zka7A!jus?XNcS(;+cSu)CbETBz z3!H$g01pIi3S1c&8BoL%;f z2H#TO1Q6Ey->_^6gi-L-B&%A|5MQ$xvw~SjML1d0uP}?D?DlA^lhtA>iy`bhn#v4g zGbuQFRCywcA?-X)#2)H(a+H+HS_9h6V@(RqGIC@|wm+POFOpja50zH-2P=ybS!*o2 zql=MJGK;b7UU6Y3hZh%SF`C^WU=;|6(d%arumS`$Lf4J(b4TwLARxxBpW!Si5DP+%wnv%LnDRa z;4B8Jdq>8d?3c=7u=*LKh4{ZL2B>@76cGQH#VB=0_c1Y<#SnE*IU&F=i&5#kcQdTd zq(C|d@XKO!dJkd*YqA)n&SUP^H_xlvke-=NV^X@tbiK2z2wl}RWm$|`=kZ@WlQBnZ z0+-PUUw6Axx~ipe9pl&ex+Wjp zI!h|kF@l{Bv9)1sTO<7DIl>u6SC{D+zTVv=FKK<(sCc2i37Xh1PS;4WM#qr#PoT1@ z+Af3H3U?K z!R$S%tPE6!q3y0JD}xR&tli_9l!403aCQiU%)iS9gUT?TolB9QzM(4#D#KWIhsp+l z$}oog6R4~NI>Y#O-WgXFM^IS_NQ4pY9uk$nk}r&G=hKS$WHKo@%Ro>XhPS&aZ6I{v z9n{`65R`^N?R=0fN*gexP{#mwhenFUl#YSzXBZp=)$17O?ja%s)$17M?l^fru~5gb zcFs1U=DXtk3w4ZTcd*r>LjAIQcC5Hix5li~NuqEPj9GV_BvM$cW2|~!gl$*2Z&Jq~ zb+75a3l=Kq7eNEA3UksoDY#CsP(jBSbwk&ROWukuX@HL5>3nrBUS|AX5l-}}Oz0Sz z?ykoZePCIgcZm9lcxsG}A?nrD#uETmd~Zm%tY6;DEs8t_bQ$kksAJeVSCkR+e?k=p z=oqH%GRR0-O2_zgu83~is@0_6#F1!1$2fHlSt4*xV6eKQ-!SxR1gIM_Sd=3t%XExT z=XWuGedh>$%Fri!hU--^uH1fIj^TP$ z3@Z2fNgl(WB*vEW-pwDPNkQ-Ulf+%8u9-6s}akL+Z zfuZAeF^(3%($BG$qwEVyj>ck1eGF84NqH3BJM~&PRXc<Bd|zFKMR_+#O`3-MpX?~8vWzAkh$^lQk8e|u;X!~k3n>WEK^SH}lK z6u?L7yXu?jX?3sqy!tqNAGk-oP5r8Rqq<&gfNTNF)OqSub&Oi6CLk^#82fwdE!b1w z0PHF7aO|$wmtZ%6MX;t|9P9v}fb|3cSWWPHbPw$O{#f+x=&jL>kW=8&=zRE|Fg!Xi zszlz8yc+3@ycl^h@=)aN$gPo$k%q{nk@=B{k>Qbn5heV7_|&4tW)MIwMvCDP>CtN&|kej z1@zYRYM@sGy&CA%K(7XRHSn+30D2ak9}VS;UAaqKxpQ2(Gccp``sU@=z@88CAlD{- zOrO0mjTs&VmM)xV=G`Uwo0c{##WwN3h@N5FHW)0wwf~zQ{0zG2Z0-H`pbG|B#*tsQ z7r%mgRA8EO<31S6;yRru7ds|jVX&*jH z);BL`g}q>IcY7cO-*@G{<;p#cfeh=L*Q{wwvzZa&h=eCGY{p! z#bg<6W;H-&P2506_#gED&ynW}@#FEW;QzlVep!5CygV+dhrq)Bnffh=^}kX*M=gqd z6gw7sGWPx0&9T+7g%i3 z=sjbv26{EntASn(^lISWqJcqK^vsu*vRp+nW&9=(Hi!C7%%Y3_Q*6<@S?X7owfO2~ zzS$f{Mc6F)&&r~&o?@9~BQg~>Pe?Nh(@_iwn*)7QS@dCZ=Zxt|Feybi4Gyp@`n0)c z!tPTz4GyrZ)wgXpVNZhtEQ`KvFQ3Y3aDZje%guW?Jt-yyy@LZRi(YSUpUP>eCX3$h zk01GvTb@j0(I4(EQf|3amNot0Zh;!PWi^FabcAzHN*(MDsR+4cBMP(V1m|o+8MzBV z8R-1>QbukmCin% zf-L-8MUAcbenUjNg1`E40M%qHr*LDVoetPYq2^&Q?V;xnu;+g zML2~IxpHXcuA)=;kQ-t-xpB2m;X|$r*j_3+g%7#GmflUpm=yGm54j{X^H$L*h-4mQ l>4`pV6F}(h*icC}0S)-wW!(?u void; - autoOk?: boolean; - ampm?: boolean; - pickerRef:(e:Element)=>void; + onChange: (date: MaterialUiPickersDate) => void; + autoOk?: boolean; + ampm?: boolean; + pickerRef?: (e: Element) => void; + } \ No newline at end of file From b644bcf6b06d5c12a23a8d43abee81e527001953 Mon Sep 17 00:00:00 2001 From: Mathieu Richard Date: Fri, 6 Apr 2018 13:30:47 +0200 Subject: [PATCH 0505/1801] add .vs & .vscode to .gitignore --- .gitignore | 4 ++++ .vs/ProjectSettings.json | 3 --- .vs/slnx.sqlite | Bin 237568 -> 0 bytes .vscode/settings.json | 5 ----- 4 files changed, 4 insertions(+), 8 deletions(-) delete mode 100644 .vs/ProjectSettings.json delete mode 100644 .vs/slnx.sqlite delete mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index b2205b278d75f3..a1be7314fb5db3 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,7 @@ yarn-error.log* .idea/ /lib/yarn.lock /docs/yarn.lock + +# editors +.vs +.vscode diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json deleted file mode 100644 index f8b4888565caad..00000000000000 --- a/.vs/ProjectSettings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "CurrentProjectSetting": null -} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite deleted file mode 100644 index b5eff75a592bad8d34b549522d9f77912fdea4a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 237568 zcmeEv2Y3@#w(yK*G}5RI61ZV(%NSz}$XIT&AwZ06z+fBWLJ2XB%E$<0$w)HbG$Key z?{(8V>Ai1y-E@*{%BF6T&88=Bcav;3$-eyO-a9jzk!{L*yYGAd`{WPqkx~j6V7UC0!7o*!A>VdQB&amT=*~l3GjiHzW}6FpU3++g>wCK zvmP-EKO-Ky@Uvx$Ic9p&_?2;$;Uc|}jWI7$A5-s)C*Z$<=WHC#ecXW6kW*bvpER8C z`oiMkP+069i6_LtE-@&^#E5?^l&z_&rLm{Q+0(eFt;M-+j7)u2(+sQ034dczTOx^2 zVx%?D=WOlhX<5?Js;Ql*4fzGv!b;FifC`?=y7(efd9R1ZL^({yv|s3 zODG`5)Y)YwXIIPOmadkLrj~B!I+>A_);B{zK+bX^3{`MNhqJk*tp%FX)Y#qB*xWK( zDyUf;5+ea`B!Swu&(cy#P|8b3p>m~GNCo$HHX}Vs1@A|lG`*s!6R1ej`t-t~{pqNG zb$vR$i4A?uo|ZMF$DBmC{OMZ?WvFcb+TLeWS+`4|~M zT51jSw~obRl?=bNqq${`bKQQ)fT4hmY!r8&bH+Mtp?&4aiDpAi6I8Nk>`Hcc2gR|g zX4yy8QaSfpA;i{~))D2$O)wd9TrT>=Zahh(H#_~iSvx(XlT~v=I!SHO`!OX*163aA z>fHa98G$G#&2XjpDNSecB(iuo93ELY>QTBMV_aVL(;KT6^WU*&&7yn2>+%2C)RVTPrOgLDp+Pa8@D2|3Injoq zr?nkcU1`~y#Tjzul*d%N zSR7`7Q7g?3T5rfHFQ<3T$5to{BjUB+IIRV0i7NY(32K8m0K1d3llG+M{z}-h?0xE& zb1H4!pUg0|?Hpn8NIbqYH4^cboM<6^An3JvNGGc_kxu$AYGkZMY+tGvZ!%0RNob2N zt!}MxRMS4^qE^-RU!t{nTNXF=w)Hsu!!f)7B;=7H317UT ztEF{G2X-{TSjVfE%0E!M6zLlL*RGM!_ff`>Q79`2rP*tyGs;aH5s|)z6RFWD3wZ1f_x~f{Y&#fsg7)WP=3O59x z+*F-V9kr6GMbTebR|VCnsjGI?c)@qQh`UTlIrBI_lcm7I&ZzlQ`-=91wA!&AgLa7@2RhMHPqGmpq6#j zRh3mPj|Y?l>UY(98!Dx4@p@~JByU4)J?ad<%i|RTRe{BHD^ODp z`9)yz1;u(-u&%z+1ebfgV zJT=>bVq)pf3F(c`P~ z)CX(bP`0YdO02P3>x}cvbT|v=PBZ^hn3|ziSe@#sl^bcq+h>G*Nyul#u zJJ7f{SXo&I9aSaPL1zVAb)rY=7H@T3gVe#kYOlLebOETVsfQjFeP9JOHBg=U0CY>x z?XGL^*9JUw?rN8>7PJKB<*Ey~K?T7|=sRDf7c8^J4}T4{RnWoyng(}Or598nf*#0_ z@es=f~E$>W9EH~8yd+=2e8d}0vl7O3|HJubg5SW{nH1O4C=!RY*;hkCGj zm)~6#2v*kyM6sd46{z;th;`6#7*bMk^?tApO>u#SDt8sM!qots2gQLnucx-!RTZqQ zuk!_c!Ag(E74X$pR)aR6b;zCqV28eXFO=!2tM_{Sb?zz<5C}lMy*^O32z9P;1Ikwk zRfM4!tgWqtiK*5NOrq$m7D3~wI{9GmY3mg9!-#S>fS#d{8efecCb61Ym%FYuQ04On z>w*TJN?Ma$gMG=h7ix1zg0DB|$K0#peYHkXHp5bL1iZw-nH&0Lq$xTaNw~{&Eaj?hiizHY z7+4YO9SWcil{IrJ>*iEdy6c^8_uSg5xs{dKG)tA`bi*TSI+nrkQ+Nx`e=* zAS)|eM+t8WPYTxw-~NBA#7xCA8pvoMqk)VDG8)KeAfthd1~MARXdt73j0Q3q_&=b5 zd}ba!&Mh}Ki*uJto zX}i&Orft}Eh^@(1YGbT_wmxgU-g=gGoAoejo3+;Jv>Gg5Se~?8Vu@M0EN)Ad`6u(c z<|oXTnRl5Z=GEo}=4ocL={wW&rn^j+ns%8&rXJILlav36-^1U|pUR8;LA+r6%=nn` z662t;(^zKs(eRvMx8VfCpkbMz!jQ}TgZqekj=PyVi;HqgxeCs#|3beLXGAA(`nB~k&CR_KT?tR^py6bf(>7u$-x_P=1 zot6HMeusX7zLMTa_t6b>-WUc_xSgYB(L6U4iw?OG@Dy3RB2bZt4;f#-=xR&X8hYx{ z990c;bm77^6!LEpW3DYBacjlK6wkDyILb2?k493#ksMVHT>fy>zey@eC8X#Gj&h}u zHTkm-=cs(z$o0oJz_UJqL0rTBDt*ofM-?Fa1~EJY52K|B+X!K6%sZqanBJPSm7{VX z$8aJPmf1~jWp5$!K?(4rP70ql%u&U_jh@Ww#0ro~Fuj$NKqc@Te#8efLI|L>yg14u z6Hqf0Qb7!>R z{U)rO^$+fv65*&as7N9Xxq_hqsAM!ks8CJEAV*CEiSd|U!4-u`Kg6Qp@bFNDl1*XA z-^5X+Aacm--{c(-wGy2hIciRd=t6z1<;V^pHG>&Mhem*+h|S%A+Q4%aVmus*BvduZ z86aA&@Ogb=SVbrfa+DjgbVr9{eiZYf(;E@PAaq-`Y`(=JVS$6hA@tl|ya(}VSPBBf zE|-K78-{(Y&|nQY$4^RciUzd#a(sj^6br=%Axo89=2R~kGM(tjNN=Rc8%Dt=Vn}MI z%u{+8M>Rmz+oOYGB!Qli4u=lMk5g;druTEyJYYlCus9MQmv8ENsYq`kCPpLOLtrA& zSRBb(Cl@)nkE2RJR+~2x00T#~6$9lQYB@-1ibB_e5UT;+}5rXwTcwgiUvtItmsr>DDEXDks5r>;$Rd>ZXslDCpf5na(?7__K(w_JRFCmLZ!PTk!KF?$7>rlf9E z@L3%kl?R!Y3?t<#=z?}K-7Fyw7DCvE7~Gsw$dlU0REVmV$~1X7F^3NCmR1NLgDN*i zu3Ygl(lnrj2C#P9#mKORC9jnNWs!@#@sJ-CSSuG;dN47(<>H7h>Wu|byjr$}TDFt{ zYS?Bi;HVZf-0+BP2}28DT#v(CHlHYkFe9dM3ZH%unXPc`_rf=I9%-+_mr}6O-h#Qr zP*x7Zl8dbtHK0aT$BYJ!T8OM*I7BkbzZA*Sw8A;9o@`DUw|GNgH2KSY8;4a{;mY@n z9&)qg!m{erLrXzVtmUXI7;$LqD9HR8A_&!^I}(D8Mr&5p zummWSoY^Rgk&}i@ijXx66~S|jLqqD4vuBbu9_>Z|pC`97r<@cGGjmKsm^y=4#DEA< zD!{j)Lq$YR z0nyT8p5PT`+x~8Q9KL4$ zG8)KeAfthd1~MARXdt73j0Q3q$Y>y=fs6(+8u<5VpxVGvy(RneAiul9UE!&$tFEkY zS92)S{sbOTXVRlg`xDhgory)6_9qC4Iuks(51IBOD2O@}Jl5Y^f&xJ7D>98b6FlPI zTe3eF7vO8=FQb8s1~MARXdt73j0Q3q$Y>y=fs6(+ z8pvoMqk(^;25Q*e68ZrBe*?~Rfc`&+GaaD+ug94V(En#irUUc;8Jy_={eN9GXpcWY z{~!JSf0xci3Ev3s2)`5V7OoUd7mgG{!YZLjs1ynW6Wj>+lkFAT!|)`)1-9dCFZkuSMtY2H-wmxIM%X)?NH0u%84c1=kBI_LM6f1A}!SbMf-fhxu3YSLQ#MpEloVzTAAO`Ec`qxyRgSt}y4Dji&ESADLb@J!rb#be?Ia zX~@)PT4wT?rkU*gfAU}OZ}5-vx9}J8yZ9Kto?ph-@l$!5@h9V-jjtLXHr`-7&$z=F zF&<)EY^*XC8cl{D3?CU@GCW|o)^L{LXv0RsD#IdpreLyx`s?-Qz!L@=^}YIo^|SQZdYb);eUp8hy_vm$-N{DSwQMsx zhn>vong3wkVV-7gXD((=VB*Yrrj@B-iWrmbd)*&(&+G2dU7LL_3mjOHW6`jge1T23D?&V?R#}e}WuO4tD;SL@~ek38^Ieoe#2{-UC@D`9Y(${A>aIXf+Go6?lAH_3HipJPaR3PZ-}$;lA%3Nx1Qbk*~_g(B+OK+;qdpS0vh$9I%+%WQY67u2a zA9f_+avMfIV<63Z=#PMet8Ezhw8Z(){ZLQ1&xVmt$jD7g9Z9&yhLMj;$Op{}97(vp zhLMj+$OnRzjwD=J!^lS^_ORH^Xc7r~U^h8jjb zAaUMWWpE_nY8pm9Bvt;VPnsP`xRr*H4@#Uj9{Y$R2{+O(^0yM_buYZ}Rf9;Yh;uGmN}fLY{JIxg!Zz&M@*GDf`YpUFb-{oimKQQ{vp| zgz*YD%`ozA3Ay978y!iwYle|`N!gFNO>iXPmKjFgAt8s?!N`V7W*B+9ls)blb|m3` z8AjeFaR!gQ#*u`H0wZsgkpAf~+$jlpvy}ZXW1(Zagu79~^*_77akPZHMasPX@#&7E zB-~9B?$Ck-jw2=9^-|s*df0Jkd5QI9$SABk^_i#vCIO?mCHY#l{iGHVL;| z;_Fzmz_C@rT`Tc*xU(EvB-~XJ-_kdF9K#asYKd?0U92M^;jWPQnm0~kI75?_;R ziX$fBE|d7?ANr_cvxK``;+yCA&M_q6E|T~vYc@He67Euoui~a>91#h3iNxnBEkMsL z;SRZ2;zPKwgu76}m41J#W0QpYjg+_KAAfLclyDbFxZ>kBJ3p6}M67GCS zUj8ZHIR+%$ITBx9=o?2+!ksJeWflF!AxgNjC7kKL%Nzj-cb1gbl>eQ>FX7H0IN{g3 zu5$P!+?gb=@ax5W4zGkeUBdlPf2iXy33rN=_xs1+cl1lR(ls>{u<~j+1cD&%MF1O2Qp0<$ZqAFOFUbw?o1`b^kvdJrZuGl=q$=mpZy7 zTvEbane&39OTrx^<-Po*Z|p0{qO)CMyX?mzdnZ91Epc7;O_zNIK^-M?HSDl=5Y&+} z*UW^youH18xeP1pZ3LB&xGsIS(7v3Y;u6=Tcl}^rMo?jyD|m^$m7pSIF%&KZ)KY@l zB%`K0WM4v16D3r4$0GY;f(j8?ws-#Wq`ifpf)eVDhYRe@1SLwS*M(*FCW7)ysHeU> z(Y}bF0ut)cgKw}m5|mFu-MR2u`@sa|l~A{SoNHf5P=`sV>%Zu=FCeIX3AKCcZu@+K zS}&olaz150h@ko;)RneV?ehrg5D9f*?;87Df;yDLOQ`L_ifQ%+f?6waU9hIqUQbY~ zCDeI8727=owMK=iBdApp>fGor_F97Kl~8B5Utxz`A=;btNT@TPT5g9uAwqS_sNt*Z zup>mME(vu;_D(zO2N7zyggUwJOgrob5o)E3YP`!1dqIR+CZUd7dY&D2f(X?rp?1d3 zvcoh1Uu{i5o)o78vaFZhy5QyHA|@2 zrEPZD{UKD7gxZ{ag&p>O2(?H;MeD2Vu=7KxMhO*ux!n%?K7=}0LT$YM5HhhTdAPLoX{l#|J?jh7X3AOIV7CUVA5NfW3 zT65JLJ8bn3s-6rhTW?O49X5IhRVi_`^iHtDHV>g1Bve!7ZFbn?AyhUQL$(EvK4^z6 z9zs<}TyrnqWrqzOLb)W9Ybb5D!}boLW=UM0{5^Kq+#yuCgqrni+zwkigqkU#X1*V{ z!^RGw$|Tg(&xY-=twX3863X%B=XTiCA=GrKUcwo>?69Rns8T(#dxU}w9YQ%tM(eLP zb=YA$hfpOls_p?hY~~PZs)YLI8_Vpll|!gv3H8g9C);5ohfqZl>g#7NvconGp$a9` zYfpFDVH1Z?1u|-+4?RDCQ27$-W#iX&*uWuFt`1k#dK34E9ky=>l|>q4-SMAm?XY=6 zs7VB6xgmK1dPo4FAjluS^S^sJXNQd&LRpC{%eD2-+hN;=PzDKg;d{k)*t8)OuR_6= z4WTS4)CAbD(LBu&4O%YDbLqfqq=m1M@0crm4gUT&!Uuv)*dsgzX8|`GIl~c__YG0& z3d?Dh7E8JHWbPgAS?)IO0>dGOCF~lum91tASp)MI3OJ+wJIj-%i-j{x@7f08WZ{16v$ntRJFIcjiN;4P_nVGp-e+F0))=1A z|B2noJZQbaT4s2_5DFKi_SgVtP@C2|>$sCa?7Z`UCno z=6q%ceHVQh_~stngSy>3YvwFNy5n>K(>RO7_YNkD70Gogn718EWa8nEZ>>BY{wYSv~4p^w+5|;=%yKNWCoeF=1cgW znfc6A<0Qjn{9BeU4CgY8ZMMyB{j1>w{nPsUAeO<2Nd1$TSvvB_9z6ah;$Q>RBM8|Z z4S2)NA#XT}pG~G7&VsOxY9xA$o_YwgdgGhKKx<@(JY7mXh*?!g%=+7GW{wU&h6wMR zUmOzgQ)Anx2XYv98XB|T?_kPw33$lgh2sLilSR~hN)=X<7y^LYM%|0#;)=;woc|st z)1*_LM~wHP-~#efi8$Zg#Z1e%3|PcnsBwe%k?>R{?nK3DkeK%lgbtu*<${rTiu?9l zraB#s`EL`LVjXE2{(h^CDZ-4T3vQXrcyy`fI^~w3_THS&G>k#QQf`{al&fgCoj0OZ zq(l+z)^psc_nNV@YWcF7X^>h1!}DGdLUdz*^A@PpyVU zKYD#U=06L`(W0^ZGp$Sk#$&ECkaiIlk#)LO*{7u``&49_&E65UhEG8~t-|3#PPQ=l z2#L!$36+SxVA6?bRG@Z{8A~nd1X%$}9BQ{5AVQ_~W0C&S z@HoRxWc)G#%iV#DU%_CeBtpT{qjEqOn8}Wr$jqWuD8#othpDFV3^JsN>vD7+;~9-d zIgWBbOkO`4RZ9GpBT@VvH45<^VTRDVQk<5X;{+P&^_Dk&1J&5j91MZ4yG|De+7;pq9unOa`(U zH$6ITNf4o7(MXF`BBF+B1 zj2I*RSlsBiBI^aF1VS|_u|)dR-{GO?Ls3tpVuq}n!px_~ixYAP4&sy+8)R(>vm9Eu z*LWankcO2QAghs>^td0ZkV;ebB*)?CMLA`=+SY?~qqQWNu^Z)2S(J?KLd{FX?pTSe zLmjW96WM{Jo)so0k0xFVsW&iVSvQO+mH%XF*lZ@qDRNsScZyD#nx!Wqd*f+ zV<|SHQ86@@6f;Z4umDvcjKx!#*0Bsh#nOU0QjVdJ9v`C_sX-kRqiH`naS^hxR1e{( z5XdSUQKyU@@8V!JDb+bB*Fq=LLhmiE#RAlT@nTubMYU~s6>1uM#LQTWLuFMAuya>h$P2u;%tSnLY=?5Btuf*` z%s@P0xDn7$BG{nb6O+;1Ih~F z12|l-RLlT9Y5@rpz~UA}- z+$QWc)N_MY{OVYBz>5=DT^&vQ_(a&Ox>8x&eC8B^9>l? zu5wc`_w_lfi`J>pg#9{PPi1Q{Ozp-^No`w)scR>)rF6<;#p14+#FnXWMAp@~4D4X4 z{McdYDy&fro@BTZ*A){|zU(k{MM{p!n;oVu$92W*LY`${aXbc8N{qS?cb9etCi}KA>NjIhW$!jdT~Nr*OP8+rw=wGc zB6fZ{Ipu1_sPo3Cy~@XpQRn8d?sNf2TQTY!Y`@xCW8;ibXX75yy0nmIGj$f0rX?U9 zY^Kf>*aBMdb~jUJV9hK3?q=$AZC7ljPD|^G&D5#buvH!|F7p&@6)G$#@MIgCj~a$O z-_6uXxP007-AtW`$5(21rRvhn)Co$LjP`#wQ^!lyP`q7Sja^bT6fCL6aabd=3!Cbi z&D612ziAYbX(t{+G6{9ZW@-l>LJE#BCNWaw`a;Z6>XFNIP(Dpo-jz)XFkm2Zj zm}*8-PzggvO@g^Z;{rp5BeP+0&>%7I5mwN+>=_RpZi5b2eB;3p{8jdj2e+Bo9GdvY zgIjSvIWp;%2{1RRcFcprIHx@23??u=HQ@}#aTT?8IvB%TsqP)zEWiYt@|FjO@OQ;u zHbp1G45js$O%a}*NF$%wG>BWA?lqgj4w&j-kCfW5m^S6Wav-Bpp0jBqZloL+G=xi6 zwjrhsxQ(*^Y#PXgK{GLYUsh z^{hJ%!QBEbne4LRBf*ZfrR;KgU*2`c8r%npf8D+s3rqK~+gD+gr{;dyM{euI`DMG@ z*4BfyrnN(bxf@GK*`q?}!c9*3+U}LurqtfHyA#`v920Yeh0UWSkK5fr`d#C5yW8>L z!d|z#4J%pYch6alt1{a2p0f;BCFOh1X(b~|<9*LrN=$H+|Ls{)!Y&!hYEtK>&Uij~?R-3*6wfND4#k74C0(HM(r4GGC;!RSsp)-k6&51Jd30lCjOVRS zuEe}jOvgEziGOm1YP`W@G1-O5ve!O&HqI)=YMe!u6ymw(&BUCt@19qVbvlOko;L$C z%Km#^8D0}K9(>MpJV?l>$MF_R@c>hK@j27*M3U~uPbtC6GSplXQE{phc8{`0K2{vX zVr+hCF1zH-+nu;S(}+^c#3I~DYLDJth}$Ro^!5VWqc|$!6s$cd7Gl1=v#NE)veQR#^3x_bvBZ z&ap%-%iumgWq!wekNHe<*u2DCX!?igCAhnPifNOn$~2Mxj=!Eii67)U_&E^e|6AkB z##@c28>7Y+W2xZ_!@Y(J41PniA)ot&yO-O-&EhQjkM$4eFM;!cR(%!wCHn$+&bwHV zoy|I!zcJS_$1@utrvGflqWensg6p*FudCbzkz>{HQ4m2`h;;h}q@-(Fg{Zg2D(N~RnF^gM{>jcXc@LkvtWPNDSO zb%kqHx#4O<%IPx~gc61eJ0KcGXGeWRAn#miYV87sB})hc%+iTyGz?cQhQs1w z2*exl4vIY@1o;Mo*ej8DF4h;U+)F*@PR#8Da!w8y8dRkv7K_Gk;w-j$Rsf~8megTD zOf-c<5FNWEvLyr&XHlT+v2eU|inXW%GRm#BxNeLbs%NMT_vX+b?bCo%N zF`#9W@rgl*p-WP}xJO^s0z^D&p&ld{YyjB;8Wg}tKJ&#(CX_W}Mrr22L}|iMeJ-N@ zYAW?L@@*lp^Y5d%?oJ zwD)7aYypt>HQ5(YAKDA%??ujseDy&Y0KW9-!}Y0V$$x$ttWV7uUEtbF-X=@yY#{#&7J#Bf`hr<|DQS+iVCG)P)2yCyARq85P?T*g zngJQ*RY3MFWXKn0Ir7VZK~@i}5%5j|lJbQHSIKlB7Q_37$O?%y4<4IjBk+kY@D!An z0#jKTVS?2GN0twuIYsjYScQ^l`;=FgUseK4@*E2yI&n<)-dI@unJ=ibl}z2IwAzU! z#rtHc5lWo-XY3GarqV%Q8NeT zH*y{`5D$26$zKS+;zGu88lPXElf?sB-m?vQhu|NdU(c2p0WIq!6mRswtOECNQ=j;J zPiejZnB=BvE9_y*I3Vs*Vfi(A`FfQUasok8K7U$X39G7yxD9#h^`}jSwD#0#kk*`1 z4QbWMOCYU0NrZIHiQ6G{otOpbtP^HKI`jCYke2P*0_pT!6Cs^;+yY2Tj$IFF(N4r) zxHBKp{2jHBPEM|XG%u(V!W1vSlPDC`AbcjY2vx#rVMMq^I7N6?m}SNFIsu5(&8@&9R!n*PoP z**4>;)|UlVu-hILzBHE_S`E|9*9fl|-{&4RUBy4hv#|HKq@^&kbR-SBO}z zH_y>`u@~C@X4_*k**>&>ZY(*MXN_#OQ9 z!r6R|aku3J^HF@8@oVlwZjb&6<{0K|{qy`M{Cs|f*HK4w@!b#;W4Ax@PT== zxz}(pJmqkZ;SFJp&<JpaRt$#A@($KW=7VfZI|BYOxtMR%62iT)2b9XVbo zwq9aA)9Qz}A0BM2vCe>42NSHUrvn!Ut}#7k-KaVN$6Gh~o(9K^(Bsrg^K30kQNF(mU zF~$8+5%+%J6AGrR={-_WP-Mc3I$?UicYlV0z;N0)aOy4|k)RJj^nM$``d zoS^QMwR{Kq5KDxq+fk#@CRa>Qx1rCZH0sur3Blv@b}%98W>j!=NQ_8|q;5i1;~()x zs2h<={9$-Npb5SIFf39xsQLguY$6>%D!(F7*P)Ikr71|r4X?_CdpjTwDm4U$CGdOl zwh_3uqbQ;Y-i8RL5Hac+R3C{8cFb|=YQ>7LLW9Y_AsUT~ozYl=x)Rl9L=1spN@RgcyL!DDVsmrY?=f6L3_6exi;IW9yAm$0I$+hm6!N zg?BOZUpE|##~XuiNQvcA$DtwzV&ITb$11(DQ>B0%=%Evstl-QGPQ|IDigXOR)QINa z?dT3JuJ_UCx@x-8k3v^C;S@750z(Y-&5?4(BZ`K#aWu;ZSg7nRJjgfNtZ; zzj6dsWs9g{>YpwGDxx2WAN5m&4_yKt^OpuM$}6e$FeF(0>p?#vO6NW6Rg8VA&xfi$ zuR~fPNBf5$v~-NWR>iVL^?9}G^D5QnUL=N$`W~bN+1R_$h5x-Cly|A5tVCvuM^k}&C8G#!trt|x|2Qj;qg+5 zWeI91IU8P#bgw=GZb>)4W>g2s{F;y^_Ih5s2tO7u&KYeZx=lX*DeJ+ik`|^L+X5AF zK6#=e{cQ9g70bLa?Q!n7_Sk^(O7@5!A5hz)2N5NEtWz=8sy^eV2P6U2Dtwjdvs?AK zQuTRG%J3>wXxBdNZnlaWKSCf?VCHz1SB|gROYbzCfr=$(W@Tt{k}|^_G#%Z02Rlri zh{5aJ)eO^6_W*-(#8slDPt|@c)_!$rzZPk~7HYp1XunR;e$Cf@ovi(ur~R6XhL`Fz zCnvoX*`wNx9~4kGbQ02_eBd%MO`yXJ?h|w&TE&rH#G!ZNfi8;B-jv)gV$K0n0a{B_ zn_s|qq>bQeQQQ>pj>Pp-go`OF+ONR*LNEaw&;#&1Z@e3R5`fF4Iya!e&Qkk5;X}%S z_6+S%ZVXnFUUV=p13f4TKOlI+(zR3AAq>TJtAI3Hvt#`dFyzkwLg3RBv`N!mH{$H* z{y!_cf*9+-zx^D3`F~}+-~J&o;EBRc;V5CNuvyq7h(f=xR_GSmg(X6xFi)rz<_P6N z3B(Y{5$u9l(A$2s{R6!CuWg^&KD51Kd)@Z3?OEFswufx@f>(T_?Hb!qne5&nu zThev}c*s#($W~@6w&mNhY=VuqG1h-t|8D(@^-Jp~)(@#bLTFMd9F<0o5>vu?MJSmQRotq;8HmA2)!7TZGbwX1C|>!8(Rbz5gyORYuLJnKZO z)oQR(mVa3OYWdRgC(C=5H!Lq(erI{i@_^+|%T1PRESEyW!ZR!^8Q+U5`p* zxpAs7-#E!=g?JLb8h$kV1#W+QYUb-69d`wHA$K-+3U@TOl{=0b;zFE{TgUZq?c8E+Ay?12A;LrnH-*dMAQXuH zANs%QztsOp|DOI0{mc5_=^x_^a1-TD{Z0C7^q1<-*Po$3QNKffgg&7k)Ccwb`ZfBM z`ephi{XzO#eTBYE@6_k%9eT5#W&g?kz<$eq#(v1Y&AtXVSe{}ZX76QhW3OkgWG`aR zVNZn{E!){`>}GZ&>t_#Td)W?l341Wxz*e!d*lBD5n+^APj4aLk1b1G(Vm^Tw7jH6q zm}i;CnFp9V;B6g@PDdR>|6YQxaSW~7PQOaPD+nA#??K=Q`eg*d^h*T1NWcpOJWs%L z1U!pCi2fY`&k*o50Z$R|Bmqwl@HhdF5%4Ghj}Y)M0S^)IAOXK6-~j^eC*VE;?j_(J z0`4Z@E&}c(;0^+AC*U>$ZYAIr0&XVYCIo`?jRf34!1V-NN5F0Zt|j0a0kBj8d3E+ODz0xlxpLIQq6zy$=HPr!KuoJ+tt1e{I4Sp=L(z!?ObPQYmd zoJznc1e{F3NeKAq6A3thfa3|+MZj?c9817X0(KCPB;XhX0`ztSeDJUq055$M0*BE@ zBG6ACfxvqDZ~{gM0FMeGw<6F-Zy{iqfCK??0%8apLT^T3Ee);`ty@h;35X!Dh8{#< z6&*&Pm)?XxH@y*oE;@w3a(V*+0|W#K5D5qn;3vRGfER&f^kD?_6R@6uJ^~<&7GhaP zz##;zC14E!s}X3WR}s)lKo0@k1auLwl7LPERuIrZKsy0#1S}_D83C;bETxwcu!Mlc z2rQvn2xumtiGW1}G!k$y0SgIOK)`$iTIhoam`A`|0vZUYC%{8M9Ralj)DTcjKotRQ z0xA($OwS>p0)b}QMZjzVW)U!xfN}z65Kud~Mej?x>1pJ7=LhA1X{6N6>1bj!p z-w>Ej{gr^f5bz%ad`rML1bmIaLDW|Sd`Z9;1bj}wX9&!rJ|*DK1bjlkp9uIEfw|O2 z1bj%q9|`z?fcFuoq~0UoT>{=A;B5l_K)_oByh*?t1iVhb?+JK~fL954g@8Q-yiCAL z1iVPV3j{n*z;gsVi$DYQI|80Tpn`gufTsv}l7J@&c$|R85ST?hO28uoJWRkt1UyK< zZwYvSfcpu!kAQm#xQBqd3Al@ZI|;ahfZGYUjeuJbD5q{A;AR4DBH%^>ZXn=#0+34PB-Ip2&Yk$mPSzO9K>lD zr<-uP5vL)XZougPPJ=iVaT>s>AE!Q?dU1LfPWy4X9;bacJrt+waC!(%*Wz>yPFLe} z6;69`+Jn<>oOa=KB~CkWx&oyo9XM@A>C`ryE=OtcGMu*JbSX}k;B+xgTToimjMFBZ zF2ZReP7lWELYywZ>3p0XgwuIAor}{3oYv#igVQ>k*5b4Vr`0&E!l@gll{lS)(+Zrr za5@{Ovv4{Sr{yRuoPpCalom|KDFhva&(m;Pg43xuEyk%6r$sm|#AyLer{FXnr;~A- zhtph~=HN6Nr&&0igwu&Qb>P&F(+M~gP?~SUsTHRdoSJcJ!YL1qyc@d)FY3RA&*k{@ z?d*~8xfp-GkU>07WcVU|35x$uO+ZQJFQb8s1~MARXdt73j0Q3q$Y>y=fs6(+8pvoM zqk)VD{;z5vy=fs6(+8c1mX`Tr)p zkrHZcAKPMRfdc7MmEO0NPSGblj8oDeL|P6(cf_cRzprT3UBc5`;*F` zPa003kTUrB!4Y`+c(6+hLez?ge=L-(31U_Dv^aYj7qzuG*Nu^>&uW@sH96sLENV+6 z5lW1-2Kt<>9X%~eTDqK_U9IhnU2C1oTh=-odwW*2c0dvBEge11jur5~x2ZISrHx%Ps%mS?aTkx1 z0UoSIkqQqW2YN(3Wn0L4tfunhREr^JwTn)|%NGLTw(gNZUo?!L?}VpOqmh2{F*1O( z)Eek-9gE2-8GdU=bITg%y8V&?LjfDvDDFPzjCI;V`^u9O&4!#NsASXFl|=E-#;%%W zA5}}`+-rppTVGm7lpi<2WXN&3=o29t222v^%})Pr)=m%UWYye|PEuR+eoP6{K$Qo& zI`_Y2Mj*;bGhAtYO4FGk-|2o=!7K=GoiPy0W(gl!C`{I+t34GGfx1&=4ML#LR}(2Uj3H1DbM^ z6OHOIp3Z{nOvZRRiPw(tbh0Yv0oS;EXRiT|@m+nXjey@9iHI@$bT%$a_1&l)(C(f5)CRi|zrh$NytfPuh}}HXopfLlB02aH!9THWWRr?Xc=f z%ib)`kTa)T9w>5!k-UDC$Oy7)F^oAjWF94xVqP*u+VjA0kTImfX_K2mU4>qA5QU+w zWhmc4>kT>O<@C<^*a~G~M7;JJr?o&WQDuKJL2WPxV0UtM(w@}ZUkQ7by-)pePNl8; zlNqMAog*wBiN}|wMk3yl6D_0<1ie-d>135A(n;J^wg4el7g zGNlSgK&O$hPOe?bTa+;WbEXL)$cDkzQe#v0MxZy4|Ig`nQ^H2uQ|5R04aNuHOXe@5 zfs6(+8pvqie~SioO_*TFa=DBruig?8w<3=lokZc?Qb>%af0tIERjn-2;jjdqrjo5&Yhbo> zye$XfZz7u(!jj5@He4EVVuN#W*NXO0rKWrt@NHLgq`s0`roN+^cUFv1JuS=P?urAi z?kEws`bQq=EIYK!381q=X(qHo-Ri`KR9@1)w5~+lohhEyjt)3FUIvH7qcnjy7k9(i zZi*WkGe$4XSJwya7-hAi<=-UtZg<7Z*=hBTD~4e;?X9x=Q%R`mcy$}yM_`~!;f#B1 zV{x{2W5+K!OEBcDEvJ*-wBr#7)8y?Rtq1H1rqGDXq1|I@iQ|b-_MKXGwEawBWEJ<# zUWdJ^@?(c=*y}qnKh5Jo^+@GI-vsRjQcE1u*Fm}di`&VRbfwBEheh@{{^$Gy**}sU zOLeOh2TWZZnUU1~z<&WbaG&?T;2TOCaOGzMxt0IM-w9xBXMXp}{O*NTLHGkj9PqiH z=6ATv?_Sy;8pz?bvJ|BM$n*ct?_MUf!_7SZ|G#CQpQ%Si0~rluG?39iMgtiQWHgY` zKt=-@4P-Qs(LhE6{}v6P-~YGMd6e*x@H=?x-vtoef1|Km@CexgWBbbXB*f`I6C(2; zVr#O&>k6!Ywmu7S_s_C!vmOR-z^k=7tp>{%mM1NjSYnngi`$ZA{>l8V`3du75am8% zUTt0g5$(;U?@Z4_^!iIpyG$Wd4@9VU@;~u=AQt_p@E*T|c)|FY@iF5i#zAAJu?(Wa zKWEqt@!tmx%M2BUT<#y-N8EGV&G0U}D7TcW;LQ3j^n3J|>$mGy>F4Poz>qIuRBQ>)veOa)0OC~^mp_-^b_=z z^iH~uZh+>G{wv(hQL|{C8-mv>xDs%SEM5_)NW_PXuU~YvrE3j6^=OW&26_Nq&fppf z`8SC%7y50kVq=PD+EEN990{;Y28$V$a?}CT9`h@>qA=-)STr0S9;#5XDGd3WII0vx4tf2XyaS?EqH`lh%}EhmsIRpg z*&(E6FavlM8Bi3lxf@U$c&!<)4dsv6}C5G_~uygo6kA`}NX$_-h%qr)*jy3XF| zjfi0ox~*Dnf3Zkd;P;au^czUL2k~iG3IfC~m%#gIhkdQkU=2CPPfBlsx4&x%K0<)^ zj>QLoQYDu;)k}sK+vfAL~mtf$CwnCvDs-^kk zafOz*j##AfBEJ-=>=2Hc4sf|p9 zsCubPla~{7=R4sKZwj$ zxb}PDn>vrQSK&)3SZQy;Tw*9Ihhfiwtrj()Mpnm+298>YtYA1qGRr@Z%hR;NIjx>- zP8zp(Lt!-e%Y7S%RaxQ6_lzELv*p6F>eNF^K~JpZs4N(9XzVD+{2C$%)uTHSf{jNa zt`M`UHCvd;asiX7R2vcno8>0Ok{LolmsOJP81wD4pd^JcYYxdD#=}rS=TvAnEeavm zrJnU*2~a3Gvr!f!Ck>etA!`;Yg6H7PYwD7-XOcA@?M48fC$}@FoD>Z+b4){+I)hlm zfCx{ifPuMuu(^OaK$E$QWX3PnR1>C5CwrVh>9vtSi$-$fGV@BwWJKoj4T-_9LYh2{ zOmjh)%Fwb8i9#zXA58E{iI4l0hr6${esI4?u|u+q5EL$!Toxen&M|ej%BehNO4pAss3rateqJ;ccE9 zG=zy$h%Ik~9#gop@=5QC5lsn>$;z(LC^sQHk63ox9}5j7;tD=Dm)I0MW!&7}QZX1% zC|NngI){dR;gDZJ7iN$0M^JYv^!zNTd9c%gO%60pO`IeXQ(IFdr*q;sTT_K&ih~$Z z5MI3NgA0FJ;aPT4VX`AuGUZJm_Ej+e51-^}t{c$-{fdP65GBvH}=;>-*)Z5eAu|!q6 zog>9mY*BLL=|K;WqaqQ5kruBQ84Sz9Cb6JYM2c(~1no#I$YnsM7&|m5=~SlZBuYx# z5@iYv3kJ#q6mKFC3;EE#N|uQH{|)s0l<=YOxNxt*;{9=v~uv)yt^%@TD+Dz%VhJf=8w(4Ghb^y&g_Ht*cF=@)2F5v zOgETLG;J^~1z-Ok{QLal{3ZP1{A#|AHyYnD-e)||xE0xWRCuA!Jx= zC^4|yXWZ|&TewrX2-n5U{uBL!@CLR``uX}v>{sj)@D8;B@bpd0Tg-jTSM(j+*ANE+V7z$5F6Lt+@*c(R_QN}ZMj z@32;uCcUXrVS8S#+|(raif&*_z%xuPeC(hwJts5GN`l|m1Wc*jl`L==dpU{tHtJcK zyF3XVg!RH>E zWm*!PNu-k|9hqa~Fj!LLN+VYZIpLEl(h1xau*%Ve(6QsyMVvs?~z?RImt z;+~Qf=SqUBxn$fNa*GxInMrUp8%ObL+OA>-?{hRW96G>mQ!*Zfd3F*!(Uwt?mx^A9 zi7}dedJ??ShEeRJ8B3Gkq$1;8D|%zyVi?}x4i9K5d{4@nn4SbL6$yk}Z}1-OKrcED zt4P_J!Z<4lzACazq+~L_Mk`q1E>D8{iY#+9x2yt%cWM&6S!9_h-m&Tlt}Uvke3Fu; zAw`-q3C=DuPMLAEtn4H>ysA^gsH}{fB>22&kGoYmEmSCzlHlMYUQDCtako!KFG}u9Y(hZYw&w)6TS77VuONi*}M#vlJx3 zQANkRgauqYd_1F+QkVn}6}4SOM{QRzfNzQz)DyJ2grX$)qv)hq&5$Mn98oO78{Z@b zS|dZ`6hbMZCq!ULDBJ}mPI3GN)o(JYzV1| ze`9<^R(Vkp+)kw_@|c1`w#gjMB>0}F9_m*i;}d#?Wo8om&?dwp`@(VDxw1zL=Cf_9 zEN@m4{8QxlkH?IvuW%P8!C^&;9K^?ziX|%y&LnuQsCpU(jSOcJ+*rgCKz>~?5+5yP zY7$&pK}VQEe37(j<7x$k?=E z@s>g@vos0b^JqT2n^5yjPl7Kk|4fiFJj|ylxGV|YH9D}@7A&o&YLPRN;Af9+xx}dv zTAT#0TbTzHC854iT0Aug&Nmw2+Jf;=RhXPf@V}7-Y4FqnR1hoKdy`^C0AY&9CEFJD71nk_~d9hfEU}VrWJ)= zm;_%OS-gs_DK|R_UODY+Z%}Ii9j#_~Tnk>_j;FO~o4e4@}K`KR;Cc#gajYrF- z5m%4|hn+M*7N@C5VG_J|(gcOB5m1~2A0G9Iyz5GtlTw+fN$}`V|EKY21m!2exknR} z%%rKulq5L#Xo6Cxn#@y@6d}W@nfybx>epqHZUPm8H$EGl5DE=<3KrpO;XT{W!i&OV z!fnEC9Yx=5IZk(jZW8$Xv*4Hghpo%>f7ZWBzplSme~E4lx0ySXDQ9vGr!$o9b3xcL>GPqmgSqMSlg5bYM#Cif8~rZ* z5Yxn8t?$y;vd^$r>CVt?HPmyz>K3u9+4;H>{&;o@^9y@4^Bx25S7ol?-etBk>)|c$ zr|C=e+3c_E=avDJT{ywC*4AwKyY*=68Me2L?^r8s4d#CHBK|`-ZMfF*ylJVhL0D&5 z!oOr)tLxFtH?A}tZ!w$ZmyjGwcTns+&0sAitS>f#}u*U7-w)3^gr8n8NRfQ z2=mQ92o<)FJcMW?tdkuRs8yo9DBA1;5@7*4?{!_P4W~)aLP`7TSZlhnPY-|BdD?jUx zOkj%$Gg;xOTXI>KPN$fI;#^QK+Sy`wQ?oKWqSTWD$qHbInn zp^$CR;Y_I+RPi64qJE#nmJ^vNa+G=sXOgRs?w3$6;fCWmPqT%j9>`Y+I={6 zzZGgl%Xb_O&tYBvkG=PfkJ{M&hNYFX(r8yJjIoWqtSiPgrkIZDU`%hJ1VTcB!3!9S zZCofJh21qFy%*BkO+v~|@4fdz%1saHy?1hRlRW3ljI`1g!|%S&^FGfX;e+RUrf7CF zO>@qiIRke`I~i%1&^m<6X~wQ_e7r-rEL*PR4{(;6roS|v4-aO^FQIiB|CS0D)2efP zL4}K;Ni`2li+S=ORzGYqvFqkh;e|qZd}7@=X2VwD{33Z`x&&B|R^hymT%DN0{vHbF zriit_g2K*xd355l@o%4SPJui&F*-g)wF+maD82JLC!7^;Ece$Na$AndS53-2uSnPYe{+}{yl zJFVY@K|~+ur1hH+!+s%_DVIV=cj#7Z5TZTgGDjFo81Wtp{TIFp#qz|&MxedKs=UX9 zS94)H66rkE;?{IJDhO4P9D~2ma%2yf8N`)1M&nvdM`Xjmbp_J2Th*5YuXtFQJTtK< z$<6(k@J6XTHC?)Rsb5d=Vs7b_@ER?myPvLa?FO@?h=Ht))^DJbBy4ZM_FNNa7qviP zL-Gh-0(+jae)(D9qh9hbn1G$LlNI@t@ODrh!Xp!fd%{~;av6`ar;(?GH|f-8=>;{= z(!{la*3hqktpl`LD+e`z6q-M)AYy!o z$)t0^xZ^zNj+;}FPP37!G}-s{Q^}TZyc(jfkhuS5n@J(X|zu!&~~*V z<4s7P9A7NgLSeenG#N+xa9aJ6v2;Ay+9L7d(fr5IS=)|{e{hD4_D>ati3u7cqad(Q zw8dYRl+2m}hE~(5KDD;UNdFn|th3|w8{vOOFnCw%H(ZyqSg-0gj5UE%3uLHsX_q&| z$Q0^DD$L3o4D=G-!}A6i2Z1VFTJ4T1i0&tHosNOVdguq%0LvQyUTeI;WRcgO&Th8W zMnAutD~eoKqZ0B7iG04!?MqYIdKne8PE%=Pl+%Q^4n~=AAFyn0&5J&PY8WJ}P*mTd zl+I#KEsNfCR!Y*XD9M7=s|Y1`X;c&k4iI*TUFcC1(e9U^76D&;sy$Ii+cP1O>r50t z&izG~rbK?=0wGVd^&>)o8w8(7wIX`a+T*$qL34m`oCtceS{_hGiL zyMZS`C*aD!ae>Cbp@CU}QGxz}UV+Sj*Z9$R&v;hzt3MmJ8W(yy)OXa!l?Sy0v})yT zqf@)dSZ&l8CE7{aT0{5m^}peN$bYr}Y=6xAq`%$2)IZhV-`_*MK|NR9rd;M1eLsMl z;R)YOzMZ}keCvHneA9i^zC6$>_(lI%e@&gF-w$UAuF=m|E7ffMB(1mdn|_2U>tTJa zcd0&1??wJ3?|Vmjd#J0GPVyXifZRYXC+B#7CEG~@nMEqq`J|WkQ{vNp*WTBj^j-rM z@b|yJYvAu1_`3%FFVz6$CEc6L7Q6VY@F|UDi?<}@9pMwoOgcAw<4=A}xlq^ss1^B) z@FA62wS#nqZ#!C1PYWMVflGWbnaqJdCA?1sF3D-ET%Ho%qdyQ&;oxWAWrcQZ7OZ%n7JA-qH-IGZdD2H_b$a5)~j#%vazrlP%gNt=bI zsJsMoxA$b5g(sEctybxnql;Ccl>@cLcNK_psWCcNN&E z7w(MbZS@bxWV3JweIZw;!(28Cw-?JbqQ_=0Qf$Qwx0L`xlr{-wvq`v>mff|hz7~RS zp+D>H9Z;SP!s%3o=8nLeHVCKDhQk=-mNp2dQjst9vjnHm6}{DI)^9EZS?&Ls)i&*b zj_rHl2FiugkoBA5blzaPAa%$cDCcAy%-cwpyzUciO;lDH@7#{Y>Ja`(WtGX1`2HQj zb!nv+lnIJI=3s_tuZ_oG&2|Xa(l&F1viz^13-EaG`VRIsOdTwV^CEJlh>V54-lDWT zTEbMaE}E0gd(ag0MqAXX^slGLC?}Z2D$yb83T+X#B__pcZ#kOw>bNA2vg2+}kNtM?Nu#N>-BU{a zSS~JBjU`Sc&0{67H0?wD**H(9uS*KjdgQ=XSu&fauT34UWzyzLF9@Q%-u{WU3Sbkb zE4fICJQd=T&MP{_Qd1}+o}329$Gqiq?s83O*ixH>o7p_=_)gN{bTylL9l>lo?V`g! zLF7Pd(kYl3G%qO#WHoY7NM=>(uyM-tXb-g{EG`Kw6l`t^nJgWK)`7gaE@4=F++!sS z>snGq#YarokSz}sQt;1o5GM;@>6~tffnX}S${o-uT<8wiAe>AGw*APgg|xR?{`KuH zZ{7e}M{bc0Y_YNc)+|@j**zZ8DqN5dvOze>kqthzzRghzDzKuvI`*=N_Jb?vptr-= zul<9zkuBjxxfb*E8&0RBL@~ea=?!w3p9QVc?5}M!L*_T;yJo=LZ9Zn+X8zN&R^95~ zqc(evGUobE_SgC=j1#Z_islon-)=LEe_saAs0TKP};18Ii*xYSp^Qr@Aws9fjm>kYyAfS>%2 z>KB-&>Td_u8?AAE!Owze_(#+9N%yK4=Uzdg;%Zt>!BKF1^m!DZVQ{ zEuAAp#aqRTJ+nO{JokF8BC^lxZ}DvR)a$qFSNdiK-qIEZp4Msti^=G~UD{Xrx8m`E zDcZZL==~;eg|;hjo;lsW%p4s!(f^k=!2gpzKd?4}6 zrLj`6)Qsh8XVV|5H7WIaA-^jmtd{Yq&S@m z7h~%)FU{#9=;MBC62(%nIIHMyT5lHrDp;?Nxt*U}w^lUG{k-I^W9di;=O)L|cENmi z_L4>?v33C~)!5bq;z6iZXnB(m~(oed_ZCWLSzwse9Xgm3~5Pp$Y>Fw zE>9Xkf5zQcv1X37D%>4KAKPJ#V?Jgv{W0vPt=)Du>b7J3S#ye`+B<3GaODPPg~zb- zTMy8xj?!*s=|Rw+kEq8AhP_J8m4>l;PCSb9c8)Y8S*Kxb+fljFh~#k0`N-~4g-fYn zZQBt&r2eiTOt;l11uY$>!~IgoR^r+Ms*9mbTt2Z`>mf{}GtwrYMzn9SDm$)kZ?)w| zI2i3QZ-u^t#c}tt)__#x&}rC!v$3tw(4w6t)Z0p6&EPxG#YHwj$Yfx>)&q`7f$tN_oD6x>T4ga=cv&6fwI(dqOR4kND%BU5NA97;YB3LUx%%S@@n z+JGMbYq>+PCE|Jt2ltZ3rqxndik+w?K}X@B5^3hXG!&NT^Mz@)oM18dMkOwe56qSZ zId-%yt%606Hek)vn-}Iu)d@YxO1J=@$4QXLWp3b2y>C#1*O{5&Ai7-q5Rv7MJ)@I^QCue zDu~D9tTzGM%ZiFO4n~bHlxn-wHW-IJF`cf#SR4to1nzkSa~^~9r5zWa+DH3$34`1+ zkWmnnZwmooK+}7!t>IdY6KqNigOUC(gbZgl8WHb0!!;?3_LE_>k{y}_LmkuY5M!w@ zgHEc0fttX2=pbXKFf5&nrwSr_GH!REagAVDgJJ;AUd#i-xj)V~mL@?zEEUrusD!6; z`GnjT(^xtL6m)=meSreVv&<<&$`9Oyp8#e{AryF8AjrJ; z!rEba0zq@Mum!#-d4L!1WpG z0RhRMq09`a%&isB9ZSV@0y1!Fj%x&T!#Z~81DLMQ7AgZQvWttl08_hC1?X#O0;p1^ zr3jFntOtO7nW_O`(2>#{~d53!u-yB z54iq^%v;T?%yZ4-&8=pmx!9a&js%&2C-6()lfbKB6X4#!t$|&Ea{|W%+Cc|kdSFN( zUwt>A89%CHjJJ)))kVe)#(7{RV3{%A2>Jix|JeU8|DFEJ{3rUi`qyfi{$(IT80zok zSA5_3-q!9^i+s=c?)P2eJI5FEHTvp&lYN7HCB7_uul}L_y8e`YpSDfE5-bOv4cz=X zZHa!QzE*A457wsXQ}n^=6MCL5kx$99>MnJMcB$$mca!VMCFE>!qBfQsK~|8dq+C0h z1hs+0ul=cgqP?K*MPB>we}C7&-!<@e4g6gLf7bxk05aI_-Fb_Z{uHCwk~UHM;uDlb zIOVX`GasX5!LF3(jq!` zimV6r;A^>e#jU89QGSy~lj0>50$E}T;Tc`ZVM-Lj(iEsUl&YXg0y%;(ds~4*i;j8@<+ce%hRup~D>(a;pkWGm{5@$Y9gclE|HFqsGts{))dkwBV zGsOLCpLlYGf=3Iz|&%0X_x-EHs@>%zC{Wd7OwOYxf`r3SD3IZAsN>3(bz?8 z@fLEwE+!0HiuDC(J!)-4co1945k_0;0a~!6{r;)g15(M$=npye`m<=l?zWuj?V`sy_)`*Bar60izapKG-A>;+mASNxn&#J6`azYd5HldaHuD8&^Y8B z;yxT{TwH@4peqq9&5fCRp6isD#iuK5g06&V$fr}826oS6HXi4kB!Me_Uo0WgX5lKg z_d>V#E@Mbl=wAi;kU$}Lt2-=O`!C(LWi z?QlwdyjdLh1Ni+X0w)JH1QrHH1OmqA#?!{-M$|aS7+@&=J^s7=XZoA{GyJ7~!S|N$ zcHe2hy-)S!>%ZyG>sRY1>g)8udM5daTuqKA>&YB45Ul)vtG%Gzpq-*MYqeUb`h|Lj zx>H@LPF927|9J24ZuC}q{mO^R-O7bv5n#G9SpHIe7EaC|BZuXFa(C%RX_vG^S_?M) z`$>M!SDt4**LzO(GQ2Sv0*7GCZ%bV|7E5lP(mcjL^z1@{!0OI0qsQ z9LVyS2I9QM;T1UZvCNVJ3WaY;bsao1Vg!3+dJ~wAgSj50@0gf9mNKwV_?qM|r-c#e zTepVWnj68?I0I5BycQ}y4B|_{ur}68T}OL!OKW&l!)7oz>!2a!gSq*KI&x~EZ{EfM z;_uJNU*?EU`lY){^AG7N{-)CWgS(2qrli+Wh|dLU-n67`ZD0elj=J#cR}IfU$ni9& zHni5QZ0CUSW%)}S@kymSBb2|mtN7zWp#!aWQIr#(-x>-n>LPk`NpK-V)3U?UAgP5G zWG*S3Kcrv*M25i3nn<%o>+IM@3`yZMefoSzFm)u=)s-ct>M+3K-&Tg6q>4 zhQY`;bcik^N#PVFbU+v79F^H~9z^HlKu3e3)V8)Zw^FCD$QUsfVulT4Wmp|)5qT8ynz+78=S<6-Eks83l9TLF?^Sz*+>$YauDohlXZ5iUjMPmEpEF4y1%grL!Qq zq$K{sbzqhcb~*6(I7y0iDKs;EF2$-;I|HI?YFI8!&CM+f!mVK6IJ~&I6-+A6Zm6$s z3~z!PG`ff)MTeMK(;=HoxE%uPr=u+l{~_2ndKv^*SF>QS#WPMFN{S9N zv!9gRRHDfP(@OGMW@k?N&CKCgd{* zjpP%CgDwz$$OzRy!qk%=M3d>0AbRRlmd|1|jX1jj24Bdr-QyZ8G-Uv5Uz@`DqC0%%d@F}U802xf2$TFDL+|GV}ei%l;N@}y6 zWsyFnK=?2tG`@@X{g9N6gXn!t_65TG8KJRVl=R$ZqDo(B4kWS`4)BTTXbmrDtZQ52AW5i?UX~5X z_T9`SSru83aDVz&v0m0=zw*pg3o;?0H7wvlq&5_QT1Y}>ZfSQ&u&+z$jWhNxDDxx)9*9bf8YZh#2TIr-oh~x$XkkA^cu-NEW39D6f zNpN9l&`29O$s6=LB3*M}aH4mF43zODuSli*0X zM1x?fP8!-Ku7FtuOnk>F5*$$)R3VY|s_p`hkjuOfxz7p<4$TcJj$D|w0dq;PcW#O7 zC`Wj616);xl^&-^uviaDjvU z&FsLhf#(C41MlAus0Pdb#Q4s5&bZz<*JwA!`+xJl=fA^$jDH>6_BYhu4bJMn?z`7_ zIGobY*8c?F|7QJky-hzD?)VeQhvYGG4LN}{l6hpH_8;vH?QZQK+KJjmxaTiV6VwmX zN7akf?dmdhpsIME^6vB=?w#iy?hPn=mA94ql}nUkl?`ympDBMT-z6UhR{uxHKIwDm z0qH_%tF#RESbq1sF zmL52lmFrlnll@2&OsYyr{|NFm`}=#v1nhD{`pisNaKgJSnm-HvS7ikYBFMN{6OC0) z3rSV?+`I_#Fs!Q+Sm!l?xpn4}>OfY+$)mvc7C*VwUVUT)nUoPD@a^y+RvRwXDrF!U zkdq%l7KW9G$o0+h=`UJH24n{#$huf#&sCrS0e?XR`4#Jhtj8=Q0}M47L6*gOz7gB0 ziMeEekBo>Q7h=seIK{PxC$%4azYOFYu%9)~=im`4^jG=gNNqp982@wG!pWpAlR z1X+;GOhU`e#!+Rj?5qfK9@ZzSwY?Gklgiv-!3c63Ru{tMZn&Mf5L*(AAj4tBve#xV z#2UE~CunGs|+GBQ|Pb5nB@saS4;wQmTus;Rjp+{6cjgCrG) zs5ud2A*|_h<(9f8{38_y=axl~d$2m>%0}2+t-(7N;j#q>O)3r|!3Z)ER@q&Hvtpq+ zAcEXN|Nd+eaNT3Pm%k5o+0E{!0QVO1y33%Cc6ZPA}Vl2lCX zo)bYn!>UgF65$`Im>?HN;*156SFUMpZVS(AZiPm)C{i(vFus>vVDN%q11o z6~PE{6scneP0WcPD`EX~yd|rALn6pO*xegHTl2#kI$%gL(GvY)xk5-qA8$#-$xy^s zFmZ}h6!*xCAV=ZueLBgCAPZrSfsUrujwaGK=*^5E*WgOs*GGCqkWHZP1yTvuf~ZV5 zQz?ufgFt5-h{l5lxTLa>lnJMMt0KrA^zRR2fG1)6-IV4=`0`;=rym|UP0x=Yt3a1i z@JNDyqD(k8kQ+f3fv&_L0hOFmr%X5|*eilOfmPzx@LHJMmi=SFa?Z_R2{VVXLmYz=%waG`H~L||vUseMvMLt{N{f&?!q zTcKt}kOQ!b7_NuTP0H$W$479{KXxpe9qEJ9n%mkz)`^>XtsV5E1fv-8PZ3VamZ$|0 zaEfJ5p^ESHX&smYn`Zif~dkQ_YPa-(c0m>Q<1J zP=}OF4dz6UT}T?&Wi^>#O&nsZ?%?ib<4TGm$S)MYb;|h7=)ff)+&LSz36P3H4no=- zMg?<@cKonCmz9l>bB}@utF+E`8|EK)Bt+4Hh~M&rftTnfWkZy*Bj5pR!iJ5H_ARhD zpgfa}+Zmr2;}j_??2)+%61nEQGM$7rLZCG?5@w(Bg3_W6h_>2pQ)>g)~TPMz&&h~^7{iM7{ zNeiU6UfPOpX^2y#yn9||GbD1obh%0@njnxb$&`jB*e1X`p~J9ra(PJUut3>*NNS1f zr#rScoOGc$B_q@b2~%%%Ks4#K4x+7@7%oCv4Wod%q)_aqj$I3}qenA={({BxV3CTu zP<+;8I}d4s3&m1W*#M7MRItZq^Se3OQ*K|OSV#t~fy9=ezn1N3;xRy$J}ID3%p;Yn z9r-U>-Po{d%M8Ay;`YIgb{^aR|57ktF?X3KnzPI*kO2G#bp7uQoET^c%m`Ekbg=LD zrm@R7##m!i8-@OF{LlKY_iyqa>hI^*eP8)*@tx;eXISXC-j{B_2imTHGa` zA}$k0i-z!J8pgjMiadZdC0l%!g`_rLuZ-gA-&)9AF1sn6-06U zpFY1_eP9&V`qsS0a=_zLH9)QoC;CZkPboW!Y(Q2PTlQjF{Hx8(nG{7nVB$o^Heg_a z31xl+DSb?BMs`*d*#&Ema~^&QQG-!r6s%7|BiauRGnY(JwO|xk1uNFY#ZK-CwSX)` z+FF>L1+{?8!hYAn_n2ztqBHGdmbX*1~!pw&Gzfne6kAjUpdm zNo#d;u5$XTSV zvq{~d&XCL4?>d{50dA`5cB0j$n|$pllijj&u=4XfGJt##{RDct~L zsc{P*ocm5ONrOItj7!Q|m97R)U|58=hAbMfSzY6(qNFS1k^Q*VzOa zH#DO(iVTV+|DXq8StZ`pOCm!aKaaEZkqR6mVa#~i`OoP21e-U0c zRTvr9Pb!TfGqbPXFAoNzPKL(aUgbSP5#(sBRd+)h72b0oIm{S ziTrhV9lL*YR^5tlBl|&o7e^o&moJq@kj>dw`GX||5#(~x4zh7UeP9IH9jkrW$^(DU zxe|%{$+$czJA$lD;vgHBlhZeX?2Gk*bDOVs`^IH}1RmKKt8QH5WIRj`5#(pmmU}!* z4iRK&+~vmJ;VgIDPsYRK5MdmSdj&NfCWi=eI9*K+syV|W$mI+h#=koB{s63lxbkwUL;PbE z*iJ#NC*?bg!Nx$QC+$0o!Nx$wXTRTJ3^oSxI*IQv#+x%Vf_%-8A&xJL`xWdJNBphE zz_%uXyiLkC7>#eR3S!f~!DxJgFr?V;HyDj?P!CTezQJg3PQS=Xh}ggN(r7IC3P_%^ zxjG5`pjVy#1tNg3NAc?0A zshS~;jVypTi*-n|qnjp}R87-!Bl8`3JL{&#TM;<`;;fA+dKFQ7cqQc{T^>?3C=V{0 zcBSoTsfX!d73@jXH#a#vq-r3n?*!o`PqASBXntb8VLod;>|Fjtrh z%vy7dS!Q;JGXb9kUJg7RcqnjZ;D*3ufwKa~29ER`?rHU`^{nvB@C=4~0S*q#3)BP# z1aboc=ncGQ>^2@WZZt0Od|{krY&SZLu(8OfHHI0bMi!hS_}TxlG(#FC^_B7@-ScnH zBc5A4r+cEF`JPdpV*gwI-Tnta(r_VI4>-!d)_;J1B%C+s?)%yIh3{S8E4~MP*TEeD zoxT>|LB5H;-ab|TRsU3fO@BhaL%&KtN8h1u(pT$?^{M&@y-d&1Rq`uHBwmx2f>h#e zIGJz;Ig+d+3&~j0A5>Zb+F#mF+UMFH?Pcvr?LO^h?JDg8?KJHeZL8Lzg|(&HTy3&8 zSS!;)nyLP-eyY9h?%64U=vPkJq?=Jkz^Rm1LWE}UvNr$uK?eZp&bSwgUiUZ}KEO;)H zzLH*-9+Iw+c7oJnt!I_z5U87Jo^hU`p1z(!PqxSJ@rZlHZ{YmHo8oTq6G0$S7PZSI zeTx*fyY!7sonyzIZc{-k)^oK@U1i03HWCR>j4-X^T99(7OH>fP)U~S%62j;4@R%F@%S)6h4-k0#$oeBP%68zUD_%BcJ(~~vvdh(u)@$n_S_jEjs=UyKPd#MSs6d!Qm zYiiESVfaaGp|3@i6y~w}Pf)fi(u1(9dYr*`;IFy4aA-jIwkI`=Y{C@#Hmp zhf}x$3(S(cH6?_Hd{Qot5pJMO22y-b1^{NbO?)&l;5s~bYwg7eJ84xx`uX9y`t@P) z$prr`c;YN^7eF`%&sZgf9%*GvE9X}1$CyOCA!Vmf4ow*>9hoxN^IDm7fM?%4yqJpz z3%f`suE(=p&_!WS8g?C&cj6Xk6g=m>(y2-?KfE%Gdhu{MPMh*T*U{&787=;X$Dm!A zQ#}RY7Cdc=ZA|qSP=iBhU^T#lCO3e}I*dKf1+)`eDQl2*Rko%GYfcfiE=5>va+v&f za+uVSB5Zkzuz4xMCZz})nj)+yMOaRXuVsO=|=eQK5i4=W+O;Z7%T`Jn6r(5tI*!mE0S9}5IAsS0ZpVTwK-vb8;i*JUV;BYHTHY|1U5IUuUSbZJ0 zHz`fVd5u2LEUB``i&KUc;uPvgD-FlDpaD_|Ym&ICjc^T}L2b#BcTj@A%J$<)tTyHK z1pmtk{yP%3f}eh)>Bo@%p648Qyl0!+FJ747KQ_TXFTp=I!9U0LQ^}gB zC-@2V+d4GDWoQUC&B|POxvR)$>71IR93xzWXXUWc*ykz2KBfH|6}^Nvd9Z%K6vgyYeO1|^Te)^;q- zHYNBsB>2}Q_`?Z)u;}T^@4y5YPLCABCFYb9jc|d4l+` z!~kl;k)7XNil&C^T3hS3%w46t;_yg)93FACCS`hH-%=dN31N>#JYf+xVrB)Z7>P!3l1=Qn|Wq8(+heBKY)y3Pv8}hGCUZ#J#ZaJ8Fs=+gwDX>po_37a7bW& zU|L{YU}&H(oJ`0L_yZneuknrX5$GrEHXb+bHEsqyg^P?cjpL1N#zv#jSYa$N<`|QW zQAU-~$LM8rH#GmB{-69`z&VCjL66~K|D7Jm6ZDjMhIqzH?@HH7m%^<8CrPXQ7yFO) zALgI!AMLO3=YYM!pMCH69`oJkJ0BztYkafdPQoG|(ZAQ<&>zzOsh_29)enJF5509C z`H{Rz?jo0xPb|pv?Hfw9OL$o>C1dt{4*0MEC{kQs+x<}ou zKCIrVUa4NFo~fRoM%5PeP<56%O3qYE)GSp6xxxpaC2_C!TJNPGS=jE~FMyS_tbe7d8XSU18)R8pk=`Y2tQbqHx?Hwc#m<=I~?@!AV<22ZDfe$$P04X=b!~- z`Byc05927{?7a%CQ%s&a8_y7XE~AO*(RlHUI4zuu6XGfwzA#P>h?D*}3Clk#t%Tze z9)ly%hlfRKt!fnp)x%y}Yr~4Ly4dBL>+(%?`O00se4Gv#FK?UVR(-A{#O0Ihx_r$U z?tR7Od)!X-s7*a=QxDkG{jR6(aQSX@`L3~_x!M(enag*+%Xb#8CSiKA8A9)ARxZ-_ zHub+vyu^f5o>iDLimN>JHdSX+{cWm;O?9^^)24hjMQlp3DcTD3H$)7Z48JD6WK)A| zs;^BI+f<%SW!Y3WixPgbsh@1h9zOyVz~Qe6pWCq?+0?s8q2jf0txa8QQ!%=1a@`T_ z-A>z!AD0mxK`TS`U0H;fzt0r?Ts>f;%h%%at#$e8UA{wHzC|wI9GB1I^eMl&d_TB+ zU($LCuWuGxarxl1vr?ZJFb;<$^jvP2=b6a4Ivc9(AhvUBxy zTc$VFbl`C)ur&Z5cJZC0VM5t3$iyBv;=7mz9*u|WNqkED7p@{8jknw)N|AtkJV)^m z@eNiW*y2Ok%u1JUh09mx^htCQ!j4C|Tg@5gxyj|D(}tDO1ICB2I@oiblU%+fE+3si z?UXZJaWkAg@gtY-LznNxwD)_^29YxN5${DQCM`vx^*bpS`7?JEGF_6MCR|D#?s-2= z_`7Ms?b~VM`rve3eu6P}?764Aj(!kj$*G?9e3D#3yj?(Ci*up-3C}ZjT2RZI(hzQ}r$4S7ktVz? zO?YFP@WaxCQ#P5F#rj?4$dnhKu(~*`i?~HN!C+R5%i^<_r-MygRxrzFVXDAsRvB3a zSXZ>Z)};w=V6&f1P3c%6pVe9cfduY-)y0O|_{hHU;V;Y#HDkYg40as@kT8 z+f=qqW!e;7h+zA9=|Y53h8?Thl)WTTUc@l0DCItzy2qw2v#Fgnb*4?7YE#D`g}(;( zoLkg1D^~u*reapC++tJBHboa+n2T)Jm2B6QOzR3uD%aXi)Yug04zd!+c1_B5P0FA> z!DH>3ltT+Ej^671>mQP37BEFPpNLd2+5D zmSah|PT23CZ1w|t|8E9v11tYw*vl^ss9^o? z8RH6LhfxQdbin_W|6cz^{>@+kpr7CH{Q`UOPx>we8vwI?gMD88EBzIHmwvq73Ksec zbq`npcoHn~A4Qgv2_#SZNV^_5;5nKX?EgKgo~N!*r-T0g@7{O70^qUUwch#Oe#%d9 z_WxvMg)&*`A^##jE}sp1;=|zrx?iLhzy{z}X}L655;G58P}kSenqVsJxEO=uoh}av*OivWP|Md+wgU}sI^#}mUg;o7cv>(R zL#5x8nmpktQdSJLcP$lrevT$QR?mu|-fm*}FugQ}+PVq9ipw?rt4NaY0I7crb#yJ= z7}P%xud3^4YzOU_4ovIxl5ig>7(>H57Fy_?RWt=s0NjP5{7(<<1OVEXuo!Ek+r4pLSW|n)Y<1vtTFWbi`?~dxp+0aCnn{9W@g0{qMOK0Z*W#G1 z5)8@KG^}3J2!HK10g0|E?ioX!V0u;z65&1|{z25`YX2B2|6088nyuayZKzdXW-rw|-^a3*HXZf%i8z6_mkILDrbT#v`Y0zw_DQv~M z3bYJ#OQNVQY&8W44B=$Q!e-R!01-ffmn`$cp#-Km%rsi9HTW_WY8y3&t=gVK4_GtV zVZ-5YKBT!RMG#p^)Uqh*6kBIpotMBlX>t&@3+fhkSs9DRb<2&SKCz{_NKbE2hb$&) zZ4_0CE!&t~sIGJoMV2T~X4EjY%Iq|N?4-$o2J~FiHnw^$b~rclk{m)7VSh&rWam?H z_L^2X{+J z+06cMItKNT)9U@s?5meXQUBQb@-fAIIAgnVor5GZE2N%LR7Xz!&de;z=@muQ<6w~W zOl}vQ!^|QW2B>>%mC!XvW@=CisCVqF1!`5l6~{cI$c!1?Dx#=sY|U}7>WN>@=kkyl z6MAJunffuCefSD##srujQ2*E}hif>_7%NpoQSW$veqrRqtSD+CC(J-IMvlyhqVBPE z__+;kY{x$`V?d9JC~6+>Pwsu8rcvuSxu$1Suq6jhQFf_FkN zY8od5pWL%o6qSr=6F?@et}tEbguZ}!#a3U4FDc>_nZ7kx5}muxRENXyraAjeH3-g@ z&9(}Zc(!bM8BEc$Aa*~eXb?pdL}xEh+E&i#DQ)C(*eVj_OV1vR{^V51m9#b57umWM9ic@47 z9wx1IK}|wP8&NEVr$aImO$(zN33gTPVE8JIuT;iR_oLZIN~<}Qdo;@ zUWqVOr#ZzlwHutE8}IlQ@up3S4VmO^givq1a1MC?=4k6SDsL=P@>8drC9z`ep9|*j>-$=a_L*?Vd)rY zg)~ko_Wb0z7k0A4o}uEm;JN7or zx48+6z)t-+X-GO$8W6)}IyNOH1*RJ8!?m{0T}5+G@WKOCeF|f^KJTK;1NBKUT%3;| z&+=SpX`P~lGN+<(+6efa0Z=ep$?tc;Dtix(;o{z^skSxE9gX#q8`_Z3#rIDNfL|$7 z3Szj#4}}PQeM@u9LLnLm42$9Ne#j6FQ>a#qV+$fhkPtHmRK{@Oj}|!Sb5azP1)pthqTPe_Lzjm@Vr6&?nE+%)=&QRf zQm4|I6ji1PF{OJ&3^|0dGG1p+{Xpvx`n(V+EU%0q7qDOT8!61Kjv*)TU%Y!H1Z{)- zK#I1B^n$j*Re!wR(UcMFs?MiICV>zl!Hl99uJPk(Ksw`YzepamAFlAbN|OuihpYVm z<{h%L3u6`!z}nAhI)+4uWW!KECIIg(!6eulP&QlCiZyxSq~ublt#cA>xN$ zLB8X^`4wLvD~6m28gu1u1@9q5e55FbTu8i@lY2KY`p1wRsjOtrPKN_04(-|muMkly z%3{coSZ_opv0A3%@1!ARud*02C05GGj#hEfkkaTKL%sx;zfgX;0j#HicrZK{w7x8g z2-{SnIEH)*S`)xzaJXRZD(vDm0g0rZSux~V=!sUsh5^?0(L+KpWLxO9K0MqxJdQR7 z#gK2IH!xW7ww?fP%F}`53OUj!h#?n)^((?NRL>qWwTZ2e0y!9KT?b!G5O}X`vye1~ zl-w9{FP6k*1!~1ohcxCYp&0TmmfRr0lvg7Tc_*)8DY02d8nYk;@+#Kv!!C5VwF#zW zj-)YD%8N0+gdJv|A6{L%xrMonYH>--$(P_EDQILkeHEujLzS5mL%zgfneF4g4OMa| zhCE4{7ibtbArwPyByD_QX$<)hYk7{p3iXSp#T+DQ7ziam&Lp`61Ldk1awWK`K+D5P zXW)_oNW*|o3|W6QV6dGbX~-bGV#tD| zDRj5MpcwKUtg0>Js*dA^DXQAkLowt;(iO@-EfgEpReZ04*ieYK`Zx9pEVPBB!5=7z z4S^IEYmG6lTdl zg;W+l>Jlcbs!@w#6%cFnapWVKJ6c!b9wH;is=*`5V&#y=;)x;3{w6zVvZ}0CFjnUH zEthCuRd1;v)(2v(Hng}W3(2Y?SP7Imeu>$6X610wWL2S57VGUu=`4qnCadzLqF4!} z?CK4BNqu9*kj4_#x$hQr`&Rj2^Q{OH(`x6Ux+ED~SU3^ty%3V6toQKIu&Y!6u@+|z zWp-}aCU{A>rJ^*J59zHw0ST-fLI+90O$8;fkX1PNbjD?Iaf*b)y|ZGyAeA)=c%KZf z=mF>d#S4@%g894ov-z$0x%r{_j`^DTqWO&Z7}x^1%e=+>r+Jlmsd>J6mU)VKoEbBZ zG&g}|fOTfrJj^@@>;ud;rwv1Iq%7 z0|x|V25JN2;r@alf&RvNV}vots05n>1xBusX&8oT2ym0Z5B@LxANk*ba{w>+pY%WE zzuSL{|2qE_pxbbc|5X2R{-}SezumvyzY5L)Eb$*;tOosugTa2mTw}UXV~q8W@elJ4 z@R#`u{ki_`exG0V{Q=q#-}*lDz3+R|_pJi%aJC0H>C`LcbY{%`$9(4_cS-vjmxcI!{+4}(nQ zRyb#HC0JM7shvnG52?i6E^R zLi&+Xl239-H$sR<`yDJKe64+=y{o;hy{J8{J)+&K-3A&RS811M=W3^GCup78k#N65 zv$jU71B(d@v{`W1<2Y@ER;5*F#adA7p&6k2@t3++{T?(xJ_PyCztrc|C)5YkyVRS( zn!-Qe{KMJmDeAFmL_HkrLpG{mI0vy2kb2LR5MgvmEh*cpS|CB zKlQ%neZ%{b_Zjb_-ut|_dvEaWf>RRb!8wT&;iSY-a8{xPPD`wS^AZc;#KaUhGcgiQ zP4tCx6TRT%M8KzM1m|K-RgMFB)K;Zk zS+A^84pWxE>6jTxjWR|VrVLQZltLv}=?-UPWcd%!S@~A}Onx8aRxiU1mXCq->JIrv z`D*zx`F#0I`6Rf}@@RRpyg^kFZUAh2zU!N%R~ozQo`~gd@e>2wTM$5E{kj89c|} zSq9HAc$&de2o2(s44z={ID^L+Jj&n^1`jiMh{1yl9$;`kgZmiV%itaccQd$)!JQ25 zU~oHw+Zf!+;1&iqGq{PtjSOyJa6N;6GPn+5m3S?KYZzS3U>Ad{7+lHV3I_jRa5;m^ z5W?c63@%}CF@uX3T*%-82In(4kHNVNb}~4J!PyMXVsIvdGZ>uC;4}uOGB}07$qY_n za3X^f7#xpKFCLAsQap~qu?%)FIEKM?2AvFI45ADo47MSx5RXEr6OTk#E*^n!n79?; zQ1NgETNrF+unA$AxRF5zgLVdO3|bMEiW?9P5?c_Ki0cs+i_Hw05DpX@5f+K-5Eh7Q z5$1~x2s6bs3|2E(#URX}p2126D;U%v%n+9|IE=xe43;rCgu%fKmNGbq!4d|G5vGd= zGFZf5A%g`B<})~e!8`_Y8O&iYo53swGa1ZaFdbo+pgV&M2HhB#2;+rc8T`WFX9hnp_z_{87+_#9@H6l+&>0X08UvMqmx01S zW*{-}Fc29C6okJR{K?=C2LEC3JA;2S_>I9{gt5X848CXZ9fNNfe8b>tgfYTb48COW z1%uBSe1{pX3_fP?5rYpAMhPD;7SHpF!%?9%Nbn8;8F&cFu0h(MGP)vZ~;PJ;d}~oXX%71}8H(iNT2sPGE36gX0(+%U}nCV;F2_(8(ai zAj%-ZV4EU|V%gEuJ&L+VQuhezZl&(w)ZIee&D7n5Zuv&)c2KvSx^2{LrS1mmwotbj z-O?s>3)fS(k-F=syOz2Q)Llc})zn=@-7t0Qsk@T8E2vvX-R0ChjJk(XcNujLq3*%d zT}s`9sJn!^i>Z4cbr(^0A$1o}cRqCwpzb{C&PBIm4s~avTRe-pGtn)YLEY)pokrcM z)SW`zT67C0Q@4h?lc+n9x)Z27p1R|xJC?d*s5_dvqo`X=-I3HCLEYih9Y)=u)Ez?I z!PFf@-74x1r0xLf_NQ(?>Q+*>FLf)>%`c~J8M>i9)GeiMZ|as%x0t#`)GefL0d@1K z8=`J6>ISKsN8McN_M~nOb+f6PMcp3M&7^L3>Sj>48+A=|g8}Lq)b&%>M_rw|gt{7a zRqA@Ft58>_u0&mrEQutD{Qo-n9pV2+{^)10BJi=f*ZdB24&DR%0K3g6%?Hgp!9u_; zxPx$~c`Dcl*k*1vTg)|JC18m;&zxpX06PIyX1Q5t_5@1-nkj&e!gpXR;Jv`>f!%>8 z!CJtbfg1z60+)cjfK$OP;kLkLuo$o=uspB?ED}xwJ%*8RlR-IH4d@x@7SO;t;a;#$ z_!(Fzd>t$YJPB3`?*u!AyNpYWoyMugv0y!5v(WT3XPsd zH$wyY!CwD&{?EXQ!0TY8@JauJ{yY6Q`gi#+@$UrL!Lj~ra6Y2NzsA2DBnR{S)BF>_ zc43vj9ApJO{oVYUU-0eqeFu_)_u&4--Ee;5LEoJqBiQA;1S}e!>O0oA4I~6DU}s=C z+^jgyHx1+iBYjnH!$P62r>~n&^9lN1{X6|L{XPA4kPkemKd9fS-w5X}E&=Jlsrs?{ zHhr_+qOSqDz!H6)K24vXkJPI`Dp08R)Vt}LE|9$-6Znk0M_wnp;e^J6AQ8Bc?1GaT zJISf!Sda&7CM{$QoZ46dw>M6Mvl}Bx6)7i$q$kJ%G$LqwwePggwD&*~up8_pKB(QP z-KgyXIlxZsRP9)88=UfJ0V%+8Z3*1=I1Q{Fj071#xmKw4)VgUJ-2S*%{Z9Q%eNTNI zEFU}x{QsTmjp{DY1=*>d3f%uTbu(B%SfefndxP`TY3c-Zq*|qxtA)V%cT+W0@b2|~ z=lu-${@1;`y-#`{^xo;c5xD+K;12hspirQsBL_WCO;?AJWg#*V4z*JJP?T=cLD^`@o{Y zKcy?+-pRATHpF)6NU1|wFNNU_%0<#_sg|+imq|k@OMaO&gyN;r7>=Vkg2_W*-7l4@ zIgaEwg5z+Cmq>6|J*2xtD&km3@nUH($3YycI1c1EfMb7-{Ww-~?8~u&V>!n%j(s?m za_r5qgyKa~PmVbpvpHsQ>_PE-seofX#}LO}9D^M5IObA3Ps-%jonr>aZX8XH0geVo zKSv)&og?9>QH+THqWHJy1SLIm>DVCBrDKCgmyQi0T{`}s6`k-VQ8{`ko+~LFWsVZX zosx&6$dL`Tou0p#-}5KOKREt}IuD>+`l@gE#7=Xe>%OF3S`@nVh_ zalDY@1su=kcpk;mJZEq`o#Sa7Pvv+D$CEjp#PLLqCr~`qb1ui79M9o+HpjC#o=Nc( z&+#0O<9IB`9UPCLc%o-J$4-thiYIuEMxP{{Jo+!r%$88*s=6Dpv<2>yg z+c>sz+(7YI&t{IBIBw+FL2-xYFph_ET*mPbjt6sG%JCqMOE@m(cp%3`6p!(=aBSw- z#Bn{xMvm(^uI1RkaSg}S99MA+bFAmMlH&@FbsU#d-0oS(aRJBq91q|)kKa*!{FCD!9RI`dcaHz&_#4N) z9Dn8b3&n`|HOH?we#!9*j-PY$B#IE$ngV??{j>QM{r^{_jRNfC-k@EiodLYtky@*^T02Oasg2bJYDHS6CaFKEAFHpb zPr)wj)v!N%BG{+f1bedwz@F?7uuqo*cJKf4{s{Z9Z-MRmN8l{~wcd-B17U}BoHAJH zqvR<8#RL1I56id1ZGIQYr^6oT;c}C_LOxKQA&-Nd&pvXV9FRVcUX`APJN|B#u9VJ` zPL`t5M(=5`gWK#~rsAHzEa+YUE61r2Vlqc zGUYtwbom?k6R@lQs{Fj{mHq_F0pBRcD2FRe$_n!*kUG2#GKWV&;&2_v8_oo2!x12B zs0T^IERZt{1t~)>kTJ+0VfYH<3$K85;a-p}`~xHlCxTpIbzl)#MHmz)2pGoiAU}A_ zxCV3(I*kp+p~g&OG)M>(urBz5|5pFG{!afou#!*>w-#jh{_=h8dkHiFE`Z(t6~0>F z<$Z8c;ziiiKLczf901(8N&X_=l6T1qus?qTIge}y`+>_~FMcBI!-t5feXqTxJ-Y&J z=79zXUe*JuplxzhLV)x}LV%|R4Ylw`CZdT=rFUY8{CHBx>ZFiCi6PRPi6NeHw8R9z zMKA3@y~??*+-jEcRQjlg(?{K(KI(3?n*+bKu(hs<-cd}Ia->nIgGZp{97ydvM4@D) z2$b(l6d*wW-S`4?gHn+}&3rHI4w#;s*hg)Pf zfyJ3=Xd9W{L@t~aCr?K+)iiXTO?lAZc5Tz)Th@ms*4MRwX1B7(luE>K6W&t20M03` z$w}~cM=Q*5w1wW(mx(rq!83Oink1GFvc34#kk`7rqC(#f6VsDJ@;cfA=m%YXaH!Zo{-=eT^w zqrEzagQIRO&=c@;sGOZ5j2frLbPkg~;>G-n;R-wpUl~)@Z9&7c$|$#AelfwnHNii| z?Uz1w`#pp4<`SB}(~bf=QAdAp`zk?~C+NpQexckT2Kl48>hZ zA^+h06VkwW7J8&lJS|1oi9MxZA~XWK@4dEZV?%3m(|RzCGB;fW*z!yLgpc?1nl%lL z_0+)1=63l#>or_Q6lotEoHj~+CVf;}`l#V)qojA!MtLUT42(5^cfZdJZ<&RYHuxtt zt!@lcvs}uuGh%BytGlmAI_*1EpTzv>~LFK z-Rf|ga0<3P%aC0^q6mp0@-;~zOOryf5<{f>lR_4u9Y;1VyG-AR8}Osc3gMmXphr09 z!4A40PAhc9#hz8JaD*S{pvODtu?~8)gQlx!o{!^q6}qD4;dDjK>B9K4@?Q>`E+AMM zd6y%6n}a^eK_B6u>EebzyV()G(LvKi4^LC?2%qJkXFBN2I4#{9r$x$5uzbYHc>ez| z;d=pe{_h11|HDC#zYuQvdlvNbPX#^t;ejl$uK$p6CGfX1jDdz1bmngb%lJ$ErLcqj zn(t=cX}(6^OkW?LqQ9%(2e)-j@;tvPCQilUmV@skzJ76 ziHA#598TVmWfXPd;n6ORZ|>-kQPhdYM&oIc4kz!(%r5H07G^4iAP1#o(JAB%hPCO)9UCqv#k?U~T9 zc-A!DAW7$Pw|9qzwa%8}nO-=vmU!xXdj>Qto-U2&lbohoR&^(yFa2-c!IxdwiRVx8 zWEPg8xhe6~`F5XD(8-RVT8Fd~PMvSpq2I70sOeG=v$_+Hp#C>S)O-Uvr@^z_%mh94 z&iYTP4xkC!)$YZecv#gsM2u(R=xWI(h|n39dUsm3bnv8c{NP-if@CYY_3E^Y>0mO~ z89JeJj+)(xr&sYf6-M*pR6=LJ{63v{Toq4kVFWA(EJ2-vgdgbFZB!?oUd4OCc|z+X zeS9%X7Z;7dHr2Jp1L5J4?p2+5juj2+@Q3HMhBr1eceGI!4xV%Q;gQ_xzMXiqm7n2< z6V^1P)#?rpCN3S`iDz87nFz3c(g>0&SC%P)@Ig}EiHBb;^CnP`Il!h^g|cZ#+H+Xn zPCN*^Uj^z}G@ujD##$yv*st5!C3rD+(ytSb%%YV}tRZ*Zx_ywG1WG#b1TF14{Dfa( z*NF;0$fccljuy`W!nLbu`c72%wp*wZPt)Q-KuqWEJW=5zwX745)6z}?@$Aqf_LDXT z2{urKJ%h$};vrf(hhk1n%PH~KPZ^5OzgaxC6A#&@d>-4Awu~!RI~1RPqd3%whj6Vo zaUJi3_-Cb(PCSBZ)fNvt{ic(`5~12FHaLOGq*(OqmgYg|W#D>HIC zt;4$*Qx8wzA3pVuoYGD_zH7Z77&bsNJy7sCh3PIUEbX+8?_wTyCGlp*2Qb~mQfVh1 z;I;Bgm+m|>rxTCz(pkt=+OxV>bp9{)-UK|VBKsS@-S^(Uz1;3j0%YGwLLd;rq7YEo z5mXQb6?Z~tAR3aG1O-=g(w$DnQ4kjd7Zgwyl|Wno2aP%^GmZ}9KAYn>j^j8wIy%m{ zjr0A^t*Y*OJKZ7X|9W=4)G@EvkrXdXS(ldIMhABdKA0?eJ=b-`#cgzU*I62jk1+N%i);0)9;;UWPG9BL1o7vP84WcJjs^G0J9D(j-&$K{5Bm0#2DlczyTQ+56W!wByP_+87H*4k;J9`ANs{Q z3s34w%y~g-ew(weR?Qz<*`^^wzn^oyx3JBD0)6z|JUpqIxIL%gNfjg|eA4Jw)bg2$ z#-a~T!IR2~InN$l(q>1}F^1CYtjsoBVh*#a%Gx9(9dkg>%A)oE66tpmZvVT>f4%=a zf3-g!>;LzBd*OBObl*sy&HIk`Y47bg_deRI!{YrAEZmpjRC|T)@Vw#K=eY?s>Q$ah z_t)-M-QDgR-OF(TJs-FJz2VyLYJ>gwaGV%_$+-)j?@n=6!tVR$u=8$*W%o3#82A4F z(y`xhjbo-GOZ^wL_aXH{SPTqOzJZ6qN0m;c2`8iT;nnU{`A*ncPsUc!zwC$XZT9*0 z5q5{|J=;^Z&9-Z8(`|$C015sb7bIa++z&?|`PkjS(M3dDl(aFgvLZ;5X}?yI8}kaP zgCv>`V2QIaJ1;9pQfh*g-hv>>p~-W&z12aIK?l-Am+SZ-NuuJW zK5NG%8@x_wqcg2INP?=6GNOy$Xuu`i5|~pGj7qHdSjE=9u@GfTDGQRoDy9*9DoCG5 zoA9O}GA_(63zEco%#5eyX9h`RrCW2XAK_c(&MFI%%qn>B&ka>*3Zk;PqcVdeuqNO! zXJ&bjBvi5f6kkEcgnbz)3@&pj(t{+b#xLP-nd&PKl5{F~@FzX9reOu$kwe9eFnCN! z%?*;6YAlb?jZ9Eyf02B=ToxqxR6LQ%)1@hhj1`5)2T4qguD8Wy^UU8IRT;f-J{E<7 z!{zZol3ax-g!V1uch4E^3@q;*gJPv}VUXlm@!{*e`*TaNS{@{6R`fz+12JUG&0%oM zmyZvUT>FDtpW_}IBw1I;Lbc-R&6#y@p1ZoCwO0gc%a*f)B>&Q_YBYjcR@T602K_;z zXUOm%$-Tpdu}ec^ZN@eG7DBqkowoF zAjz;|7PUOBF<N3nCwWf9l&I_!JS?hB>6V^ ze7wP}76h4`Yx=a9@4(#P@)rb2%uPBUZ*cmngCy4uq=}kme2_$5{!7z(cV_Pxr?kP5 zRum+0SbQ}pQ}ksR0qJH>Nkx!k-hRD|AcgCqvW`bzvL8M>sK9codK1YuEWf(_=I z6@PJ%WMBT7FrLTSFsF30oR%9T={NDHy)hl5mL%X~joKU25b?L%x`psfd#B~6% zkaVMhpORVZjr|N`A(s?64L?W{dqtzHKgdWGxRB`E_YX3Xmyz3cor#O}2N}tfhqPUb z}%k-uN>w$qbS*mf0iCx5q{np)I$ zC9?GKZaWo!W!qY#k;W7WF|4mfI;Bn-JLhW*rfg27{*K@N3}1sS@hgx?^t-jk!Y9cY zZI>gNZs%n0xE1SXxV#Nlri^J@jg--&MPJ4#f+(9sGbDxGzJj(^l!^VAnQK-&3hUVp z&(Mmt7Ubwx&vtkQ7qvAbcOTu>q4*2iE;H(kcAI#q20En<89S6s1{-9-4p^d&3Q3(Q zC$%*q*W}5pJMj&UJz{JlKS{Jp3N6bnYij@l@xww+nmBsNU7-uJbK6!SW8!xbnj;ss z)gxJa=f%By0#Vg0cX`{T$P)d|Hw7BR_IRTyjI1-k?UKH^O>>WJt3wv?MJEoHd9han z_)e9}+gA3k2`9R%+EyT|P<*iOWUPjG8r&yioxL1IdP|F;iFx^L0VIiij#cbJcn&B# zLCb7gmbmPAl&v+FtutYaB^BEMF@5zwm$H|F!=Y{zEv0e>*$@ zHskF5>Hd@aqhJm1@qOd_D^A+K=z9{D@b@@RaH`JRVGVyJPS~IAo9P>ibM-#&cixY1 z|67K(7dN-9)Xvr_abMrF&iUG}z58&k{$||ISL>aJyZDN{9{o%G5Bkq=-`?GNyLP8G zRd3cWb`IB1cDCqa^c>ykyx8*v{0hF{>Go{%bZXCNA9=2T)%WsCJj&zB{|?AF!Z*-SsR^il=Fc<6o}*&K{g;zt+|0TIxCrC)p>v zDqTgc!LXJ_8K$H-mrG4==Oq>HEvqJi>xe8ipc5og3l zC~*<;!*LPzLGck18TpE89iz;YdW(hHV4+3srBS z&azNvS}3=flDo~6-Dja3tTPPV27Pyxf5k`K9v^W|e1t77Lf#!0Vc$t+$$Zy`-m77P zZ=yHGrO&t0^7nD{gI3y}YCIFafnKwjDaTh9iuFCu>G*(#AYYsVRs+Zl3VF!KH*3H`9EE~m7PB)yN`1$KY1KvS#wi&zZL^K-IDwH<^ha8*eu1OF&&0_onTp z%*wyb#6Qf$CuZVfGqK)GEH)FTn+W+^GqK%7*mX03S-!}IfxNV(v3_-Hz?mgau+4=> z$>yfUdJLaAt*h!6)URGq*HDu*rP}($w%6$`n7u37>gia;+=iyrt?Ff|@-SOnLtQJp z$<$pLnAX(PKu0R(u4sUIlhw2;K4K)aS78ER2`X&}j zkHqu7o-o!pBgn?`qQ=#=E9b$MK^_tNT^NzG8kWf;ll+qB#(oS&*-^1yB6dkz0%tYJ z6=Yt`>VRV_46GK`B>DPSJ#<9obgaj0>tHP?1_&szHO#<*c<2xc!Z%gQb)zdC`Wq5 z^eUx{i_atfEzZy5-P4VXH|InY(f2?1kPtkSHUp-HGIy`54O5LBkUvuwq2XXJb&-FLg zW3COb_@CnZFMRyn=3MF==X7ho)o#&hwMn=k;2p=qj;kG~I!)uiCrpH`y24$J_TFzB$uZ6e0ylUwJYH6@^Ge(pR4J!9^ibh4htY$e?i{(t8MP z6iw=}UQX*-T*3N=Q}IR3qS$HqB4T4UsNIY%g0?Et_U(BZH(v z5k}URLlj!nxTt37Tnx}PRtnszQbqJeA#zr*7pjeJ?WRNs3 z{d~khXg}#)M0RV7trWO>w4p)Lz!>i=iT2@kX~V?QASq&u;l*<;Y+YL)Fnf%akPmt^ zQp+TMxwo&>Dubkf5!Q6j8O(!I%4KzdRglBs8rMR)q}xx=t_+ewMijueM-~W^;#kI!C@=>#kb*`OIA#qe=Z^@Ix<**JQUOCe77dCL;C@2($RKHL#LK9~ zkXR8QiTP{{Pb-D&lhVtAaXK23k~wD)M8-<+B^^ya`HoDV9VDI2j2RZ?QEaI7QXnNt zLcJxKBZH*b>1VyggUf=X-8q)d>GnMEB^^&c`Q{9+3X*n5sB9V=M3*utG@eGw{pBNr zq~+;n4Sv_eAZd7xJC603b)sb5l_(B1xqK%ENdq)_vgvaYHCUq`byRy2>*Z*)bcbhb zMUWIk{Zc~S;Tc*KB%M(oAI>|RFxMlsQD1qqLF0m?Gx|Xv*E<|AdLwmGOt~yx07I9A zTiVA3Ntg7)7^|+6f)}9_S9iu){Y87r`U;}aPU#LMZD{a9Fz9PuyH$E?Xld{Q|X=srWFRy?7IOcyDNidAdBed zxGz8)iRx#gpBMbF7Ejm9gQxee#Z%mc!TF{Z_ZC2IJxNXv&O?@XBf?uV#$^XjLxQkU zGyIquf6(lVjEdl?NF?WT!c-zQy;y%I(yeK}X~9#Fd&-nVa}=B263kMj1nIW4@fE?j zMvaWe3}Ii&JQ-=i^{W`3Bomm!(rwf2c$>>LJvbF*xrg?+$<*{xt;58W;FNB2rVR^D=~q)74qE@$O0P-K{Xgcv z1-Iaxrl(Hv%tui@f8!X*mCX1pe_Z(I@MJJ%59byKSB} zc(EG>`~TD|3A0 zc+t^`oBgIa{OTv_Q}D4?ug+4lm2YwO|3T$)Ws;I1|5kol-XPb=)w0k2sr@(h=dmZS z#U8R>X1~CGvVE*Q&+fE+VSB}PGj0KxVoSwi(7(wcl7EFkMC_MkUdSbml^)W^RD?(> z?$;OnA-y;&L_%_cW&1-eEJR5j{s9Zohn&t6LL?INGbLK$Rwj;hN)O=#bch6G^P(=^ zj%(L(DQO`Riv4~jE-hc~l6H;GOAC?kYl*BxB#F3|$We$San=$!5|JddS|TeDNdl-P zas(nt%(O%fMul z@(>AV$Nrw~N|Q@NB&Q7>%I0vs?M`1uQ&8IF^oS!lPGUKk>YEV-<>TT`n;B#sS)y~9%(A`wk|8sd5( zj&w@9RSawr+WH#UI~Jvk43U^7mJL|#kyyv>wrR0aE@=mCZjg|ccr5Igfw4dW*|EpM zjuYgP5Q$-8LkH#=+z3AwLWN@om4`?K6CBwMEUbCvFtUzGFA0$-b_|ZWo{=FEzxw&a zgXMw{6T#S+rQV?dD^S|u^oWPET%Dh@`Is z<8`MK1woisr9 z4$p|ti73n8nP%w&3*nTu(`Y&YnZ-DWjiFe`CEZtx(KH#^#H+QAru*h;V?&dWEY_G9 z8P=JYi^1{>S0Ak%|b2-QuNM}|fsoA~&!L}ATfrI39*=9LO$7ju;0Wf(A6 z2xJ~5SB6F)v)BnRaf`JhYE6Lx<#J(YI0}gE4gR$kUw!P&-#gS*5-LX)@mR>h=j~Vs z*@|8Hp<&1-jKZ-_C3%DcGGxg4p)ym38oE*Y^yM6o!Jm~LDn*9)O@VtoW3xjgNJz9P zaIa@bR%ob^XqrlmVI|$`!e_Y{Y2veNM6(}4YXe)07=;hQRLXs7^1`r5PGBHeRxX(%7L`u+(ZUrKQ(PjJHlA-s{A9g?WD>s<>-gTXP|gVDAi388lr57}vP0QON!0IKj?1VHWg&6G1lI4?b#?TZ zQUZmbv_M$4Ve5|>esut2RCzt(vds)XXhTA0SXO4 z7O_WcRJI6O&}cxqNA;A11{+N?z0%lVF+xu19wp6fzd+h=d(;N|{r@^2*Sfu*djH^k z6}Q?SaK7q1$9W3$_TM{xW`Ds`xTr^1un5Lo~J0Y2hGj!PX29LK>X;lJwp>d(|i)Q##I+(IxNKHYWPL-?lh zq_Pzr<1SH7SH>$@@Fnmk*zZ3q-y&ZjUm#DD%VdxJIr~n>pR^yrSHfWJYwaEFIp-F~ zPn=h2mpSYFe|Nm;eBS?i|BL>8{(DpHb*&maRuDSiS;9bgATbc0Aq<3v2Ls{J!N6Z~ ze2F1#aIlaD-yxJkgRc++;p4+V`06kazBden4-EtVhc!E1WPBWlI6lhpVU9aE-otT| z_MilR97f&ngF@(7%dv&yDvm2S)^I$R^PuiJ0>4D@)JLuQVPwUwOrk}d{ z6C;J4#k1EY=kUI{P^Xy)lTmSf&C)>q?9~mmYCBnL&Z}v;G_cGttTw)%YE#14hJ>+v zqSL06*`8TbVt+b$`#x~WgYbk+YMyghbSgc?a#Be3Ig^%GmnTmOBu$b(PM&1kJD&K5 z^`WWzl)svZ4}E!(TG#8jpDmDQ*j5E<$fW`9=npJ}fjYmvYWiy21b$`GW@sxcU7-A! zYFot&pH*&eZ_N2hI4KW#Tk@p)lP7IWo^)^Wq`Q+RZAqTAIeF5iNjNHj|pmi&E<6~YFcs2itXawQ5W=%I+xFEN-Yn_ zr95DNSp;^7z)TUS6oKJ9V0%Oa?h=7bB5;QYtQCQaMBsc8n5@ZzY-m5kQ3G9R@^IU{ znufaNffjzeq>kK?)HkkJ5oo@YPE(xLSZkc6S!QU~Y-RLp*l>cIf*H`N!_A9r3mK-f zC|f02h}SpPEL#w0ZmFwjuo;)o*TZ=XEZCnlGP3Y43ZGW9wsCc?b-A> zsWaTV)HN7qg)XnDw>eA`to((UxXVOH|7FLagg!z(JC0stnMmcYtmJ)?WW(i4{1#UG z7)$E04zQx^gLN%**i@N^@D_fkH14!0Qmz+ADUI`l13U=|KGlK`of!OIa?TS=t@i~} z<$uH3%GlEGJhmp$&NRN7rrXxllMU&Ded|bhV@M+M83|)grNL)XPRL7peS}|h`_|Z+ z<*CyD9zXNGCfpdX#JAYDz&FP?)i=>sEq<^JC>X?Yz2+AFWj!bwxbUGy5N${Eaq57`+ zwt7@Of}05rs9ow#b*s8bU61<-)?pu`NnNQfQ5WNuf;s9`b)s6OmaBzorkbKURY~~@ zHx_)TysNye9951eJ<0*4OWBFtj!nvXC9JGd*5LldmC6!jv9ds!qfAvMDpg9kQmAC& zHUp<3;XZ@U~ zcZKzL^|$q-up#Nu59nR`PJJuxlU%Qd^>z9hy-8oGFVPq43-meqRDGgerI+i4dZwPD zJ9P>ECO-3g=y})kw&$qlh^Gg;K3$%jo~@oup7oxvXPsw_r^&O@v&7ZoI^h4x{~7!| zzUzM*o*s|*d*JJ_3-?-V^>6a8hrh>l{x$IUxDq#9EcP$(&wBt2r`1v0cgp zPBTBTT?+FP+odo+v0chIo{s$yyIty1n4j1#h53o?Qkb9EE`|At?NUbZe9TX5mx8?? zqa5=S+odo+v0V!D6WgW0)1Q$JPk#o&)1QINPi&XM{KR%C%uj5Wf;}W7y^tgG6WgWa zb2^VBHdBmzIUKV&V(-a_XMSS4lnhQYKe1g3^Ap>pFh8+f${?POy(*&|^Ap>pFh8+f z3iA`&r7%CSU5c0IV}4@06c4AFpV%&i`HAgPn4j1#MdRt%`!e`r^T$BuC$>vreqy^6 z<|npGvGH{NUS;MdwoCq=#mm?09KYrG4acuJGC#3h^1nIF{KR(2Uvm1N9KYcB zIY;aU8vH-w_$kM~bNs}>y)yGNyI1}jrp9-c@g|Nx=6EB=PL2_d9UQ|P+c}0f206BI{1L|+I9|_j9mnf9Ud! z_WpLr?EUSK+56iev-h_{X76u@%--J)nZ3UqGJAhJWcL2H%d9`Q%d9`Q%d9`Q%d9`Q z%d9`Q%d9`Q%WS^dCbRdqO=j!SN-IKj-)}jz>7Y$ngb^&vX1K$LBac%kdeGJsh9r_!P&( z9Dl;`Nsfm&9^`m{;}aYo=lB@MM>%$L+|O|z$1aY04cw<(#qmmxYdNmrcm>DHIj-i| z%CUuGGsnxw{{Kwr3CaIc|2_Uy{!{z~zJL0j_T7XV0IIzI_Wr`V1*`6P-VwO7?>+r7 zc(h-r7kNJQ{L=HF=X%dP&p6Lu_owckyB~oU`*YmKyS{Nf<+|HdaIfBQSp4t9ZU3jJKIL!9UZq7jO-aGcc>Cnlu=UTjzhm!) zjlm-O7~7Y&gSK02XWK?gU!ak(f7R`CVBIhPyS}~oCsenSvE+ct4k>9T+evOiWSnVX zTQPK;g@s(w-h8>boopxvQbiuBAd^Z_Ma(!U7D5$ysDkV%2U11ur0RCEuN+X>L51yP zZ7IxC@Z4mq*dh>3%SF=$Xmq(Z2kgy8mw0A_y+E+fk;~i3=#raJYi84Fa~N5(&=Rt- z9LR%arslSj$tAZo;?=MUz&aDG$<%TntkWy1+sO`dKxNTEWR5BN-|(r84Nrk+S~{9W zrkDd^KV(#OJK1Rts4PYR+|GVi=HDJPSJB> zV^<)WHV924i_L+sPphtOCo9eYmCYz`ClgOGq(zfxL);uj6VuQ{GV&ZqHK`M;+sOiS zKxNa*+Q}%CTcK*ASr~ezAR3s829jCmKq~R0fn*~(pt5KnnT*C77`>y=;yz-p9}Of^ z(ScOrn^4_eKG3rGd5~eL_<6*xGmM4Me?Byi%u5H-Jn#7GcCtJjP}#Knb}~-ocCUEB zM*nd@!@Ou18K@3~x##%mb~0ccP}#x7?PSWz&;Focy}bhN^`LQN!8(u%+~_qjWgSpi z^coqs#(K@TIhE_W&}(iqj4WFR!rTSsWbhheZWuMxwHN^AE-)vP*MTs1V!k4y*a4MA z!^mb-d-mfMuxEiVXh6yY$tPBeqpz^3`T$SKb}{Uv)aivHY3BZ)zu6Qtnmjs zlfL41W)#bgHPXQdBPkkiNe|CVDQ+jLSaFUFVg)lVjs}paDm}M-5HcmUGk&;C&S+0F z+GiO3Dr7KB|4R?&ri^J%MT)rSK6Z|cn-TYlkREpXhPJ1O7A3jUWsmflT-xqOE@SRU zdX!*~bTlQe-G_We(~-}50A!D}QybmxMY>^EPwBBcS`uFBvPWtw8r`m&N}!{J@shYi zh2IK8q)XZ({iv|A-6KkngO*r{#C2R3WyU; zy)Mb<6@h-L$Sx0E-M?oTfkU8I^)G8#T4Cr)WbI>ol(;KHYmr4f-Z6g}L*=2NH7Fqb zro`rtSV-FA^;L(iK&}BywvX7owEkZv{Y8R}`hC!g&h!uU{l&KjH~XLDvwPpd>i=Tz zNNCj`)jOe?E%AKqIqbR7bGl~`?%%)NJJa5~XriA| z?oh75&G}Q6GDVj^kza#GIVfKW{c)u{*#3$AHTy&MTX6E=Ec;}8wq3IQ!S=jukL^m^ z65DKBj?IP#N&GJ(OhPF?8)Dq5V9eQFCHWa)5;+s3WR!P;;%H650Zfa)l!Ut8MGH}sL^kn_NBgKK2NW$tQIgAg7cCf67$#v%th7)@Jd=Sa zT!6wPbM-EqUy%_ei7G+LkdiQoQbK^HpAVa{Vj-~32Wyg=dNaV*N|?kY!GPMu7{o$g zkOu}N8TDq6J3J#ya!-O3JTeJ9;*rs!xNVWHT(D(w4Ld9pl^eRS=@B*``9W*qHa)tq z=@BOBMhr&tMu$0!=4YWEl5u)B5?dN!lVB6KrO}m%f+oSn^dm{n&IprW)0<^Fnoi=2 zcy6%`ArS3>%d#-ZF1-s6$;}9pw2~kNZ;Ip;@up%M2(b`Y4*_cuPI@yKRFV-UAtXTx zT1?W0Xt7wm3Iy9hU`z5v@4{*28DSD85~N_ZAn8H8Ai=Kp622=9>`9X7%_MbLMwkSM z1S#odVUibOtJ|nsVo?)T;%Iv+n3L4dn}r|DNjyl90_G$Q#F!^uI(PZOoWB0OS@_B_ z+UaATAO*`_`lgFl8C&eeLTI-SQZ;?ado%D3&1k33b%GQuL+I-)rl|NOYnK;H>6_fU zsHZfeoj%10Qn1{lZ*E`9%`OiZ(i0g8KX=B2ov_xw#QrO|bWzi)X)D^?pS0Rbt z2w+Sivm08Bl^D%BVjPEs=p_TJ zWNgNW_Bxd1%MAKLv(H6>WyapIsA%N?D;k5RSz&#egiDmYV^GQR0aj8qxTHORvf_7$ zr@@TDABBg|VO6MN*#N5;T{^qH7G?R>mDFMM%44!ByQL~xXW}F@Vl*1DbbyVhEIO&Z z24%%sjNfR&FbnACo;QI`EMP`PlXW~sV&Br3+C_x6iW*d!75 zxzye}5-q)OfGr(9sJ#6Gloj7Aw3L1}3B26y9gb?wA7C}*sOCItHRMKN8l9O(mC-OB zzg#YBKNnd|ziCQdR{3#MFTAhg~CFVHND*=YnQzxXyTaztY+xg>h?1RS~k0~eF4gv zM!R{zgU&UR=*yvK=;;HjtY}1a`}~2H#dmTZ%8KtcUp#R@!-~+b(+0>KtE~1@P0aDw z^fTlD=7nH>$^e;T9o9Y+){chTpB+0=w|bl%>i-c(ywZYxE4oiCgvQc$y*Zp4N728?-gra&3_|T^pqh z)|`%S93Nw^#_}lq1jKRsRD&gm0-oRUgOB$!7IN_)uuV%UdH~ zg4+n@%TwjCa*3R7PqoXk%l;kiOnlG&hW&{BN&6%A`|P*c+wE7{SK%Iph4$I@YTVaQ z;QsCt0Wr3*{rPCQWo*h&DMEoDd6E#ezd(K_4B+ih6gpKW-)4t>l$f zve`4hZODB?yN0?P__;j+pNzZ4*s4JsETW2g- z8w(o#xSDI0ja?R4p`J@`P!Q+PQ9U{vMfak#;I`@dfX#4Ph&Z?*3fP{a+=4h@A|$v* z%(3BR)WTWWygd0tyck?)Hm9+rwXR_WIofJoT}vk&Tcq}AYV`cFv2r$!FH1pkbYzq@ z=vmFpjm=Vr`MpaYSg1c*sHZH{VGH%7g*re-5HVU8z*u0F;k&_hZLcWlQ17Tm=`F$MRq2NT$>=${?9~_pC^j^Rieljc+VIcXsW|Z zDGytyOfw}vL&q=iC|C(80rIBRVqD>95$NnwSdI08+SpdG{RA4pEVpqqG+^r;GclGY zu#DD3w%;0c)HXNP*Dq?EvAP+T85v)G`+dn0?lvkHB^q(XUPG&`B~j#Qbh@>9b%V4; z1b%D;TI;2K@r;>x+DtrYCJvd2$IZlJW@4Y2=rR$~?KG3{-oD%vUSbMg zXbN9o3ZHKZFE)kGF@?`Ih0ijD&oG52n!?AK!sAWhai;KCQ+SLiTxANw32pSbMw!BJ zLK}^T6WVAv)f9HS|;aY)zRNSYETbo_?N=LORvT ziy?oDeL{T1Fq)@W4ispySH#gH*f)r~QIh=@(tgNFo^K@=5EDAE=D^@U?20&UqFIMAb3AVf-)agQZq9g~d8YWOrZ8S$lut@5tUh82H=Dv3 zI3mCDUMwsdo`zXna=R&hnJJ9HD9XySO<@eQXuRR2nDfbv#oK>t3U4!o@k0@1?Lkxc zI#c)xQ+SmrjDal5+8#88?=*$in8K~5@N!caKg1{>Q$O3Lo8l*#!Wj6`{H3OFzA2n( z3J)@c^;lT?w<-J&Q}|<3_%Eig>3vB@Oz}T8g`cKxTXO&|Me8mPNFiO$!!*RGg)G}8 z_=ZV*m>J;>ruduatI`};K{pdL8(Yl_&yjweDDve*kuTAG5u*6QK=b8wwSjXQn=cJC zOUCC}BuTHZX0m#upHU0W46K;7rpac6n*+;M*9L62(gh4G3^`c@y~ZakuuKY*yVB-B zO?^{M>&k^|8*2UW5r!0i9ELYj+d=jd<^IuBt5~eAwWhAIlE%F=hHN??{tncc*3=nR za=L|7erq9RtL!d&t*N?|^jJvypRDA2R?_-__5;>bGNPyHmieTKUdYv$j%o^;*ry3{q(Rpk84`Mh(hbCq+Bv%u-l{-Pbx z9?^aTPXMDd&G84Ub?wt(#W#7umpIUS^2O_G|H-$4pi zvHKLS0kz7iJnd$T--rw*1mLI`ytSDkdifV1s=4X6s<{8(Rxz0 z##(RHdF{tY>>yQZ;^J-;Cv|JAxK;19AF@OTv)M}Yc&-sS9i(VY%p6L!4pO!X=JEQk z{Vp&koonLa&LNo{Owk&z1KaOJLDIA)F6bCv+QGD~%!rW~UP`d4H3opDR3gW4zU z2Pe|UCgZeMFAbAc*7#8{PLO({N*^OcEqVleNI9E~&mR5cFsWz_ZIa-VSY?E#6(Ut{ zh0Z={H)6V<~VNx3#S_#&6sy%_uX`i$~ zE(ntz+4yy`mXavXf27og2-->dvM*NNlk1_gs9C( zrNu}zVB|_29wvpbXg{|_G5DFoly_ahurTR^#T)18#M2ZsatMmnH1C?AoDK|`7U6C9&ms~wAJxq$*_#3PD zU0qxjCPggQ$%(cti`U8RyGkw&lh#!jR^vUfZixoaidMZUOqx|;5sD|Z?61VrDAEGH zq)_dXZfj?doL@g zAR*dVE0=^xKgy+m*hEZvOTM*+Y!||W%cKfb*gIgiY@5T#dKR9VRH5RjjZsKHm1qE& z=4a=JNe#-sUrM}Wuy4Lz7A9S%czHYn@i7I#X`WmbCdH=6$Oot~Gcc1x3L@hvIfY?T zXNt}cQ-VOsf_Fh$OYts5604ONEpcvh(Ql-r6#d4lrE$w@MF<>cqf$~(_EG6jWH88$3xpOI8%>KY3+QxdX)!A|%jYfBOeOI>5Y;>3h3V2%?$0V#YGFF8ckAPFP!MaYnc@aY{~Acob6lZ=ljuD!c7Y={4KOlJi^V zC-BwxD|qXB%=w`6PG_g{8fT-k#<|cr%Q?Y0+?fNt^?$X0Xn)e)fMx$dZI5=hcC&W9 z)}jTpbF{hIWUS;1v{X%YeCha$x;) z|F2;G{|-(7{8W8H-L2lOuD5**AB4Z~KMhNSlhjn@edR@ExpJyf<$u(_3wIN=V{hVI z|8(q5_58eju)PD?L1FQ8q z{X+c=eU@IWkJ1bDRL__2cleg)InQ3t7SAo74%|3*g=dwg)^jc_31)dF!goeKm{urEMBZPDlLYe;%Z40$FP7lnk zsc%{9_?Q0!d*<2z>G`GmXd{k?x0=Gn?l6zP!4$tPLmp$N`IlWY3e_m|s!c8SjY;A= zNfT+wZ{JLCKlOJ;-Y9A8 zzeNuNs<1c)Cy^@OW+m5K$;+(dc~%mtFB2>Kzpdo&t>nX2(%4{(HpAXzO+DF4P7i~>=u?QM|7n;kYF^#Ca; z8Aqp^GY^VOOpT-c=FECrqSKtH(yNR8-2O{83=nf+aPz&n103I(3OTl$iM!3j|3RiW zM)xGKPO_x^Z!ps_*Qfr{LcL_6j##K?EYx-jb+3imVxdmAP^XzGIb@;QEYy`|%KnCh zdeuVJTc}ISl#LBc-t)F^ENKr|sDOpCm_6C1S<)Yg71*SXeep8dx5At|@-9DGa+3!AFKN zQiSban!=k*;pGZROrCyq`@7;XEvG1OMpGzHY_W5H{qLHib?W4V3y zn`VMpI`fqMSOFS-Bw8Ei)Lb5z9tbpGyQMy`%<(np|1Xigmi%w|5Bj(GoBfOY$NN3L zPkg`hJ%n2Tn|yP96+W-`Bisb|i1%i!pJ#iAV$J-X{!{${{W`rypQPt{zW4kV_X6An ztNIH)Q#?iP&u}}yqwWs(rC94`yS{V1<9f^$an-w~xrRDF$Ns_{&NH3kVFU0p?S8FI zJ0HIMQXHQR9YY?*kdzW(KQkoGk325a}^)ZC7!x)k~p z>-KE-Bssf-w54L})Yv~Z{30c`4q#zZEwe^h+0pkxPrWSUPb~O18bocRceg`Q= z#SS$8VR8VEaj1YaqX{b*ms-+6%1*I89s60wLf|nLm5|O;R1&W}=pLO~)CMFp!2vl;dm_4`vZJD8?2UKP;oLrJr$GOna2HM@gUm11z4wG!QKxwL~6 zmBJ&m$zZ}1l)B~g+z!%Piqd7KcSLn|5&gg1!rP5 zW711HNVnOyqGl?Y}Zrq;gG?nqApJYFE?SUuarsp(Znl%1TffDPR+`E6&O3ASG;) zR9G02W|e9%N+csPK0F_@ErHF5DG6esPeD2~QaaSkY6gyN(`OQKRi z+SdCR}bXdO+%rVFe0=YjpmqzrPwpu)reZ8R7N z#6#vnFdKm^V(^;HdCXyC%|>0rlh&05v8~)lWs|3M*|9$hg@+|AoROQ;QI;L68kK}*Dzu&*X-|9cZKi;1T z9{_K`<5`EV-ghcI^vO7t-wo|~z&q2MrGE!a`9pdK&H$XOkI-%K$@Vk&Ve5eJwYi=V z?(g02x}S32<-XRv#68`Ox8Zu-^{DGsSCi{Z*I?&Aoj-T(cCK{J!5R2>w8ypEwR-I| zE#L7yR{t9vjgC_t!_=?U=hZFh_3#cbRCVG6zzfPQC8V4W|8pMs1Nks+CAbEs-ABtl z``@7RzQcZr{Ww_vAGJMVyU})u?PNU6!2VT7Xk9XZ`-l#vq!&hL(ISRsV*|S}Q=m&a zn4%U$Xz7xd$3z<1JEB#BKCWIkFAt+P#Zfw zLQ9u1W7u?Kw8gUF+&jjJVrgR|w3zuJw{9M&_Kk?p3WiJ8WFY9vBCnv^wb*&yu{t2rX0iJ0hNO^Z0>cUw(vED`M5l50i61yVAWQ zBD4nSSA{8BeuS1JNxAv7+z4BW7~QW}SE*0b%lQ#ni-__VO!fHwb8tydtV}D5(E3Ac zgzyVrDU&IPi~+egLQ4^0Pukdk4O5(gZ;1wwsU~eigq9)V*%%9+(Lx~eMRH+;Rwbe{ z8ylw8)&`nd1tQCNY2^`Gk?{FcVJuiSa~N6A0XJHn2yXaBLkw#T2t<}M+}ROYbck&M z?5DNRrdkWE3!hjZ=SFDFA(s1%4X5L>T=o~qr==A}Xf@FX`%~PR5n594OQ(&id+CN< zl!lpVgcb~9EH*YQ474tSOV+iq5VFlm8y}%%0{<=X#}!%Wcf=mr9D`yr)HHmxo{?y44TG2o4rih;+lKoCqy&FyCXvNb4P>t$GsIaDC?R2rYO_J(Xn7rCVBuZwy=hpx2G< zdvZg;oKc`H*A(PNX#HahPb9~^v};oHBed=j-*WCCBI+li`)aUfOCQEQZYo;4C_h4L zA5s1aW;DzJ^{<_l8(}LSRz9x&wG-1LwDgHT;nTggxGX}e9w9?ODoVJQ)V)T|j?kLN z=t(@FVR|IZe6*W-zXB;!|?S{@mUL?OMPrO`boa~SPfiDw&xtm4^vjne=c zo|delKx$6jT@bgK)V&zppd*XuhE;4MhXeZQEOdhh84|v~vrM)JJW!iWQj;z3cnu}Tn# z@~45hnyma>UtvTsm+w7}=cH#xU80 zA|ZEMudXIQ}ya&8p-krF8V3T*fH|$*pPlQe0m9XGn>|NlU<0E7zzJjEedYR$`KNcSbFIN%#Y)!_*J9l3HwT^!C%UR!<*q_krYpte zbV<&yaF@Y{@OJRF^C)~A_BanXyPP|5x4|aodS}?V&bh|fgdL70xbbfRZabLjoan4_ zmOBfbna&ia(6DUissZLcvtw$@uA~g$J@9!@Q9vYuBWjO&K<$E!#a4Bbx?T;d>(n)B6D%&4 zsEgGF>Kt{dI#I1s%hf_PQ%zBws-%3Se5QP;yo_0G9Sh*)VX9-Iqsme4D0E~xQXEe2RPRJ@6;56h;^xJPo+@u9 zJWG72zpKBkAJvcOJ^BH?OW&z))i>$u^{~E9U!yl+muZQ&)c4(o+F+f&jC*tcA~c8K8p38FwSSJ@ibvqYKdpDXMtyqXU_j3 zK1SQc7L(ye^BI--FMUR3{!4pQ=D)N@W&TThROY|5M`iv?dsODXv`1zBOM6u2zqChX z{!4pQ=D)N@W&TThROY|5M`iv?dsODXv`1zBOM6u2zqChX{!4pQ=D)N@W&TThROY|5 zM`iv?dsODXv`1zBOM6u2zqChX{!4q*gX&k(ROu;|`7eD+W&TT_QknnKr&Z>^^l6p( zFMV2N{!5=$ng7zKRp!6+kjng*9#WbA(nIPaMt>brALjTF$2}Z(bKJ#oC&vdlKEQDY z$L$=qalD`7eH^!PyqDuW9Pj3M7so9eH*>s`<0g)GaJ-%4Z5(gqxRK*695--W&+%rC zH*x$i#~V3za*S~7;27rE&N0L>$gz#%k2v1I@p_KyI9|u`T8`HkxKCm9K84YTRpwXr zu*&?(9#)xO*~2RHD|=XFeq|4<%&+WWmHCxDtTMl{KT(-q*`KJF8T_AAn>aRdY~Z-c zz=LW%$4fb0!m*CyN{%ZyF6S8FxQt^h$E6%=I4%`oryAI;PT_bG#}hf8z;QCiNgS&=PUJX&-jcIUKV&W^v5qn87if z;}DL6IS%5O#xa#+3P(RjA4e}oouh}No1=@P)4<1+_c;EMafWsY`^HjWZQ<-Z)i=lCCv-*Nnw<2M|?=J*xIe{=j7$1gel zlj9d0Kj-)lj-PS-l;htye!}r%j(_9$5y!uB{E*{cIDWwK&m7<9_$LGRD{pgri{qOH zKCP|bxSV6az?W6lo|jeDo|jeDo|jeDo+B!2&k>ci=ZMPMb3|qBIij-m98p<&j;O3X zM^x6HBPtsQM^rWrUR2pQcu{5J;02Y9gBMgb4xUrlICxHFsxZilrry+C8c6(Ae z=&*XVk$zac%E0{!>$m^w*Zxu7AKe^Tf9_ZIak`7+UXG7&e3;`y9QSbC&2bmUog5$J z_yETp9Jh1a#_@iR_i^0H@m`MiaJ-x2T^zS?+|2P#j+;2%!SQyEw{g6c<3^6RaNNLg zJ;$3l-o)|89B<^<$uYvQgJYOuJI4^mAjdY2KjL@;$LkH;r>x_6omYNSx=?yY!oB@l z{cZlm{t>?Kd@uMm`f7aRd^Vh(e*sqiE4)*@8MyoJCH+DDNBUWMf#(a)o1T5RM}HO8 zRTZ98_j~Ra-S@k%cQ18Map$}Ki&O1Sy6$jYib{RMQZL?i#yV!O-bp7v`{=<*g`fo%hsnGhP((IWamv@pDP3)SOb(H3?OX?XX zmvxfzOl+F6WJ5b^3L@iZIk%JaW@76Nn>1$zmb1S|9wirdGL;$Iv_-<~#^zNuWM#|( z$TU=*)JZxsZtX~VYr|NZREnoJ^Q)s1Mxt;*abYJZ(@fi0*j+ShR(lHc{7%xGi5;i- zt?8cpoavpUCF2&IO07^8o>Ny}e`cUIfICJF6K(3CMu#`o)zqIQEZ1oO z&Px=D&*xy2T@)R5ny`Zr2=*$m9~0g8)?&S8jHNizDLt*E4ecb=nXyj|bx`!uglNDe z9kNXrTG~mf zbz9Q(oT5%rxEa$Csq}godK{8oa2IuwqD|z%)Mhk8AhqMCnOU8rZ8Lt<;1in=4oT1C z7Ia2cZT!ta)kJR&K&78_4eKObo9L0%O;p~P7fnIRc`&!AlhkgaEs5HD&^Nr3G;czQ z$iD!972M=QcuzirJ1?s6-YJR zkvgiAba~>JfHasPHPzRwr76csQU2RAhjo%7@7OK7RnF=ptzM#*-8i$flhkG2Y^B{-v~lT>!1yfD%gNOc6q z7j%-|PRvm8=gE+xprDhKcFA+JW#x8~&Q8cD)?;Fau1?MGB#m9NkL#f;QwlptYiG0* zN@4L91)`k|5P?WzC#qlyDE1f0m-zELoqbhNmsZ?K+B%`0tgl%bsGq&M0pCR)0GFk{ z%udqU8GVU%nC63vGe>rkw$2z#tciUMrgPSe#SRNlH6o_@SM3a5PiXP>Zu&}saz{rR zeh`0oN>yZ)QNmahY4hS*5KlX$C*`zpk$M#QLBsT59){_q{e6&wdHEHQOH8?=KN+K& ztdw*xyK;D>4!MU7W8FGKteME<+d?33VOC@%@{045#?eaS57M%WA}f&A$B*M+#^CD6 za^x9+pnfnt(=7+3L-s7$H^}=PR{O7bpY=ZO-R-@{dy6;Zz0%v@UFtpCdkSvM8|y9e zW_x{JyZ$fzBmEuyRs9A1kp75%zka(O(XZ8;_2v3``h0!5emqVEj@1FOt zQ}A=oQ=a{v2RxfSH+gRGT<*C9-uKS*%=S$3RKovWx?Cw2%jvj^@O%5`_7Cj8vA<$} z)_%8rEqvA0*w3=hmDkFv!#N!{9*%StIn$jQwDo`0extpt9nv1uZiOzsS-U`+4-I^k zmZ!O)cmKQN_qglupyNTuEskq&&*6oRdGOX(=E!pR9J2Zk`!0J>eNTNE8uxALM&+OC z1<R@%S@`dsSZui@x+>1L7g3zKbQ_fLNQKl&4mElT09O3;({=57K`KbI% z|8v4~<2LzLIcRs=zQx6krhjxDPxRof{TTk?=pGbiMdtVwh36S&h>mAW@!h8IPE&Y^ zDZJPeHtt#Be2lwccz6a~6u6+K6?f6#+Gz5>V4R9}Orx?q&k5ugi|3)QlyD^NF#Nyp zOvR=GMW%3$DV%8v4>5%epDe4`L)s{wh1Ks&VdH`t9{+cAY%IxfpNZ9aQ}||67@p;# z&(mQFuTvXsHL(|CTrU_S&$Yg`|8sruncbE|J@56;FCSeTBQ_tj<#Y>F+y;Xdpi5O& zHLh-G)pF@Zo~CBH3psFBbA5}noo?je5t#1Rtd$-hmpV<2^=p@753Jm1m~nej%SEQ} z@pR86t7lPTWBt;aX7yEPL@H?#+b!y&Acw@YMBPWX@5Cb2gGO@$xa*;YZf(IDpr+Y& zjS*SX+Kg)k7Q%ABrLnoicEwY9vaG2I-Y{EeR6 zxMo3lKNg%rPuSShTDPk1%D{5Eo`$wH$Y?Wq%cuSSY46Iz<0y{(?9R^4&K|RtElakv zUd!^zk}o9r0N>cg_X*fwAY8JwHhRdCkt~CqgAhUzvNH=L4-$?L5^@0{;U&C0jszQG zf*~=s2Y>~%*KVGfoCd0m74L3r)u+w0{i}?EVDrV3N?M#I3B_PrQu;aHyLfE#YVR*z>*G{p3j<^$MU_234rKxjr3!j zHoDCZ=}Y$FjkaRosIBPRh4%qFR=T;H6jLTy(oOpRU>r&dg`{PMVsVN#l;UG4E$PFV z^r$gJ_AN&Gp0#k1IzmwSZ&dn)^%pDETT9{0Dc>$XfD$Xe%AFmDpBPym!B? zcRx$f*j;y;Pl@3@L9xKs+;qJG&4b1Bd`->G z>uft^EpDiX?|s+947321w4`ps{PpRzzLl6e3knTuU~8}Drp4)|Hs6XOvDUW)z7@l> zv%ak{-D)Iqn=(Y4?e8h4M&R%nTXf<+d>-cr9Kj2}ws}K(Ib==T=&!IBhuVv9d|O0Iv4?#uFY~t;3ja&$95@y9V*uo^J*nV0*O@oiiWuf&CVGuZ7-ip*t+}P7D3A zh5mzuX4|AKX74P47c6`>n-KrE7XGsqdW(gA#zOzbLO*SxpR&+TSm<9_=*KNIdpV>r z{FjCQa|_M(C!{t%weTOZ&_A}&KeEt2u+VHTK{}7+MJ(`urOo{o`a2f-UJHGXh5ojM z{+5Nl(?YWi^r+u&Son8XXv+&=fF(zy_Li5yK*rME@?seHs)hd*3;ksa%`$PXW%q#Z zTzpRFEq#;bxU;9bvc*<+wk!y~y?N*MUySp;l`YN12b|@J&J1Mn0$1)r_7gQC_}OE9 zCC+wh4Tcn@0zORqt5`>tore7{bX+tHmi-fv&q8E%bwmxf zL%zRng)f7+`T~fgZ&#jD?gg9sLS>{94!s`Q4LSd^p+?wAAQh72H{=}<+kOXF(&x*= zVZZyggB_6h@0Q@T!3)4{4oPoFzlR+FzaiB_27sEthk>Jk=L6pld^wN~R0YDY3*aBb zM<4^>LUFVh_vc`D`=9%>{_Fgg_$T`lz7Kted{6rB@qHF@0FL&lAejAMLhD}o2OnAO zAIjS6#Ds<`|M+(_`?u=$&kRUuxU`RdqGhgGeDE4hT1F{C`?8XhhK|ZJG+UfZXy~cr zo!OV=v@aZ((7GLz_&vDQy56jPK}ng0{z?AjoqHcR!Z_v*OKPK_iTU-OC4nG60XB#x zH1te*j9^YAp`k<4qk49vL__~0|C()G_}4zOwn#&#BVTV;U$+tdgFa`DDACZz$d9rv zzGG zh4yLJmTKr%q*O8iW2!d(LhZy-4Lyq#Yqi4iu~w?R(qU8`-Fj|8afi)g&SKwNkbPR z50x;+hARb)m;6QOjB#axU}Hfr^c-@*j4a#6U#PAbSE`}A(7orHQDs`U!w`N4`7YS@ znsBj({=z(;O?&mQQVl(W?x(IERHLCckgpjuys`KsFsv?T8O92mskk1G% zis}c7LWf}f!F|h1wJ7V=_=(tW{JsOLH1q@7L!+!pGH6gxUl<>H1oOLygM!czm|qi{ zGgLz#AP=R1Aex3%7q!-{Nt=|=9xF;|=m_M~s+o7(q!eN2fZ~LPu0XE8^bPA^t7GFY zR!fB%x&sRejF78_^$qKR4GA$dbo=q22YBUhD-;4~(61n+q4$sXzA_DWdwMpc&o(J& z)>j;?p&!t=2uh$Ho((MxE7KgINj#yU6OfP3cylxULTxl$sG%E>k8gF;YDhw{GuStk zLAM|8-W1uS6k$iaIFUieA3wQW_#JVnFoUi?esV*2*vBA|K`$Ra%08qW;R(qMy7Rnr zvm*>qN$A1jgEKW^QZP6L!b{MJ=dGI^!Bhrac>F}BY$l}$FQb&`#pC0(OZhTNiOxH_ zlwjZ|GU%)0N7e2;0<}k_@`f_@j&&|LhM|jws0({xahyY_C)& zWzb>vsk)7hOJ>lM=B1r&(NW1vy2l1;Ri+*q@R^dm-q2KUr9q7Fm`RycpLV2SxiYho z^}}CjOpgdYz_@or*cMVMGIh|BT;B9b!@ig-W=10;g>5nfMO|&4k?p(3&tf~{3xTsM zGFO>rgj6ft9vcfOybu^NJaZ+qBOhpBcGISfYtu98>()Uap{*eNP8w34xdPhq_=#1` zO{*K$fX&uTD9|WWp1Iu8sQWhRCKTbfl2V@ejHS`_{9fxOpiw|hWiEq8{4U43W$QP> zw=_k>|*s9V90+%b}Xz$aO6(bsLwiCV=A$i&L3pmTt@en-nyQ z4IGiV5SsC!8(s+-v#kJ)WqCm60%)8cgtKMwh;fIn5TrRG7Iv~W*q^4o!T-P!lvh2Mhz3@#}EFVP*#?i*Yi*&gwg)LPWYP; z-v&GEt&J~<4^aQ9o>ZSy?^SP7uT*EL6|pxV^Z)IT`F|>8{#U^BzXdY?-weCs!CtSB z{qI=h*~r6@Or$qHT*-!{&#tJe7F#HxI3b}04v*XQm%q^^u@4x{&?sq zSSf!Utc{--Dv{rj+vSJlTj5*4GI_K0nht>S!6-Uj+_D#iWk*pqG?~6p#{a zLf*S6n@K_MA&?R+LvJY$NhuwzLw+K2@Ft}Q2T=^G9cUNhAc}!@pk0iECi-xCkGywT9*hHH5 zb*OV;Nu`d~;2A$gbk1uk)eTF~#U|^VH>FfZL(tWZ@G8Q5{q>-AM?!5&KbqUI$DhRHB;t})Q#BDk72oYPLUHj+K^mX zj@t(;cO5Or{BFQ<*G;3*?J?I0mb;EtWB$Qlx$9^!x+@ATceESr4=%SyO($CJXglV2 zftEX(jrlcbxufOSqvhU-mOC1d{Fh-)3MQop2Vi>8(2V5zvri8PV0zHde6&vw2Vi>8 z&}Q_S9uC0tprN(Mdp9QqlY-u1deG2n^qw9LNGS~sNPZ%7@Ft}Q`%w%uB;Cc>k7A%1 zX%}NZih*XMml*p|46D^>4&J1ocN7DyMsG3pgBWNy_AJIe6vJvr+ONhw6ax)OyBPaW z3^X6T#Mp;opy9}SHwSN0im(sGKF<~1-WMc7*aVxY0;el_+MfEZ{l z+Qop4Q0Xz92kWXPRXloBm5Zz*?!lxU3gEafiv-lL&O#>Z=yau z(a;pLOSuca_h@Kz@uTcg?g~#%YG`-u3el1Pro^?HRBi8YO|rHy4rX>SOH%VY*DOv454FuQ9_#q$8a?nJ`>}wB6QRi zlxpX(YL|Duj+!CUw3$%LT})sN;%l5?h}$-Babv^jYs9hI3^+k;tubQTXxWFLe2&mj z4K9i4mN7dnZ4y*>E>!1Vol>~8)1bz)@U>>AxJ}$5J|R9P{zQC0{I+;IWOw+Yc!Ri3yhglQyhJ=7c6FToX|qrU$^rud zeFC9?AiftL5bqNY#Rc^}^(`SMk7d~|a`G6$TEZH_YQnP!M-z@B97#BWaJY=C*V#Yf zOd^~}IDzmS!m|m-6OJSNH;fGO)#M;IB<8Kj$(4k|2rCFv3{S~J3CjtG5S9@RCQLFs z32R>PyeH)ZVJTq=;XuLxgvEqKg#8H%3HuTDB`hH9Ll`Gi31fs&!U$oQP$3Kv%7j5e zi7-GYGVGH5gg!#Sz@U-msw-&Zx#|iUd9J#G|DgK66MjJWKH+x8cnzDoEC;c3ECggL^Kgk6Lu2#*sUBQ)|#bp?&QQe8nK zuT)p?5Y-j|ZP8+)DUc!siH|CEP-|neZ9H-!MED{59dzgijGZN%#ce|1dln{1xGU6FyG( zOTu3e{ukk6437kVPWUszM+tvQ_z2;{gbxw^gyG@fj|qQ7_(Q@U5I#uweZucCJQRF@ z@VkWf6Ml#AKEit$9t_??csJp<3BN^n7vY@@JA?m8_)WrZ5Z*y}JK=4FSwfvqBg_zf zo$yw|uMvKg@GFG35Pq5PX2LHK-bDCC!W#*{K=^sW&oMj@{4C)n!i|JC5MEEXf#LpO z8{vAwR>Bs->j>8|+!t&nY$9As*hqLS;eRmP8*CuFhHwqxYQi*OJ;Oc0RfH=E>j!1Ys#* z3E@D(0ffbbMTGqc3kmxX_9ZMJ>_ZqQR0(5*QNjpem{1`MG29uH34??ZVSrF1^b`6B z1%^AMj|l%s_#xpx2>(v_0pa@$UzXk@e3$TVgnuRc3*kG2e`dH{dYkYqLGWE7Y?t1o z@*9MIBK#xa>kNDIO1{MO@Nx5IpN2Ku_#S&2_MSJ;n7>ZT#{6{}@~j(tWB$s?#{89& zjrl7l8}nBVyw=z*CmZuuPB!MR97MJod}IE~!HRLCY|LLd*z?XP8}nCAHs-IKY|LLd z$nkE}8}nCAHs-IKY|LLd*_gj_kVVgEXUtzY*_gj_us+@38}nCAHs-IKY|LLd*_gj_ zGJHc3g!<6qLi}x50q|n{>G-4Z@4`NSH^ci@t z>KD~()r-{`YOOj%Er2Y6Z^w?u+Cz`Wo{2pIx%zL3wZyK9EsBkfg<-G2Hz2=zM|5lS zmyjvocE}UZ2w4K=L5_ejSV8cY$Pvif{)@=>AYc29k*3HMkwuZou%4heB8A@xpA7GT zO#Y9A?}EI7jo}sHnc>mlBFHUxQh8DNnet7DDQH%%P!=i^l}cF8FTvh|U7-##%X*<# z1HBsP)j+QXdNt6if&XV3z#I(V`=T|bK?r&ugk`o5Qt(AwQVJ!$jalG%Cu60PQR85U zoeqZoJX}~xC!Ns(!L(A!$qD=}kFzF^Q|si22b>|UBVzVZV-r5C-cp7XAH#=Gh% zTxwFr~)Ev-ynPr1AslbI9__Z6e(uFDRbYc2qZcN#Q>HE7I z^F7QTfa8Q@A*<59hwQ}%3&ctv)}~uFr0c=qc}+zgr#~hJU~L+4^-w+LJ%RkVezu?- z_&`fr`-l~Ip7YyQLTXq@6f@MxC~`6i>Au1x(U=L$cfXTymxa+ft9h009w*~ATu6=G zwxl;SG`F>~G$B%v8#nNrEB9(w?r1lzxYv#ApFuZm_m+54p_3EXoX5E`k2Au_5qCK` z{%NEDNJFvwn)KSVu*J#vZ~FZknuu9T0b5<*a$8-QwIse+F3v^0E@sOaFf`KXR}bt+ ziszb5@~XFEMix8+TfUA_2gO| zv6lmnIm(}LluPYpajTNdU36J=VzemokI3Q3 z(~%!UZi%dn%#GB*jsUNPcfc-uH;3!Pv%@38A>}yia`z+UHrQRSPFVoE0wh8ohW3Uw zhwg){dsnly0Po6M?Mct>zka7A!jus?XNcS(;+cSu)CbETBz z3!H$g01pIi3S1c&8BoL%;f z2H#TO1Q6Ey->_^6gi-L-B&%A|5MQ$xvw~SjML1d0uP}?D?DlA^lhtA>iy`bhn#v4g zGbuQFRCywcA?-X)#2)H(a+H+HS_9h6V@(RqGIC@|wm+POFOpja50zH-2P=ybS!*o2 zql=MJGK;b7UU6Y3hZh%SF`C^WU=;|6(d%arumS`$Lf4J(b4TwLARxxBpW!Si5DP+%wnv%LnDRa z;4B8Jdq>8d?3c=7u=*LKh4{ZL2B>@76cGQH#VB=0_c1Y<#SnE*IU&F=i&5#kcQdTd zq(C|d@XKO!dJkd*YqA)n&SUP^H_xlvke-=NV^X@tbiK2z2wl}RWm$|`=kZ@WlQBnZ z0+-PUUw6Axx~ipe9pl&ex+Wjp zI!h|kF@l{Bv9)1sTO<7DIl>u6SC{D+zTVv=FKK<(sCc2i37Xh1PS;4WM#qr#PoT1@ z+Af3H3U?K z!R$S%tPE6!q3y0JD}xR&tli_9l!403aCQiU%)iS9gUT?TolB9QzM(4#D#KWIhsp+l z$}oog6R4~NI>Y#O-WgXFM^IS_NQ4pY9uk$nk}r&G=hKS$WHKo@%Ro>XhPS&aZ6I{v z9n{`65R`^N?R=0fN*gexP{#mwhenFUl#YSzXBZp=)$17O?ja%s)$17M?l^fru~5gb zcFs1U=DXtk3w4ZTcd*r>LjAIQcC5Hix5li~NuqEPj9GV_BvM$cW2|~!gl$*2Z&Jq~ zb+75a3l=Kq7eNEA3UksoDY#CsP(jBSbwk&ROWukuX@HL5>3nrBUS|AX5l-}}Oz0Sz z?ykoZePCIgcZm9lcxsG}A?nrD#uETmd~Zm%tY6;DEs8t_bQ$kksAJeVSCkR+e?k=p z=oqH%GRR0-O2_zgu83~is@0_6#F1!1$2fHlSt4*xV6eKQ-!SxR1gIM_Sd=3t%XExT z=XWuGedh>$%Fri!hU--^uH1fIj^TP$ z3@Z2fNgl(WB*vEW-pwDPNkQ-Ulf+%8u9-6s}akL+Z zfuZAeF^(3%($BG$qwEVyj>ck1eGF84NqH3BJM~&PRXc<Bd|zFKMR_+#O`3-MpX?~8vWzAkh$^lQk8e|u;X!~k3n>WEK^SH}lK z6u?L7yXu?jX?3sqy!tqNAGk-oP5r8Rqq<&gfNTNF)OqSub&Oi6CLk^#82fwdE!b1w z0PHF7aO|$wmtZ%6MX;t|9P9v}fb|3cSWWPHbPw$O{#f+x=&jL>kW=8&=zRE|Fg!Xi zszlz8yc+3@ycl^h@=)aN$gPo$k%q{nk@=B{k>Qbn5heV7_|&4tW)MIwMvCDP>CtN&|kej z1@zYRYM@sGy&CA%K(7XRHSn+30D2ak9}VS;UAaqKxpQ2(Gccp``sU@=z@88CAlD{- zOrO0mjTs&VmM)xV=G`Uwo0c{##WwN3h@N5FHW)0wwf~zQ{0zG2Z0-H`pbG|B#*tsQ z7r%mgRA8EO<31S6;yRru7ds|jVX&*jH z);BL`g}q>IcY7cO-*@G{<;p#cfeh=L*Q{wwvzZa&h=eCGY{p! z#bg<6W;H-&P2506_#gED&ynW}@#FEW;QzlVep!5CygV+dhrq)Bnffh=^}kX*M=gqd z6gw7sGWPx0&9T+7g%i3 z=sjbv26{EntASn(^lISWqJcqK^vsu*vRp+nW&9=(Hi!C7%%Y3_Q*6<@S?X7owfO2~ zzS$f{Mc6F)&&r~&o?@9~BQg~>Pe?Nh(@_iwn*)7QS@dCZ=Zxt|Feybi4Gyp@`n0)c z!tPTz4GyrZ)wgXpVNZhtEQ`KvFQ3Y3aDZje%guW?Jt-yyy@LZRi(YSUpUP>eCX3$h zk01GvTb@j0(I4(EQf|3amNot0Zh;!PWi^FabcAzHN*(MDsR+4cBMP(V1m|o+8MzBV z8R-1>QbukmCin% zf-L-8MUAcbenUjNg1`E40M%qHr*LDVoetPYq2^&Q?V;xnu;+g zML2~IxpHXcuA)=;kQ-t-xpB2m;X|$r*j_3+g%7#GmflUpm=yGm54j{X^H$L*h-4mQ l>4`pV6F}(h*icC}0S)-wW!(?u Date: Fri, 6 Apr 2018 13:46:44 +0200 Subject: [PATCH 0506/1801] change tabs for spaces --- lib/src/_shared/PickerBase.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/src/_shared/PickerBase.d.ts b/lib/src/_shared/PickerBase.d.ts index 9ca1daa202112c..b7f74f0047a10e 100644 --- a/lib/src/_shared/PickerBase.d.ts +++ b/lib/src/_shared/PickerBase.d.ts @@ -2,9 +2,9 @@ import { MaterialUiPickersDate } from '../typings/date' import { DateTextFieldProps } from './ModalDialog'; export interface PickerBaseProps { - onChange: (date: MaterialUiPickersDate) => void; - autoOk?: boolean; - ampm?: boolean; - pickerRef?: (e: Element) => void; + onChange: (date: MaterialUiPickersDate) => void; + autoOk?: boolean; + ampm?: boolean; + pickerRef?: (e: Element) => void; } \ No newline at end of file From ea459aca0998772dc0c85c368c15d5a4dd51339e Mon Sep 17 00:00:00 2001 From: David Eibensteiner Date: Sat, 7 Apr 2018 13:02:36 +0200 Subject: [PATCH 0507/1801] [#333] Added feature to disable automatic opening of picker when a user clicks enter --- docs/prop-types.json | 11 +++++++++++ docs/src/Examples/Demo/CustomDateTimePicker.jsx | 1 + docs/src/Examples/Demo/KeyboardDatePicker.jsx | 1 + docs/src/Examples/Demo/KeyboardTimePicker.jsx | 1 + lib/src/_shared/DateTextField.jsx | 5 ++++- 5 files changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/prop-types.json b/docs/prop-types.json index c6b5cb1d78622b..839ee532488990 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -2706,6 +2706,17 @@ "computed": false } }, + "openPickerOnEnter": { + "type": { + "name": "bool" + }, + "required": false, + "description": "enables/disable automatic opening of the picker when the user clicks enter", + "defaultValue": { + "value": "true", + "computed": false + } + }, "invalidDateMessage": { "type": { "name": "string" diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index 39c77765409fe5..71eafb2fdd8522 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -50,6 +50,7 @@ export default class CustomDateTimePicker extends PureComponent { value={selectedDate} onChange={this.handleDateChange} format="YYYY/MM/DD hh:mm A" + openPickerOnEnter={false} mask={[/\d/, /\d/, /\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, ' ', /\d/, /\d/, ':', /\d/, /\d/, ' ', /a|p/i, 'M']} />
diff --git a/docs/src/Examples/Demo/KeyboardDatePicker.jsx b/docs/src/Examples/Demo/KeyboardDatePicker.jsx index 3b18466d1fdcf5..24fc2223b64d90 100644 --- a/docs/src/Examples/Demo/KeyboardDatePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardDatePicker.jsx @@ -36,6 +36,7 @@ export default class BasicUsage extends PureComponent { mask={value => (value ? [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/] : [])} value={selectedDate} onChange={this.handleDateChange} + openPickerOnEnter={false} animateYearScrolling={false} />
diff --git a/docs/src/Examples/Demo/KeyboardTimePicker.jsx b/docs/src/Examples/Demo/KeyboardTimePicker.jsx index e062917a59a52d..57995e47e6800a 100644 --- a/docs/src/Examples/Demo/KeyboardTimePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardTimePicker.jsx @@ -22,6 +22,7 @@ export default class BasicUsage extends PureComponent { placeholder="08:00 AM" value={selectedDate} onChange={this.handleDateChange} + openPickerOnEnter={false} /> ); diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 6a47a06d45849c..7b2ad89f4d9543 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -48,6 +48,8 @@ export class DateTextField extends PureComponent { keyboard: PropTypes.bool, /** Icon displayed for open picker button in keyboard mode */ keyboardIcon: PropTypes.node, + /** enables/disable automatic opening of the picker when the user clicks enter */ + openPickerOnEnter: PropTypes.bool, /** Message, appearing when date cannot be parsed */ invalidDateMessage: PropTypes.string, /** Component that should replace the default Material-UI TextField */ @@ -71,6 +73,7 @@ export class DateTextField extends PureComponent { keyboard: false, mask: undefined, keyboardIcon: 'event', + openPickerOnEnter: true, invalidDateMessage: 'Invalid Date Format', clearable: false, onClear: undefined, @@ -224,7 +227,7 @@ export class DateTextField extends PureComponent { } handleKeyPress = (e) => { - if (e.key === 'Enter') { + if (e.key === 'Enter' && this.props.openPickerOnEnter) { this.openPicker(e); } } From c0f397ff3f260a1f17f0e60aac5e0dee672569a2 Mon Sep 17 00:00:00 2001 From: David Eibensteiner Date: Sat, 7 Apr 2018 13:41:26 +0200 Subject: [PATCH 0508/1801] [#334] Fixed issue with today button always selection the value instead of changing only the selection inside the picker - Also fixed issue with DatePicker + today not closing when autoOk was set to true --- docs/src/Examples/Demo/BasicDatePicker.jsx | 13 +++++++++++++ docs/src/Examples/Demo/BasicDateTimePicker.jsx | 11 +++++++++++ lib/src/_shared/PickerBase.jsx | 2 +- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 642f53e32de34b..dc7d431e3d3a60 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -47,6 +47,19 @@ export default class BasicDatePicker extends PureComponent { animateYearScrolling={false} /> + +
+ +
); } diff --git a/docs/src/Examples/Demo/BasicDateTimePicker.jsx b/docs/src/Examples/Demo/BasicDateTimePicker.jsx index 23600d2c198fad..100347458485af 100644 --- a/docs/src/Examples/Demo/BasicDateTimePicker.jsx +++ b/docs/src/Examples/Demo/BasicDateTimePicker.jsx @@ -44,6 +44,17 @@ export default class BasicDateTimePicker extends PureComponent { showTodayButton /> + +
+ +
); } diff --git a/lib/src/_shared/PickerBase.jsx b/lib/src/_shared/PickerBase.jsx index 37180eb114acd5..5cc22079ccd4fb 100644 --- a/lib/src/_shared/PickerBase.jsx +++ b/lib/src/_shared/PickerBase.jsx @@ -74,6 +74,6 @@ export default class PickerBase extends PureComponent { } handleSetTodayDate = () => { - this.props.onChange(this.props.utils.date()); + this.handleChange(this.props.utils.date()); } } From c1daddf16a899f954aec14ad1d17f8640a7899c3 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 7 Apr 2018 16:40:46 +0300 Subject: [PATCH 0509/1801] Update PULL_REQUEST_TEMPLATE.md --- PULL_REQUEST_TEMPLATE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 138d35eb90e695..35b56fd7fa601c 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,8 +1,9 @@ -- [ ] I have changed my target branch to **develop** :facepunch: + +- [] I have changed my target branch to **develop** :facepunch: -# +### Issue # ## Description From 8f0b40b658f65e1d23a48111945b007b0c0f4c2a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 7 Apr 2018 16:41:19 +0300 Subject: [PATCH 0510/1801] Update PULL_REQUEST_TEMPLATE.md --- PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 35b56fd7fa601c..166cf59cc1c748 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -2,7 +2,7 @@ -- [] I have changed my target branch to **develop** :facepunch: +- [ ] I have changed my target branch to **develop** :facepunch: ### Issue # From 5e4074c6b88838d6088f898a80a91c74a6ef89a4 Mon Sep 17 00:00:00 2001 From: David Eibensteiner Date: Sat, 7 Apr 2018 15:44:33 +0200 Subject: [PATCH 0511/1801] [#333] Renamed openPickerOnEnter to disableOpenOnEnter --- docs/prop-types.json | 4 ++-- docs/src/Examples/Demo/CustomDateTimePicker.jsx | 2 +- docs/src/Examples/Demo/KeyboardDatePicker.jsx | 2 +- docs/src/Examples/Demo/KeyboardTimePicker.jsx | 2 +- lib/src/_shared/DateTextField.jsx | 6 +++--- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/prop-types.json b/docs/prop-types.json index 839ee532488990..3bee7e5e0bc024 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -2706,14 +2706,14 @@ "computed": false } }, - "openPickerOnEnter": { + "disableOpenOnEnter": { "type": { "name": "bool" }, "required": false, "description": "enables/disable automatic opening of the picker when the user clicks enter", "defaultValue": { - "value": "true", + "value": "false", "computed": false } }, diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index 71eafb2fdd8522..e740be297c661b 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -50,7 +50,7 @@ export default class CustomDateTimePicker extends PureComponent { value={selectedDate} onChange={this.handleDateChange} format="YYYY/MM/DD hh:mm A" - openPickerOnEnter={false} + disableOpenOnEnter mask={[/\d/, /\d/, /\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, ' ', /\d/, /\d/, ':', /\d/, /\d/, ' ', /a|p/i, 'M']} /> diff --git a/docs/src/Examples/Demo/KeyboardDatePicker.jsx b/docs/src/Examples/Demo/KeyboardDatePicker.jsx index 24fc2223b64d90..0cab42f224187c 100644 --- a/docs/src/Examples/Demo/KeyboardDatePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardDatePicker.jsx @@ -36,7 +36,7 @@ export default class BasicUsage extends PureComponent { mask={value => (value ? [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/] : [])} value={selectedDate} onChange={this.handleDateChange} - openPickerOnEnter={false} + disableOpenOnEnter animateYearScrolling={false} /> diff --git a/docs/src/Examples/Demo/KeyboardTimePicker.jsx b/docs/src/Examples/Demo/KeyboardTimePicker.jsx index 57995e47e6800a..caf3050f07f6f4 100644 --- a/docs/src/Examples/Demo/KeyboardTimePicker.jsx +++ b/docs/src/Examples/Demo/KeyboardTimePicker.jsx @@ -22,7 +22,7 @@ export default class BasicUsage extends PureComponent { placeholder="08:00 AM" value={selectedDate} onChange={this.handleDateChange} - openPickerOnEnter={false} + disableOpenOnEnter /> ); diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 7b2ad89f4d9543..431674e613a64a 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -49,7 +49,7 @@ export class DateTextField extends PureComponent { /** Icon displayed for open picker button in keyboard mode */ keyboardIcon: PropTypes.node, /** enables/disable automatic opening of the picker when the user clicks enter */ - openPickerOnEnter: PropTypes.bool, + disableOpenOnEnter: PropTypes.bool, /** Message, appearing when date cannot be parsed */ invalidDateMessage: PropTypes.string, /** Component that should replace the default Material-UI TextField */ @@ -73,7 +73,7 @@ export class DateTextField extends PureComponent { keyboard: false, mask: undefined, keyboardIcon: 'event', - openPickerOnEnter: true, + disableOpenOnEnter: false, invalidDateMessage: 'Invalid Date Format', clearable: false, onClear: undefined, @@ -227,7 +227,7 @@ export class DateTextField extends PureComponent { } handleKeyPress = (e) => { - if (e.key === 'Enter' && this.props.openPickerOnEnter) { + if (e.key === 'Enter' && !this.props.disableOpenOnEnter) { this.openPicker(e); } } From 2a5e0f870d69c0f8e965e353cff869baa77275fd Mon Sep 17 00:00:00 2001 From: David Eibensteiner Date: Sat, 7 Apr 2018 15:47:45 +0200 Subject: [PATCH 0512/1801] [#334] Removed additional documentation examples --- docs/src/Examples/Demo/BasicDatePicker.jsx | 13 ------------- docs/src/Examples/Demo/BasicDateTimePicker.jsx | 11 ----------- 2 files changed, 24 deletions(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index dc7d431e3d3a60..642f53e32de34b 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -47,19 +47,6 @@ export default class BasicDatePicker extends PureComponent { animateYearScrolling={false} /> - -
- -
); } diff --git a/docs/src/Examples/Demo/BasicDateTimePicker.jsx b/docs/src/Examples/Demo/BasicDateTimePicker.jsx index 100347458485af..23600d2c198fad 100644 --- a/docs/src/Examples/Demo/BasicDateTimePicker.jsx +++ b/docs/src/Examples/Demo/BasicDateTimePicker.jsx @@ -44,17 +44,6 @@ export default class BasicDateTimePicker extends PureComponent { showTodayButton /> - -
- -
); } From 3fca7f5f2716f596593f9c96c26633b8dd9a33e1 Mon Sep 17 00:00:00 2001 From: Alex Fournier Date: Mon, 9 Apr 2018 14:43:23 +0200 Subject: [PATCH 0513/1801] [#332] Fix broken TimePicker When trying to set hours, minutes were updated instead. Mouse events were dispatched to the wrong component. Same method has been applied to DateTimePicker to improve consistency. --- lib/src/DateTimePicker/DateTimePickerView.jsx | 16 +++++++--------- lib/src/TimePicker/TimePicker.jsx | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/lib/src/DateTimePicker/DateTimePickerView.jsx b/lib/src/DateTimePicker/DateTimePickerView.jsx index 69625c31968671..0f194480abfb78 100644 --- a/lib/src/DateTimePicker/DateTimePickerView.jsx +++ b/lib/src/DateTimePicker/DateTimePickerView.jsx @@ -1,6 +1,5 @@ import React from 'react'; import PropTypes from 'prop-types'; -import classnames from 'classnames'; import withStyles from 'material-ui/styles/withStyles'; import Fade from 'material-ui/transitions/Fade'; @@ -11,8 +10,13 @@ export const DateTimePickerView = (props) => { if (timeout) { return ( - -
+ +
{ children }
@@ -49,12 +53,6 @@ const styles = { left: 0, right: 0, }, - disabled: { - zIndex: 0, - '& *': { - pointerEvents: 'none', - }, - }, }; export default withStyles(styles, { name: 'MuiPickerDTPickerView ' })(DateTimePickerView); diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 12339f9250b4b5..8890a53fa4c6c7 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -138,7 +138,12 @@ export class TimePicker extends Component { {this.props.children}
- +
- +
Date: Mon, 9 Apr 2018 18:55:27 +0200 Subject: [PATCH 0514/1801] wip for luxon support --- lib/__tests__/test-utils.d.ts | 3 +- lib/__tests__/test-utils.js | 18 +++- lib/__tests__/utils/luxon-utils.test.js | 136 ++++++++++++++++++++++++ lib/package.json | 3 + lib/src/utils/luxon-utils.d.ts | 55 ++++++++++ lib/src/utils/luxon-utils.js | 89 ++++++++++++++++ 6 files changed, 300 insertions(+), 4 deletions(-) create mode 100644 lib/__tests__/utils/luxon-utils.test.js create mode 100644 lib/src/utils/luxon-utils.d.ts create mode 100644 lib/src/utils/luxon-utils.js diff --git a/lib/__tests__/test-utils.d.ts b/lib/__tests__/test-utils.d.ts index 8c0407b7354c12..b5a9d402d32d65 100644 --- a/lib/__tests__/test-utils.d.ts +++ b/lib/__tests__/test-utils.d.ts @@ -1,4 +1,5 @@ import MomentUtils from '../src/utils/moment-utils' import DateFnsUtils from '../src/utils/date-fns-utils' +import LuxonUtils from '../src/utils/luxon-utils'; -export const utilsToUse: typeof MomentUtils | typeof DateFnsUtils; \ No newline at end of file +export const utilsToUse: typeof MomentUtils | typeof DateFnsUtils | typeof LuxonUtils; \ No newline at end of file diff --git a/lib/__tests__/test-utils.js b/lib/__tests__/test-utils.js index f933b64d57fa3e..6fb8f60d4e0489 100644 --- a/lib/__tests__/test-utils.js +++ b/lib/__tests__/test-utils.js @@ -2,10 +2,22 @@ import React from 'react'; import * as enzyme from 'enzyme'; import DateFnsUtils from '../src/utils/date-fns-utils'; import MomentUtils from '../src/utils/moment-utils'; +import LuxonUtils from '../src/utils/luxon-utils'; -export const utilsToUse = process.env.UTILS === 'moment' - ? new MomentUtils() - : new DateFnsUtils(); +const getUtilToUse = () => { + switch (process.env.UTILS) { + case 'moment': + return new MomentUtils(); + case 'date-fns': + return new DateFnsUtils(); + case 'luxon': + return new LuxonUtils(); + default: + return new LuxonUtils(); + } +}; + +export const utilsToUse = getUtilToUse(); const getComponentWithUtils = Component => React.cloneElement(Component, { utils: utilsToUse }); diff --git a/lib/__tests__/utils/luxon-utils.test.js b/lib/__tests__/utils/luxon-utils.test.js new file mode 100644 index 00000000000000..df5e30e138f4ae --- /dev/null +++ b/lib/__tests__/utils/luxon-utils.test.js @@ -0,0 +1,136 @@ +import LuxonUtils from '../../src/utils/luxon-utils'; + +describe('Luxon utils', () => { + let luxonUtil; + + beforeEach(() => { + luxonUtil = new LuxonUtils(); + }); + + it('Should return a Luxon DateTime instance', () => { + const now = luxonUtil.date(); + const nowJs = luxonUtil.date(new Date()); + expect(now.constructor.name).toBe('DateTime'); + expect(nowJs.constructor.name).toBe('DateTime'); + }); + + it('Should add one day', () => { + const now = luxonUtil.date(); + const then = luxonUtil.addDays(now, 1); + const thenPast = luxonUtil.addDays(now, -1); + + expect(then).toEqual(now.plus({ day: 1 })); + expect(thenPast).toEqual(now.minus({ day: 1 })); + }); + + it('Should be a valid DateTime', () => { + const now = luxonUtil.date(); + + expect(luxonUtil.isValid(now)).toBe(true); + }); + + it('Should be equal to another DateTime', () => { + const now = luxonUtil.date(); + const then = now.plus({ day: 1 }); + + expect(luxonUtil.isEqual(now, now)).toBe(true); + expect(luxonUtil.isEqual(now, then)).toBe(false); + }); + + it('Should be on the same day', () => { + const now = luxonUtil.date(); + const then = now.plus({ hours: 1 }); + const thenOtherDay = now.plus({ days: 1 }); + + expect(luxonUtil.isSameDay(now, then)).toBe(true); + expect(luxonUtil.isSameDay(now, thenOtherDay)).toBe(false); + }); + + it('Should check if one date is after another', () => { + const now = luxonUtil.date(); + const then = now.plus({ day: 1 }); + + expect(luxonUtil.isAfter(now, then)).toBe(false); + expect(luxonUtil.isAfter(then, now)).toBe(true); + }); + + it('Should check if it is the day after', () => { + const now = luxonUtil.date(); + const then = now.plus({ day: 1 }); + + expect(luxonUtil.isAfterDay(now, then)).toBe(false); + expect(luxonUtil.isAfterDay(then, now)).toBe(true); + }); + + it('Should check if it is the year after', () => { + const now = luxonUtil.date(); + const then = now.plus({ years: 1 }); + + expect(luxonUtil.isAfterYear(now, then)).toBe(false); + expect(luxonUtil.isAfterYear(then, now)).toBe(true); + }); + + it('Should check if one date is before another', () => { + const now = luxonUtil.date(); + const then = now.minus({ day: 1 }); + + expect(luxonUtil.isBefore(now, then)).toBe(false); + expect(luxonUtil.isBefore(then, now)).toBe(true); + }); + + it('Should check if it is the day before', () => { + const now = luxonUtil.date(); + const then = now.minus({ day: 1 }); + + expect(luxonUtil.isBeforeDay(now, then)).toBe(false); + expect(luxonUtil.isBeforeDay(then, now)).toBe(true); + }); + + it('Should check if it is the year before', () => { + const now = luxonUtil.date(); + const then = now.minus({ years: 1 }); + + expect(luxonUtil.isBeforeYear(now, then)).toBe(false); + expect(luxonUtil.isBeforeYear(then, now)).toBe(true); + }); + + it('Should be the start of the day', () => { + const now = luxonUtil.date(new Date(2018, 0, 1, 1)); + const startDay = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.startOfDay(now)).toEqual(startDay); + }); + + it('Should be the end of the day', () => { + const now = luxonUtil.date(new Date(2018, 0)); + const endDay = luxonUtil.date(new Date(2018, 0, 1, 23, 59, 59, 999)); + + expect(luxonUtil.endOfDay(now)).toEqual(endDay); + }); + + it('Should format correctly', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.format(now, 'yyyy LLL dd')).toBe('2018 Jan 01'); + }); + + it('Should format numbers correclty', () => { + const number = 23; + + expect(luxonUtil.formatNumber(number)).toBe('23'); + }); + + it('Should get the hours', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getHours(now)).toBe(0); + }); + + it('Should check if null', () => { + const now = luxonUtil.date(); + + expect(luxonUtil.isNull(null)).toBe(true); + expect(luxonUtil.isNull(now)).toBe(false); + }); +}); + diff --git a/lib/package.json b/lib/package.json index df497f545fd094..0d416f7825cb0b 100644 --- a/lib/package.json +++ b/lib/package.json @@ -44,6 +44,7 @@ }, "dependencies": { "babel-runtime": "^6.26.0", + "luxon": "^1.0.0", "react-text-mask": "^5.1.0" }, "scripts": { @@ -69,7 +70,9 @@ }, "devDependencies": { "@types/classnames": "^2.2.3", + "@types/jest": "^22.2.2", "@types/jss": "^9.3.0", + "@types/luxon": "^0.5.0", "@types/moment": "^2.13.0", "@types/prop-types": "^15.5.2", "@types/react": "^16.0.39", diff --git a/lib/src/utils/luxon-utils.d.ts b/lib/src/utils/luxon-utils.d.ts new file mode 100644 index 00000000000000..ba495cca64c502 --- /dev/null +++ b/lib/src/utils/luxon-utils.d.ts @@ -0,0 +1,55 @@ +import { DateTime } from 'luxon'; +import { Utils } from '../typings/utils' + +declare class LuxonUtils extends Utils { + locale: any; + constructor (options?: { locale: any }); + + date(value: any): DateTime; + addDays(value: DateTime, count: number): DateTime; + isValid(value: DateTime): boolean; + isEqual(value: DateTime, comparing: DateTime): boolean; + isSameDay(value: DateTime, comparing: DateTime): boolean + + isAfter(value: DateTime, comparing: DateTime): boolean; + isAfterDay(value: DateTime, comparing: DateTime): boolean; + isAfterYear(value: DateTime, comparing: DateTime): boolean; + + isBeforeDay(value: DateTime, comparing: DateTime): boolean; + isBeforeYear(value: DateTime, comparing: DateTime): boolean; + isBefore(value: DateTime, comparing: DateTime): boolean; + + startOfDay(value: DateTime): DateTime; + endOfDay(value: DateTime): DateTime; + + format(value: DateTime, formatString: string): string; + formatNumber(number: number): string; + + getHours(value: DateTime): number; + setHours(value: DateTime, count: number): DateTime; + getMinutes(value: DateTime): number; + setMinutes(value: DateTime, count: number): DateTime + getMonth(value: DateTime): number; + getYear(value: DateTime): number; + setYear(value: DateTime): DateTime; + + getStartOfMonth(value: DateTime): DateTime; + getNextMonth(value: DateTime): DateTime; + getPreviousMonth(value: DateTime): DateTime; + + getWeekdays(): string[]; + getWeekArray(): DateTime[]; + getYearRange(): DateTime[]; + + // displaying methods + getMeridiemText(ampm: 'am' | 'pm'): string; + getCalendarHeaderText(date: DateTime): string; + getDateTimePickerHeaderText(date: DateTime): string; + getDateTimePickerHeaderText(date: DateTime): string; + getDayText(date: DateTime): string; + getHourText(date: DateTime, ampm: boolean): string; + getMinuteText(date: DateTime): string; + getYearText(date: DateTime): string; +} + +export default LuxonUtils; diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js new file mode 100644 index 00000000000000..ff53fd4db2fda6 --- /dev/null +++ b/lib/src/utils/luxon-utils.js @@ -0,0 +1,89 @@ +import { DateTime } from 'luxon'; + +export default class LuxonUtils { + parse = DateTime.fromFormat; + + constructor({ locale } = {}) { + this.locale = locale; + } + + date(value) { + if (typeof value === 'undefined') { + return DateTime.local(); + } + + return DateTime.fromJSDate(value); + } + + addDays(date, count) { + if (count < 0) { + return date.minus({ days: Math.abs(count) }); + } + + return date.plus({ days: count }); + } + + isValid(date) { + return date.isValid; + } + + isEqual(value, comparing) { + return value === comparing; + } + + isSameDay(value, comparing) { + return value.hasSame(comparing, 'day'); + } + + isAfter(value, comparing) { + return value > comparing; + } + + isAfterDay(value, comparing) { + const diff = value.diff(comparing, 'days').toObject(); + return diff.days > 0; + } + + isAfterYear(value, comparing) { + const diff = value.diff(comparing, 'years').toObject(); + return diff.years > 0; + } + + isBefore(value, comparing) { + return value < comparing; + } + + isBeforeDay(value, comparing) { + const diff = value.diff(comparing, 'days').toObject(); + return diff.days < 0; + } + + isBeforeYear(value, comparing) { + const diff = value.diff(comparing, 'years').toObject(); + return diff.years < 0; + } + + startOfDay(value) { + return value.startOf('day'); + } + + endOfDay(value) { + return value.endOf('day'); + } + + format(date, format) { + return date.toFormat(format); + } + + formatNumber(number) { + return String(number); + } + + getHours(value) { + return value.get('hour'); + } + + isNull(date) { + return date === null; + } +} From 9a3e8b7a4e14eac5feca01ce2c5a1dd7d5dddcf9 Mon Sep 17 00:00:00 2001 From: lookapanda Date: Mon, 9 Apr 2018 20:04:34 +0200 Subject: [PATCH 0515/1801] Fix missing argument in typings setYear is missing the second argument --- lib/src/typings/utils.d.ts | 2 +- lib/src/utils/date-fns-utils.d.ts | 2 +- lib/src/utils/moment-utils.d.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 225dd5bace6fc4..9190e6a7e9fd0c 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -30,7 +30,7 @@ export class Utils { setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate getMonth(value: MaterialUiPickersDate): number; getYear(value: MaterialUiPickersDate): number; - setYear(value: MaterialUiPickersDate): MaterialUiPickersDate; + setYear(value: MaterialUiPickersDate, year: number): MaterialUiPickersDate; getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; diff --git a/lib/src/utils/date-fns-utils.d.ts b/lib/src/utils/date-fns-utils.d.ts index 8e99cfb2803486..5d185948d78c17 100644 --- a/lib/src/utils/date-fns-utils.d.ts +++ b/lib/src/utils/date-fns-utils.d.ts @@ -30,7 +30,7 @@ declare class DateFnsUtils extends Utils { setMinutes(value: Date, count: number): Date getMonth(value: Date): number; getYear(value: Date): number; - setYear(value: Date): Date; + setYear(value: Date, year: number): Date; getStartOfMonth(value: Date): Date; getNextMonth(value: Date): Date; diff --git a/lib/src/utils/moment-utils.d.ts b/lib/src/utils/moment-utils.d.ts index 31a26fcbf06501..72e85e9973cdd6 100644 --- a/lib/src/utils/moment-utils.d.ts +++ b/lib/src/utils/moment-utils.d.ts @@ -31,7 +31,7 @@ declare class MomentUtils extends Utils { setMinutes(value: Moment, count: number): Moment getMonth(value: Moment): number; getYear(value: Moment): number; - setYear(value: Moment): Moment; + setYear(value: Moment, year: number): Moment; getStartOfMonth(value: Moment): Moment; getNextMonth(value: Moment): Moment; From 0b54571defa976a6b5860846dda5def1eca8896e Mon Sep 17 00:00:00 2001 From: lookapanda Date: Mon, 9 Apr 2018 20:08:26 +0200 Subject: [PATCH 0516/1801] More typings --- lib/__tests__/test-utils.js | 2 +- lib/__tests__/utils/luxon-utils.test.js | 39 +++++++++++++++++++++++++ lib/src/utils/luxon-utils.d.ts | 2 +- lib/src/utils/luxon-utils.js | 25 ++++++++++++++++ 4 files changed, 66 insertions(+), 2 deletions(-) diff --git a/lib/__tests__/test-utils.js b/lib/__tests__/test-utils.js index 6fb8f60d4e0489..d9c2045d34c16c 100644 --- a/lib/__tests__/test-utils.js +++ b/lib/__tests__/test-utils.js @@ -13,7 +13,7 @@ const getUtilToUse = () => { case 'luxon': return new LuxonUtils(); default: - return new LuxonUtils(); + return new DateFnsUtils(); } }; diff --git a/lib/__tests__/utils/luxon-utils.test.js b/lib/__tests__/utils/luxon-utils.test.js index df5e30e138f4ae..3c634b266a66b6 100644 --- a/lib/__tests__/utils/luxon-utils.test.js +++ b/lib/__tests__/utils/luxon-utils.test.js @@ -126,6 +126,45 @@ describe('Luxon utils', () => { expect(luxonUtil.getHours(now)).toBe(0); }); + it('Should set hours', () => { + const now = luxonUtil.date(new Date(2018, 0)); + const plusOneHour = now.plus({ hours: 1 }); + + expect(luxonUtil.setHours(now, 1)).toEqual(plusOneHour); + }); + + it('Should get the minutes', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getMinutes(now)).toBe(0); + }); + + it('Should set minutes', () => { + const now = luxonUtil.date(new Date(2018, 0)); + const plusOneMinute = now.plus({ minutes: 1 }); + + expect(luxonUtil.setMinutes(now, 1)).toEqual(plusOneMinute); + }); + + it('Should get the month', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getMonth(now)).toBe(0); + }); + + it('Should get the year', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getYear(now)).toBe(2018); + }); + + it('Should set the year', () => { + const now = luxonUtil.date(new Date(2018, 0)); + const plusOneYear = now.plus({ year: 1 }); + + expect(luxonUtil.setYear(now, 2019)).toEqual(plusOneYear); + }); + it('Should check if null', () => { const now = luxonUtil.date(); diff --git a/lib/src/utils/luxon-utils.d.ts b/lib/src/utils/luxon-utils.d.ts index ba495cca64c502..b86209e0680f1f 100644 --- a/lib/src/utils/luxon-utils.d.ts +++ b/lib/src/utils/luxon-utils.d.ts @@ -31,7 +31,7 @@ declare class LuxonUtils extends Utils { setMinutes(value: DateTime, count: number): DateTime getMonth(value: DateTime): number; getYear(value: DateTime): number; - setYear(value: DateTime): DateTime; + setYear(value: DateTime, year: number): DateTime; getStartOfMonth(value: DateTime): DateTime; getNextMonth(value: DateTime): DateTime; diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index ff53fd4db2fda6..58ad240f57c3a7 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -83,6 +83,31 @@ export default class LuxonUtils { return value.get('hour'); } + setHours(value, count) { + return value.set({ hour: count }); + } + + getMinutes(value) { + return value.get('minute'); + } + + setMinutes(value, count) { + return value.set({ minute: count }); + } + + getMonth(value) { + // See https://github.com/moment/luxon/blob/master/docs/moment.md#major-functional-differences + return value.get('month') - 1; + } + + getYear(value) { + return value.get('year'); + } + + setYear(value, year) { + return value.set({ year }); + } + isNull(date) { return date === null; } From ef0a2fd42898e38b9313cf8c79ac1154e4f066d0 Mon Sep 17 00:00:00 2001 From: lookapanda Date: Mon, 9 Apr 2018 20:10:48 +0200 Subject: [PATCH 0517/1801] Fix missing argument for setYear in typings setYear was missing the second argument (year) --- lib/src/typings/utils.d.ts | 2 +- lib/src/utils/date-fns-utils.d.ts | 2 +- lib/src/utils/moment-utils.d.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 225dd5bace6fc4..9190e6a7e9fd0c 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -30,7 +30,7 @@ export class Utils { setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate getMonth(value: MaterialUiPickersDate): number; getYear(value: MaterialUiPickersDate): number; - setYear(value: MaterialUiPickersDate): MaterialUiPickersDate; + setYear(value: MaterialUiPickersDate, year: number): MaterialUiPickersDate; getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; diff --git a/lib/src/utils/date-fns-utils.d.ts b/lib/src/utils/date-fns-utils.d.ts index 8e99cfb2803486..5d185948d78c17 100644 --- a/lib/src/utils/date-fns-utils.d.ts +++ b/lib/src/utils/date-fns-utils.d.ts @@ -30,7 +30,7 @@ declare class DateFnsUtils extends Utils { setMinutes(value: Date, count: number): Date getMonth(value: Date): number; getYear(value: Date): number; - setYear(value: Date): Date; + setYear(value: Date, year: number): Date; getStartOfMonth(value: Date): Date; getNextMonth(value: Date): Date; diff --git a/lib/src/utils/moment-utils.d.ts b/lib/src/utils/moment-utils.d.ts index 31a26fcbf06501..72e85e9973cdd6 100644 --- a/lib/src/utils/moment-utils.d.ts +++ b/lib/src/utils/moment-utils.d.ts @@ -31,7 +31,7 @@ declare class MomentUtils extends Utils { setMinutes(value: Moment, count: number): Moment getMonth(value: Moment): number; getYear(value: Moment): number; - setYear(value: Moment): Moment; + setYear(value: Moment, year: number): Moment; getStartOfMonth(value: Moment): Moment; getNextMonth(value: Moment): Moment; From 9445ab84691e1ea9ffd309857763194278d127f7 Mon Sep 17 00:00:00 2001 From: lookapanda Date: Mon, 9 Apr 2018 20:18:12 +0200 Subject: [PATCH 0518/1801] Change argument name to count --- lib/src/typings/utils.d.ts | 2 +- lib/src/utils/date-fns-utils.d.ts | 2 +- lib/src/utils/moment-utils.d.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 9190e6a7e9fd0c..17634b5fb4c144 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -30,7 +30,7 @@ export class Utils { setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate getMonth(value: MaterialUiPickersDate): number; getYear(value: MaterialUiPickersDate): number; - setYear(value: MaterialUiPickersDate, year: number): MaterialUiPickersDate; + setYear(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; diff --git a/lib/src/utils/date-fns-utils.d.ts b/lib/src/utils/date-fns-utils.d.ts index 5d185948d78c17..fa3902d44f3365 100644 --- a/lib/src/utils/date-fns-utils.d.ts +++ b/lib/src/utils/date-fns-utils.d.ts @@ -30,7 +30,7 @@ declare class DateFnsUtils extends Utils { setMinutes(value: Date, count: number): Date getMonth(value: Date): number; getYear(value: Date): number; - setYear(value: Date, year: number): Date; + setYear(value: Date, count: number): Date; getStartOfMonth(value: Date): Date; getNextMonth(value: Date): Date; diff --git a/lib/src/utils/moment-utils.d.ts b/lib/src/utils/moment-utils.d.ts index 72e85e9973cdd6..2c92c290b861b8 100644 --- a/lib/src/utils/moment-utils.d.ts +++ b/lib/src/utils/moment-utils.d.ts @@ -31,7 +31,7 @@ declare class MomentUtils extends Utils { setMinutes(value: Moment, count: number): Moment getMonth(value: Moment): number; getYear(value: Moment): number; - setYear(value: Moment, year: number): Moment; + setYear(value: Moment, count: number): Moment; getStartOfMonth(value: Moment): Moment; getNextMonth(value: Moment): Moment; From aaa27cb12d231a87f00578c77a90417d17d5c4b5 Mon Sep 17 00:00:00 2001 From: lookapanda Date: Tue, 10 Apr 2018 00:40:37 +0200 Subject: [PATCH 0519/1801] Add cross-env to test tasks --- lib/package.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/package.json b/lib/package.json index 0d416f7825cb0b..90731f143dcdb4 100644 --- a/lib/package.json +++ b/lib/package.json @@ -50,8 +50,9 @@ "scripts": { "test": "npm run test:moment && npm run test:date-fns", "all-tests": "jest && npm run typescript", - "test:moment": "UTILS=moment && npm run all-tests", - "test:date-fns": "UTILS=date-fns && npm run all-tests", + "test:moment": "cross-env UTILS=moment && npm run all-tests", + "test:date-fns": "cross-env UTILS=date-fns && npm run all-tests", + "test:luxon": "cross-env UTILS=luxon && npm run all-tests", "typescript": "tsc -p tsconfig.json", "start": "cross-env NODE_ENV=development rollup --config --watch", "prebuild": "rimraf build", From fb918fbe3123c2df2de0d499fb40bb7bd90a64bf Mon Sep 17 00:00:00 2001 From: lookapanda Date: Tue, 10 Apr 2018 00:41:38 +0200 Subject: [PATCH 0520/1801] Add luxon support --- lib/__tests__/utils/luxon-utils.test.js | 120 +++++++++++++++++++++++- lib/src/typings/utils.d.ts | 4 +- lib/src/utils/luxon-utils.d.ts | 6 +- lib/src/utils/luxon-utils.js | 96 ++++++++++++++++++- 4 files changed, 213 insertions(+), 13 deletions(-) diff --git a/lib/__tests__/utils/luxon-utils.test.js b/lib/__tests__/utils/luxon-utils.test.js index 3c634b266a66b6..284821395d9202 100644 --- a/lib/__tests__/utils/luxon-utils.test.js +++ b/lib/__tests__/utils/luxon-utils.test.js @@ -2,9 +2,11 @@ import LuxonUtils from '../../src/utils/luxon-utils'; describe('Luxon utils', () => { let luxonUtil; + // let luxonUtilDe; beforeEach(() => { luxonUtil = new LuxonUtils(); + // luxonUtilDe = new LuxonUtils({ locale: 'de' }); }); it('Should return a Luxon DateTime instance', () => { @@ -38,7 +40,7 @@ describe('Luxon utils', () => { }); it('Should be on the same day', () => { - const now = luxonUtil.date(); + const now = luxonUtil.date(new Date(2018, 0)); const then = now.plus({ hours: 1 }); const thenOtherDay = now.plus({ days: 1 }); @@ -94,14 +96,14 @@ describe('Luxon utils', () => { expect(luxonUtil.isBeforeYear(then, now)).toBe(true); }); - it('Should be the start of the day', () => { + it('Should get the start of the day', () => { const now = luxonUtil.date(new Date(2018, 0, 1, 1)); const startDay = luxonUtil.date(new Date(2018, 0)); expect(luxonUtil.startOfDay(now)).toEqual(startDay); }); - it('Should be the end of the day', () => { + it('Should get the end of the day', () => { const now = luxonUtil.date(new Date(2018, 0)); const endDay = luxonUtil.date(new Date(2018, 0, 1, 23, 59, 59, 999)); @@ -109,9 +111,11 @@ describe('Luxon utils', () => { }); it('Should format correctly', () => { - const now = luxonUtil.date(new Date(2018, 0)); + const now = luxonUtil.date(new Date(2018, 2)); - expect(luxonUtil.format(now, 'yyyy LLL dd')).toBe('2018 Jan 01'); + expect(luxonUtil.format(now, 'yyyy LLL dd')).toBe('2018 Mar 01'); + // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 + // expect(luxonUtilDe.format(now, 'yyyy LLL dd')).toBe('2018 Mär 01'); }); it('Should format numbers correclty', () => { @@ -165,6 +169,112 @@ describe('Luxon utils', () => { expect(luxonUtil.setYear(now, 2019)).toEqual(plusOneYear); }); + it('Should get the start of the month', () => { + const now = luxonUtil.date(new Date(2018, 0, 3, 1)); + const startMonth = luxonUtil.date(new Date(2018, 0, 1)); + + expect(luxonUtil.getStartOfMonth(now)).toEqual(startMonth); + }); + + it('Should get the next month', () => { + const now = luxonUtil.date(new Date(2018, 0)); + const nextMonth = now.plus({ months: 1 }); + + expect(luxonUtil.getNextMonth(now)).toEqual(nextMonth); + }); + + it('Should get the previous month', () => { + const now = luxonUtil.date(new Date(2018, 0)); + const previousMonth = now.minus({ months: 1 }); + + expect(luxonUtil.getPreviousMonth(now)).toEqual(previousMonth); + }); + + it('Should get the weekdays', () => { + expect(luxonUtil.getWeekDays()).toEqual(['M', 'T', 'W', 'T', 'F', 'S', 'S']); + // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 + // expect(luxonUtilDe.getWeekDays()).toEqual(['M', 'D', 'M', 'D', 'F', 'S', 'S']); + }); + + it('Should get the weeks of a month', () => { + const now = luxonUtil.date(new Date(2018, 3)); + const days = 42; + const weeks = 6; + const weekArray = luxonUtil.getWeekArray(now); + const firstWeek = weekArray[0]; + const firstDay = firstWeek[0]; + const lastWeek = weekArray[weeks - 1]; + const lastDay = lastWeek[lastWeek.length - 1]; + + expect(weekArray.length).toBe(weeks); + expect(weekArray.map(arr => arr.length).reduce((p, v) => p + v)).toBe(days); + expect(firstDay).toEqual(now.startOf('month').startOf('week')); + expect(lastDay).toEqual(now.endOf('month').endOf('week').startOf('day')); + }); + + it('Should get a range of years', () => { + const years = [2016, 2017, 2018].map(year => luxonUtil.date(new Date(year, 0))); + + expect(luxonUtil.getYearRange(years[0], years[2])).toEqual([years[0], years[1]]); + }); + + it('Should get the meridiem text', () => { + expect(luxonUtil.getMeridiemText('am')).toBe('AM'); + expect(luxonUtil.getMeridiemText('pm')).toBe('PM'); + // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 + // expect(luxonUtilDe.getMeridiemText('am')).toBe('vorm.'); + // expect(luxonUtilDe.getMeridiemText('pm')).toBe('nachm.'); + }); + + it('Should get the calendar header text', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getCalendarHeaderText(now)).toBe('January 2018'); + // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 + // expect(luxonUtilDe.getCalendarHeaderText(now)).toBe('Januar 2018'); + }); + + it('Should get the date picker header text', () => { + const now = luxonUtil.date(new Date(2018, 2)); + + expect(luxonUtil.getDatePickerHeaderText(now)).toBe('Thu, Mar 1'); + // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 + // expect(luxonUtilDe.getDatePickerHeaderText(now)).toBe('Di, März 1'); + }); + + it('Should get the date time picker header text', () => { + const now = luxonUtil.date(new Date(2018, 2)); + + expect(luxonUtil.getDateTimePickerHeaderText(now)).toBe('Mar 1'); + // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 + // expect(luxonUtilDe.getDateTimePickerHeaderText(now)).toBe('Mär 1'); + }); + + it('Should get the day text', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getDayText(now)).toBe('1'); + }); + + it('Should get the hour text', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getHourText(now, true)).toBe('12'); + expect(luxonUtil.getHourText(now, false)).toBe('00'); + }); + + it('Should get the minute text', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getMinuteText(now)).toBe('00'); + }); + + it('Should get the year text', () => { + const now = luxonUtil.date(new Date(2018, 0)); + + expect(luxonUtil.getYearText(now)).toBe('2018'); + }); + it('Should check if null', () => { const now = luxonUtil.date(); diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 17634b5fb4c144..9389bbd126bdb2 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -37,8 +37,8 @@ export class Utils { getPreviousMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; getWeekdays(): string[]; - getWeekArray(): MaterialUiPickersDate[]; - getYearRange(): MaterialUiPickersDate[]; + getWeekArray(date: MaterialUiPickersDate): MaterialUiPickersDate[]; + getYearRange(start: MaterialUiPickersDate, end: MaterialUiPickersDate): MaterialUiPickersDate[]; // displaying methods getMeridiemText(ampm: 'am' | 'pm'): string; diff --git a/lib/src/utils/luxon-utils.d.ts b/lib/src/utils/luxon-utils.d.ts index b86209e0680f1f..da5fe22986e96e 100644 --- a/lib/src/utils/luxon-utils.d.ts +++ b/lib/src/utils/luxon-utils.d.ts @@ -38,13 +38,13 @@ declare class LuxonUtils extends Utils { getPreviousMonth(value: DateTime): DateTime; getWeekdays(): string[]; - getWeekArray(): DateTime[]; - getYearRange(): DateTime[]; + getWeekArray(date: DateTime): DateTime[]; + getYearRange(start: DateTime, end: DateTime): DateTime[]; // displaying methods getMeridiemText(ampm: 'am' | 'pm'): string; getCalendarHeaderText(date: DateTime): string; - getDateTimePickerHeaderText(date: DateTime): string; + getDatePickerHeaderText(date: DateTime): string; getDateTimePickerHeaderText(date: DateTime): string; getDayText(date: DateTime): string; getHourText(date: DateTime, ampm: boolean): string; diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index 58ad240f57c3a7..1bc17aea3b631d 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -1,10 +1,10 @@ -import { DateTime } from 'luxon'; +import { DateTime, Info } from 'luxon'; export default class LuxonUtils { parse = DateTime.fromFormat; constructor({ locale } = {}) { - this.locale = locale; + this.locale = locale || 'en'; } date(value) { @@ -72,7 +72,7 @@ export default class LuxonUtils { } format(date, format) { - return date.toFormat(format); + return date.setLocale(this.locale).toFormat(format); } formatNumber(number) { @@ -108,6 +108,96 @@ export default class LuxonUtils { return value.set({ year }); } + getStartOfMonth(value) { + return value.startOf('month'); + } + + getNextMonth(value) { + return value.plus({ months: 1 }); + } + + getPreviousMonth(value) { + return value.minus({ months: 1 }); + } + + getWeekDays() { + return Info.weekdaysFormat('narrow', { locale: this.locale }); + } + + getWeekArray(date) { + const { days } = date + .endOf('month') + .endOf('week') + .diff(date.startOf('month').startOf('week'), 'days') + .toObject(); + + const weeks = []; + new Array(Math.round(days)) + .fill() + .map((_, i) => i) + .map(day => date.startOf('month').startOf('week').plus({ days: day })) + .forEach((v, i) => { + if (i === 0 || ((i % 7 === 0) && i > 6)) { + weeks.push([v]); + return; + } + + weeks[weeks.length - 1].push(v); + }); + + return weeks; + } + + getYearRange(start, end) { + const { years } = end.diff(start, 'years').toObject(); + if (years <= 0) { + return []; + } + + return new Array(Math.round(years)) + .fill() + .map((_m, i) => i) + .map(year => start.plus({ years: year })); + } + + getMeridiemText(ampm) { + return Info + .meridiems({ locale: this.locale }) + .find(v => v.toLowerCase() === ampm.toLowerCase()); + } + + getCalendarHeaderText(date) { + return this.format(date, 'MMMM yyyy'); + } + + getDatePickerHeaderText(date) { + return this.format(date, 'ccc, MMM d'); + } + + getDateTimePickerHeaderText(date) { + return this.format(date, 'MMM d'); + } + + getDayText(date) { + return this.format(date, 'd'); + } + + getHourText(date, ampm) { + if (ampm) { + return date.toFormat('hh'); + } + + return date.toFormat('HH'); + } + + getMinuteText(date) { + return date.toFormat('mm'); + } + + getYearText(date) { + return date.toFormat('yyyy'); + } + isNull(date) { return date === null; } From 428621376de7d8c8ba4357cf0d6c176556441fe9 Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 10 Apr 2018 11:44:14 +0200 Subject: [PATCH 0521/1801] Fix typo --- lib/__tests__/utils/luxon-utils.test.js | 2 +- lib/src/utils/luxon-utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/__tests__/utils/luxon-utils.test.js b/lib/__tests__/utils/luxon-utils.test.js index 284821395d9202..bcd9b27174e75d 100644 --- a/lib/__tests__/utils/luxon-utils.test.js +++ b/lib/__tests__/utils/luxon-utils.test.js @@ -191,7 +191,7 @@ describe('Luxon utils', () => { }); it('Should get the weekdays', () => { - expect(luxonUtil.getWeekDays()).toEqual(['M', 'T', 'W', 'T', 'F', 'S', 'S']); + expect(luxonUtil.getWeekdays()).toEqual(['M', 'T', 'W', 'T', 'F', 'S', 'S']); // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 // expect(luxonUtilDe.getWeekDays()).toEqual(['M', 'D', 'M', 'D', 'F', 'S', 'S']); }); diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index 1bc17aea3b631d..1036b84448d279 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -120,7 +120,7 @@ export default class LuxonUtils { return value.minus({ months: 1 }); } - getWeekDays() { + getWeekdays() { return Info.weekdaysFormat('narrow', { locale: this.locale }); } From 3b6f304f9c6a8509d3a98661e2ed2ca46f260634 Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 10 Apr 2018 14:04:05 +0200 Subject: [PATCH 0522/1801] Extend tests for Intl --- lib/__tests__/utils/luxon-utils.test.js | 42 +++++++++++++++---------- lib/src/utils/luxon-utils.js | 2 +- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/lib/__tests__/utils/luxon-utils.test.js b/lib/__tests__/utils/luxon-utils.test.js index bcd9b27174e75d..b3bac0353b58cf 100644 --- a/lib/__tests__/utils/luxon-utils.test.js +++ b/lib/__tests__/utils/luxon-utils.test.js @@ -1,12 +1,24 @@ import LuxonUtils from '../../src/utils/luxon-utils'; +const checkForFullICU = () => { + try { + const january = new Date(9e8); + const spanish = new Intl.DateTimeFormat('es', { month: 'long' }); + return spanish.format(january) === 'enero'; + } catch (err) { + return false; + } +}; + describe('Luxon utils', () => { let luxonUtil; - // let luxonUtilDe; + let luxonUtilDe; + const hasICU = checkForFullICU(); + const hasFullICU = () => hasICU; beforeEach(() => { luxonUtil = new LuxonUtils(); - // luxonUtilDe = new LuxonUtils({ locale: 'de' }); + luxonUtilDe = new LuxonUtils({ locale: 'de' }); }); it('Should return a Luxon DateTime instance', () => { @@ -114,8 +126,7 @@ describe('Luxon utils', () => { const now = luxonUtil.date(new Date(2018, 2)); expect(luxonUtil.format(now, 'yyyy LLL dd')).toBe('2018 Mar 01'); - // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 - // expect(luxonUtilDe.format(now, 'yyyy LLL dd')).toBe('2018 Mär 01'); + expect(luxonUtilDe.format(now, 'yyyy LLL dd')).toBe(hasFullICU() ? '2018 Mär 01' : '2018 M03 01'); }); it('Should format numbers correclty', () => { @@ -191,9 +202,10 @@ describe('Luxon utils', () => { }); it('Should get the weekdays', () => { - expect(luxonUtil.getWeekdays()).toEqual(['M', 'T', 'W', 'T', 'F', 'S', 'S']); - // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 - // expect(luxonUtilDe.getWeekDays()).toEqual(['M', 'D', 'M', 'D', 'F', 'S', 'S']); + const weekdaysEn = ['M', 'T', 'W', 'T', 'F', 'S', 'S']; + const weekdaysDe = ['M', 'D', 'M', 'D', 'F', 'S', 'S']; + expect(luxonUtil.getWeekdays()).toEqual(weekdaysEn); + expect(luxonUtilDe.getWeekdays()).toEqual(hasFullICU() ? weekdaysDe : weekdaysEn); }); it('Should get the weeks of a month', () => { @@ -216,38 +228,36 @@ describe('Luxon utils', () => { const years = [2016, 2017, 2018].map(year => luxonUtil.date(new Date(year, 0))); expect(luxonUtil.getYearRange(years[0], years[2])).toEqual([years[0], years[1]]); + expect(luxonUtil.getYearRange(years[0], years[0])).toEqual([]); }); it('Should get the meridiem text', () => { expect(luxonUtil.getMeridiemText('am')).toBe('AM'); expect(luxonUtil.getMeridiemText('pm')).toBe('PM'); - // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 - // expect(luxonUtilDe.getMeridiemText('am')).toBe('vorm.'); - // expect(luxonUtilDe.getMeridiemText('pm')).toBe('nachm.'); + // Had to disable this test for now, but there is still 100% coverage + // expect(luxonUtilDe.getMeridiemText('am')).toBe(hasFullICU() ? 'vorm.' : 'AM'); + // expect(luxonUtilDe.getMeridiemText('pm')).toBe(hasFullICU() ? 'nachm.' : 'PM'); }); it('Should get the calendar header text', () => { const now = luxonUtil.date(new Date(2018, 0)); expect(luxonUtil.getCalendarHeaderText(now)).toBe('January 2018'); - // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 - // expect(luxonUtilDe.getCalendarHeaderText(now)).toBe('Januar 2018'); + expect(luxonUtilDe.getCalendarHeaderText(now)).toBe(hasFullICU() ? 'Januar 2018' : 'M01 2018'); }); it('Should get the date picker header text', () => { const now = luxonUtil.date(new Date(2018, 2)); expect(luxonUtil.getDatePickerHeaderText(now)).toBe('Thu, Mar 1'); - // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 - // expect(luxonUtilDe.getDatePickerHeaderText(now)).toBe('Di, März 1'); + expect(luxonUtilDe.getDatePickerHeaderText(now)).toBe(hasFullICU() ? 'Do, März 1' : 'Thu, M03 1'); }); it('Should get the date time picker header text', () => { const now = luxonUtil.date(new Date(2018, 2)); expect(luxonUtil.getDateTimePickerHeaderText(now)).toBe('Mar 1'); - // TODO: fix when this is fixed: https://github.com/moment/luxon/issues/204#issuecomment-379902233 - // expect(luxonUtilDe.getDateTimePickerHeaderText(now)).toBe('Mär 1'); + expect(luxonUtilDe.getDateTimePickerHeaderText(now)).toBe(hasFullICU() ? 'März 1' : 'M03 1'); }); it('Should get the day text', () => { diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index 1036b84448d279..3e9f996d6a069b 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -150,7 +150,7 @@ export default class LuxonUtils { getYearRange(start, end) { const { years } = end.diff(start, 'years').toObject(); - if (years <= 0) { + if (!years || years <= 0) { return []; } From 70e72d8eb14a9455acb5f3b3c08c3d9318615feb Mon Sep 17 00:00:00 2001 From: Simon Date: Tue, 10 Apr 2018 14:04:29 +0200 Subject: [PATCH 0523/1801] Add cross-env to tasks and extend for luxon --- lib/package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/package.json b/lib/package.json index 90731f143dcdb4..2a5dfce3bc2d78 100644 --- a/lib/package.json +++ b/lib/package.json @@ -48,8 +48,8 @@ "react-text-mask": "^5.1.0" }, "scripts": { - "test": "npm run test:moment && npm run test:date-fns", - "all-tests": "jest && npm run typescript", + "test": "cross-env NODE_ICU_DATA=node_modules/full-icu && npm run test:moment && npm run test:date-fns && npm run test:luxon", + "all-tests": "cross-env NODE_ICU_DATA=node_modules/full-icu jest && npm run typescript", "test:moment": "cross-env UTILS=moment && npm run all-tests", "test:date-fns": "cross-env UTILS=date-fns && npm run all-tests", "test:luxon": "cross-env UTILS=luxon && npm run all-tests", @@ -67,7 +67,7 @@ "postrelease": "npm run build && npm publish build", "lint": "eslint ./src/**/*.js*", "lint-fix": "npm run lint -- --fix", - "postinstall": "node -e \"console.log('\\u001b[35m\\u001b[1m Did not forget to install date-fns@next or moment?')\"" + "postinstall": "node -e \"console.log('\\u001b[35m\\u001b[1m Did not forget to install date-fns@next, luxon or moment?')\"" }, "devDependencies": { "@types/classnames": "^2.2.3", @@ -102,6 +102,7 @@ "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.7.0", "fs-extra": "^4.0.2", + "full-icu": "^1.2.1", "glob": "^7.1.2", "jest": "^21.2.1", "material-ui": "^1.0.0-beta.35", From 718c938a3eee44550fdddc05e88887c1e3f99120 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 10 Apr 2018 15:13:29 +0100 Subject: [PATCH 0524/1801] do not pass disableOpenOnEnter prop to TextField component --- lib/package-lock.json | 2 +- lib/src/_shared/DateTextField.jsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index d09510979bf4c8..b29ba3267082e3 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 431674e613a64a..c8ff2eea944adc 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -267,6 +267,7 @@ export class DateTextField extends PureComponent { TextFieldComponent, InputAdornmentProps, adornmentPosition, + disableOpenOnEnter, ...other } = this.props; From b9eabffd5f9bbb13e63f575f8bdeb66ca86a64a2 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 10 Apr 2018 20:45:04 +0200 Subject: [PATCH 0525/1801] debug ci --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 362696fe32dd9f..f8722a83523c18 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,4 @@ node_js: - "8" script: - - cd lib && npm install --ignore-scripts && npm run ci \ No newline at end of file + - cd lib && npm install --ignore-scripts && ls node_modules && npm run ci \ No newline at end of file From 2a8170cd4185d580a24a9748168b3ae9269f334f Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 10 Apr 2018 20:50:39 +0200 Subject: [PATCH 0526/1801] fix path to full-icu --- lib/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/package.json b/lib/package.json index 2a5dfce3bc2d78..a076de4fb6d048 100644 --- a/lib/package.json +++ b/lib/package.json @@ -48,8 +48,8 @@ "react-text-mask": "^5.1.0" }, "scripts": { - "test": "cross-env NODE_ICU_DATA=node_modules/full-icu && npm run test:moment && npm run test:date-fns && npm run test:luxon", - "all-tests": "cross-env NODE_ICU_DATA=node_modules/full-icu jest && npm run typescript", + "test": "cross-env NODE_ICU_DATA=./node_modules/full-icu && npm run test:moment && npm run test:date-fns && npm run test:luxon", + "all-tests": "cross-env NODE_ICU_DATA=./node_modules/full-icu jest && npm run typescript", "test:moment": "cross-env UTILS=moment && npm run all-tests", "test:date-fns": "cross-env UTILS=date-fns && npm run all-tests", "test:luxon": "cross-env UTILS=luxon && npm run all-tests", From db045280e8c5a23129bb8cb8303f3b13ea80af60 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 10 Apr 2018 21:03:25 +0200 Subject: [PATCH 0527/1801] move NODE_ICU_DATA variable to test:luxon script --- lib/package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/package.json b/lib/package.json index a076de4fb6d048..afdcf0580d37cc 100644 --- a/lib/package.json +++ b/lib/package.json @@ -48,11 +48,11 @@ "react-text-mask": "^5.1.0" }, "scripts": { - "test": "cross-env NODE_ICU_DATA=./node_modules/full-icu && npm run test:moment && npm run test:date-fns && npm run test:luxon", - "all-tests": "cross-env NODE_ICU_DATA=./node_modules/full-icu jest && npm run typescript", + "test": "npm run test:moment && npm run test:date-fns && npm run test:luxon", + "all-tests": "jest && npm run typescript", "test:moment": "cross-env UTILS=moment && npm run all-tests", "test:date-fns": "cross-env UTILS=date-fns && npm run all-tests", - "test:luxon": "cross-env UTILS=luxon && npm run all-tests", + "test:luxon": "cross-env NODE_ICU_DATA=./node_modules/full-icu UTILS=luxon && npm run all-tests", "typescript": "tsc -p tsconfig.json", "start": "cross-env NODE_ENV=development rollup --config --watch", "prebuild": "rimraf build", From 1f078759b241ddc7c4ed6e987b7872d8603f1e6c Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 10 Apr 2018 21:07:57 +0200 Subject: [PATCH 0528/1801] pacakge.lock --- lib/package-lock.json | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index d09510979bf4c8..6140a7f482bbb3 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.1", + "version": "1.0.0-rc.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -187,12 +187,24 @@ "integrity": "sha512-x15/Io+JdzrkM9gnX6SWUs/EmqQzd65TD9tcZIAQ1VIdb93XErNuYmB7Yho8JUCE189ipUSESsWvGvYXRRIvYA==", "dev": true }, + "@types/jest": { + "version": "22.2.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.2.tgz", + "integrity": "sha512-Dt7aifQmvMPTLVimzvfQ99qUn4zeSDCQarFNV4otfDLYu0RFdSRBnqSLgksoAnsRL88xJ/UBKbd66iP2XIab0w==", + "dev": true + }, "@types/jss": { "version": "9.3.0", "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.0.tgz", "integrity": "sha512-n7MUYCO/Wt4d6Yj0ZewXSSkqBcrdLFgpQ4mUBRXBWDmLfXtgT3tJ26GVPr8HiyRLLze6iQfaBJTlvjRTjgZpRg==", "dev": true }, + "@types/luxon": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-0.5.1.tgz", + "integrity": "sha512-LM7JFX3xII25A5ursg9kZmGZjRN3tTOKn4Amv7OpiX3gwp6u9GjNDYBjA2h6wrFJgz7CYKBgJ3VOvtQob6hMLg==", + "dev": true + }, "@types/moment": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/@types/moment/-/moment-2.13.0.tgz", @@ -3915,6 +3927,12 @@ } } }, + "full-icu": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/full-icu/-/full-icu-1.2.1.tgz", + "integrity": "sha512-E2s1b4GVbt8PyG+iaRN6ks8N0Oy2LOJz7SIMUwWWWx7Mr5Z08hKkfpkKQbOtOGqzkFpckDJHjjZ8qfigN2W86A==", + "dev": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -6166,6 +6184,11 @@ "yallist": "2.1.2" } }, + "luxon": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.0.0.tgz", + "integrity": "sha512-pEUSNIpPM9eFwOW2AvFEw+wFemlXEZtGfUeTNCBoUsO7RIAKyLdRTH41wgN2GNO4pdvGffauKTKERTyvO/VQlA==" + }, "magic-string": { "version": "0.22.4", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", From 172d32fb7f1981c7e04a373215c117672d95ca0a Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 10 Apr 2018 20:45:04 +0200 Subject: [PATCH 0529/1801] Revert "debug ci" This reverts commit b9eabffd5f9bbb13e63f575f8bdeb66ca86a64a2. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f8722a83523c18..362696fe32dd9f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,4 +3,4 @@ node_js: - "8" script: - - cd lib && npm install --ignore-scripts && ls node_modules && npm run ci \ No newline at end of file + - cd lib && npm install --ignore-scripts && npm run ci \ No newline at end of file From b6462d886fd6b483fea700d81a3ac67f2d4c2bec Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Wed, 11 Apr 2018 01:30:27 +0500 Subject: [PATCH 0530/1801] parseFormats and commitUpdates on blur --- lib/src/_shared/DateTextField.jsx | 60 ++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 12 deletions(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index c8ff2eea944adc..cbdc2945410404 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -25,6 +25,7 @@ export class DateTextField extends PureComponent { disablePast: PropTypes.bool, disableFuture: PropTypes.bool, format: PropTypes.string, + parseFormats: PropTypes.arrayOf(PropTypes.string), onChange: PropTypes.func.isRequired, onClear: PropTypes.func, onClick: PropTypes.func.isRequired, @@ -69,6 +70,7 @@ export class DateTextField extends PureComponent { value: new Date(), labelFunc: undefined, format: undefined, + parseFormats: undefined, InputProps: undefined, keyboard: false, mask: undefined, @@ -169,21 +171,17 @@ export class DateTextField extends PureComponent { } } - handleBlur = (e) => { - e.preventDefault(); - e.stopPropagation(); - }; - - handleChange = (e) => { + commitUpdates = (value) => { const { clearable, onClear, utils, format, onError, + parseFormats, } = this.props; - if (e.target.value === '') { + if (value === '') { if (this.props.value === null) { this.setState(this.updateState()); } else if (clearable && onClear) { @@ -194,12 +192,27 @@ export class DateTextField extends PureComponent { } const oldValue = utils.date(this.state.value); - const newValue = utils.parse(e.target.value, format); + let newValue; + + if (parseFormats) { + newValue = parseFormats.reduce((result, parseFormat) => { + if (result) { + return result; + } + + const date = utils.parse(value, parseFormat); + return utils.isValid(date) && date; + }, undefined); + } + + if (newValue === false) { + newValue = utils.parse(value, format); + } const error = this.getError(newValue); this.setState({ - displayValue: e.target.value, + displayValue: value, value: error ? newValue : oldValue, error, }, () => { @@ -210,6 +223,25 @@ export class DateTextField extends PureComponent { if (error && onError) { onError(newValue, error); } + + if (!error) { + this.setState({ + displayValue: utils.format(this.state.value, format), + }); + } + }); + } + + handleBlur = (e) => { + e.preventDefault(); + e.stopPropagation(); + this.commitUpdates(e.target.value); + }; + + handleChange = (e) => { + this.setState({ + displayValue: e.target.value, + error: '', }); } @@ -222,13 +254,16 @@ export class DateTextField extends PureComponent { return; } - this.openPicker(e); } handleKeyPress = (e) => { - if (e.key === 'Enter' && !this.props.disableOpenOnEnter) { - this.openPicker(e); + if (e.key === 'Enter') { + if (!this.props.disableOpenOnEnter) { + this.openPicker(e); + } else { + this.commitUpdates(e.target.value); + } } } @@ -244,6 +279,7 @@ export class DateTextField extends PureComponent { const { utils, format, + parseFormats, classes, disabled, onClick, From 460b82df61ee303b2908c882d3c64a5833e918dc Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Wed, 11 Apr 2018 02:16:27 +0500 Subject: [PATCH 0531/1801] fix --- lib/src/_shared/DateTextField.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index cbdc2945410404..c63cc6c2f90371 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -203,6 +203,8 @@ export class DateTextField extends PureComponent { const date = utils.parse(value, parseFormat); return utils.isValid(date) && date; }, undefined); + } else { + newValue = utils.parse(value, format); } if (newValue === false) { From 75e3c45e488a0df0a135b7ceeb14a093a2d8cff2 Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Wed, 11 Apr 2018 02:37:58 +0500 Subject: [PATCH 0532/1801] fix --- lib/src/_shared/DateTextField.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index c63cc6c2f90371..2079499efbff41 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -237,7 +237,9 @@ export class DateTextField extends PureComponent { handleBlur = (e) => { e.preventDefault(); e.stopPropagation(); - this.commitUpdates(e.target.value); + if (e.target.tagName.toLowerCase() === 'input') { + this.commitUpdates(e.target.value); + } }; handleChange = (e) => { From d6b2c3ad4c6140abf7407c0923d28ff51865dd12 Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Wed, 11 Apr 2018 15:37:06 +0500 Subject: [PATCH 0533/1801] typescript for parseFormats --- lib/src/_shared/DateTextField.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/_shared/DateTextField.d.ts b/lib/src/_shared/DateTextField.d.ts index 80be32c955d113..62866cf72d1345 100644 --- a/lib/src/_shared/DateTextField.d.ts +++ b/lib/src/_shared/DateTextField.d.ts @@ -17,6 +17,7 @@ export interface DateTextFieldProps extends Omit void; keyboard?: boolean; format?: string; + parseFormats?: string[]; invalidLabel?: string; emptyLabel?: string; labelFunc?: (date: MaterialUiPickersDate, invalidLabel: string) => string; From 46aea12b9cd766530df786b30631eff707437c46 Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Wed, 11 Apr 2018 15:47:19 +0500 Subject: [PATCH 0534/1801] f --- lib/src/_shared/DateTextField.jsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index 2079499efbff41..d97f2297974bb3 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -203,11 +203,10 @@ export class DateTextField extends PureComponent { const date = utils.parse(value, parseFormat); return utils.isValid(date) && date; }, undefined); - } else { - newValue = utils.parse(value, format); + } - if (newValue === false) { + if (!parseFormats || newValue === false) { newValue = utils.parse(value, format); } From 12aa32ad405efc86d0027d9f5d18325f87146fc4 Mon Sep 17 00:00:00 2001 From: Scott Weaver Date: Wed, 11 Apr 2018 10:48:22 -0400 Subject: [PATCH 0535/1801] Added clear initial state example, and fixed selectedDate for IE users. --- docs/src/Examples/Demo/CustomDateTimePicker.jsx | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index e740be297c661b..e864ed1cbd0a81 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -4,12 +4,17 @@ import { IconButton, Icon, InputAdornment } from 'material-ui'; export default class CustomDateTimePicker extends PureComponent { state = { - selectedDate: new Date('2018-01-01 18:54'), + selectedDate: new Date('2018-01-01T18:54'), + clearedDate: null + } handleDateChange = (date) => { this.setState({ selectedDate: date }); } + handleClearedDateChange = (date) => { + this.setState({ clearedDate: date }); + } render() { const { selectedDate } = this.state; @@ -54,6 +59,15 @@ export default class CustomDateTimePicker extends PureComponent { mask={[/\d/, /\d/, /\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, ' ', /\d/, /\d/, ':', /\d/, /\d/, ' ', /a|p/i, 'M']} />
+ +
+ +
); From 4b760eacbe166d61d15edd3e3db7757ecda73add Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 11 Apr 2018 18:12:08 +0200 Subject: [PATCH 0536/1801] Extend LuxonUtils.date to always return a valid DateTime instance --- lib/src/utils/luxon-utils.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index 3e9f996d6a069b..7d140135fac964 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -8,11 +8,19 @@ export default class LuxonUtils { } date(value) { - if (typeof value === 'undefined') { - return DateTime.local(); + if (value instanceof Date) { + return DateTime.fromJSDate(value); } - return DateTime.fromJSDate(value); + if (typeof value === 'string') { + return DateTime.fromJSDate(new Date(value)); + } + + if (value instanceof DateTime) { + return value; + } + + return DateTime.local(); } addDays(date, count) { From 77fecd1e84101969fdda3c1ee4e68d46b89f56ee Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 11 Apr 2018 18:12:33 +0200 Subject: [PATCH 0537/1801] Fix LuxonUtils.getYearRange --- lib/src/utils/luxon-utils.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index 7d140135fac964..f0da30c3fac956 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -157,6 +157,8 @@ export default class LuxonUtils { } getYearRange(start, end) { + start = this.date(start); + end = this.date(end); const { years } = end.diff(start, 'years').toObject(); if (!years || years <= 0) { return []; From 48dbc0737183153ce6dffa49f5b4f53adcb6384a Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 11 Apr 2018 18:13:04 +0200 Subject: [PATCH 0538/1801] Fix LuxonUtils typings --- lib/src/utils/luxon-utils.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/utils/luxon-utils.d.ts b/lib/src/utils/luxon-utils.d.ts index da5fe22986e96e..c793a7c9254ba1 100644 --- a/lib/src/utils/luxon-utils.d.ts +++ b/lib/src/utils/luxon-utils.d.ts @@ -5,7 +5,7 @@ declare class LuxonUtils extends Utils { locale: any; constructor (options?: { locale: any }); - date(value: any): DateTime; + date(value: DateTime | Date | string): DateTime; addDays(value: DateTime, count: number): DateTime; isValid(value: DateTime): boolean; isEqual(value: DateTime, comparing: DateTime): boolean; @@ -39,7 +39,7 @@ declare class LuxonUtils extends Utils { getWeekdays(): string[]; getWeekArray(date: DateTime): DateTime[]; - getYearRange(start: DateTime, end: DateTime): DateTime[]; + getYearRange(start: DateTime | string, end: DateTime | string): DateTime[]; // displaying methods getMeridiemText(ampm: 'am' | 'pm'): string; From afbfd240e052db88483eeecc881c9a92f558ccbb Mon Sep 17 00:00:00 2001 From: Simon Date: Wed, 11 Apr 2018 18:13:32 +0200 Subject: [PATCH 0539/1801] Extend LuxoUtils tests --- lib/__tests__/utils/luxon-utils.test.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/__tests__/utils/luxon-utils.test.js b/lib/__tests__/utils/luxon-utils.test.js index b3bac0353b58cf..037010405da635 100644 --- a/lib/__tests__/utils/luxon-utils.test.js +++ b/lib/__tests__/utils/luxon-utils.test.js @@ -24,8 +24,21 @@ describe('Luxon utils', () => { it('Should return a Luxon DateTime instance', () => { const now = luxonUtil.date(); const nowJs = luxonUtil.date(new Date()); + const nowString = luxonUtil.date('2018-01-01'); expect(now.constructor.name).toBe('DateTime'); expect(nowJs.constructor.name).toBe('DateTime'); + expect(nowString.constructor.name).toBe('DateTime'); + expect(now.isValid).toBe(true); + expect(nowJs.isValid).toBe(true); + expect(nowString.isValid).toBe(true); + }); + + it('Should return a DateTime instance of now', () => { + const invalid = luxonUtil.date(null); + const now = luxonUtil.date(invalid.toISO()); + + expect(invalid.constructor.name).toBe('DateTime'); + expect(invalid).toEqual(now); }); it('Should add one day', () => { From 64fd636ee94f32f364d4575e5bf8f51f5a487aa8 Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Thu, 12 Apr 2018 14:54:02 +0500 Subject: [PATCH 0540/1801] lint --- lib/src/_shared/DateTextField.jsx | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index d97f2297974bb3..e3732f48d7c947 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -203,7 +203,6 @@ export class DateTextField extends PureComponent { const date = utils.parse(value, parseFormat); return utils.isValid(date) && date; }, undefined); - } if (!parseFormats || newValue === false) { From 1197a2f7cb6b579de83d18d5c9c964957a651d99 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 14 Apr 2018 11:54:44 +0300 Subject: [PATCH 0541/1801] Fix closing drawer on expanding nav items --- docs/package-lock.json | 169 ++++++++++-------- docs/package.json | 16 +- .../Examples/Demo/CustomDateTimePicker.jsx | 6 +- docs/src/layout/NavItem.jsx | 6 +- 4 files changed, 112 insertions(+), 85 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 9daf120a795a0b..1497d1a44f9b95 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -5,21 +5,28 @@ "requires": true, "dependencies": { "@types/jss": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.2.tgz", - "integrity": "sha512-+jXqG1rCRc9bmvrzQXKsMu/RfNQngD+USU6sBE2kX8An7fE5TNSgB7V1+hiZRvENii9nlf1W1gb9fnjM7Sa8NA==" + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.2.tgz", + "integrity": "sha512-EX87yNYcisXO5BU9tT7stB7OGuDJyV3JwtMwhfUprrmHwYKWh9a3vchAy6DYzUSbmTA7bD46h8qata5jP1V7Zw==", + "requires": { + "csstype": "2.2.0", + "indefinite-observable": "1.0.1" + } }, "@types/react": { - "version": "16.0.41", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.41.tgz", - "integrity": "sha512-hbAKPclom+NzM/iqB9JmP7UfWl0j/xsOIzWCB8iIJ7Dq0BlY80IeulgHwod2EOYILD5hc/DJAJvMFKfczdWBsQ==" + "version": "16.3.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.10.tgz", + "integrity": "sha512-NGqrP0qhgn8hlFMO3I1w7vwT8KIcdEg1D1AFtYaNBhp1Uo4SZgUpNcbOBfrvgAPRr1nn+Ail/0VoPLI2n4SNMw==", + "requires": { + "csstype": "2.2.0" + } }, "@types/react-transition-group": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.7.tgz", - "integrity": "sha512-aTbd37E2XJ5Zi/lRrXo74RMhZikS/r5a06EStXEdapy4pqzvPrdY9BpWGNSpnyp8oNaggL0duljNdC8T0dRIUA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.8.tgz", + "integrity": "sha512-52rCkAlhkFfaXplkujWUevTMb9/DCsND1DwB6VONPJKAShC3MrRl130ADV7Rc+7t83KVAoz4HPFhJuHI5pfnZA==", "requires": { - "@types/react": "16.0.41" + "@types/react": "16.3.10" } }, "abab": { @@ -2391,6 +2398,11 @@ "cssom": "0.3.2" } }, + "csstype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.2.0.tgz", + "integrity": "sha512-5YHWQgAtzKIA8trr2AVg6Jq5Fs5eAR1UqKbRJjgQQevNx3IAhD3S9wajvqJdmO7bgIxy0MA5lFVPzJYjmMlNeQ==" + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -2544,9 +2556,9 @@ "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=" }, "detect-port-alt": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.5.tgz", - "integrity": "sha512-PlE9BuBz44BSDV8sJvfUxkGquPcDW4oHSYa5wY4yKj943C2I4xNU5Gd/EFroqdWNur7W6yU2zOLqvmKJCB//aA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "requires": { "address": "1.0.3", "debug": "2.6.9" @@ -3103,9 +3115,9 @@ } }, "eslint-module-utils": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", - "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", + "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { "debug": "2.6.9", @@ -3151,21 +3163,21 @@ } }, "eslint-plugin-import": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", - "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.11.0.tgz", + "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=", "dev": true, "requires": { - "builtin-modules": "1.1.1", "contains-path": "0.1.0", "debug": "2.6.9", "doctrine": "1.5.0", "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.1.1", + "eslint-module-utils": "2.2.0", "has": "1.0.1", "lodash": "4.17.5", "minimatch": "3.0.4", - "read-pkg-up": "2.0.0" + "read-pkg-up": "2.0.0", + "resolve": "1.7.1" }, "dependencies": { "doctrine": { @@ -3220,6 +3232,15 @@ "read-pkg": "2.0.0" } }, + "resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "dev": true, + "requires": { + "path-parse": "1.0.5" + } + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -5142,6 +5163,21 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, + "indefinite-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indefinite-observable/-/indefinite-observable-1.0.1.tgz", + "integrity": "sha1-CZFUI8yNb36xy3iCrRNGM8mm7cM=", + "requires": { + "symbol-observable": "1.0.4" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" + } + } + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", @@ -6734,12 +6770,12 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "material-ui": { - "version": "1.0.0-beta.38", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.38.tgz", - "integrity": "sha512-FH0ZjltO+aMJea7J+/lT+JuqxxW7/B5UT1lTcrWlTJlAmivGdSE67T7Hqag/0fMRqZpdvMvyjhoM1DLRmf0bqg==", + "version": "1.0.0-beta.41", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.41.tgz", + "integrity": "sha512-eUFD7mrrAIHPY/KGX23SDWJE5Xg5TAm4rH+E71yrKjmVOwrXT1YBxw1LUw9r+Y4XQD7rhGmGrUQan5CJAWUG5A==", "requires": { - "@types/jss": "9.3.2", - "@types/react-transition-group": "2.0.7", + "@types/jss": "9.5.2", + "@types/react-transition-group": "2.0.8", "babel-runtime": "6.26.0", "brcast": "3.0.1", "classnames": "2.2.5", @@ -6758,11 +6794,11 @@ "normalize-scroll-left": "0.1.2", "prop-types": "15.6.1", "react-event-listener": "0.5.3", - "react-jss": "8.3.5", - "react-lifecycles-compat": "1.0.2", + "react-jss": "8.4.0", + "react-lifecycles-compat": "1.1.4", "react-popper": "0.8.3", "react-scrollbar-size": "2.1.0", - "react-transition-group": "2.2.1", + "react-transition-group": "2.3.0", "recompose": "0.26.0", "scroll": "2.0.3", "warning": "3.0.0" @@ -6975,9 +7011,9 @@ } }, "moment": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", - "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.0.tgz", + "integrity": "sha512-1muXCh8jb1N/gHRbn9VDUBr0GYb8A/aVcHlII9QSB68a50spqEVLIGN6KVmCOnSvJrUhC0edGgKU5ofnGXdYdg==" }, "moment-jalaali": { "version": "0.7.2", @@ -6985,7 +7021,7 @@ "integrity": "sha512-CO9FG+vuuhzcyboqmocubwmVj0d0Z1QvnU1uNUzuO9ZyyMT7oJAAj1oGC1JvN9PA5GcAhDcrEQkGWim1lfRYYQ==", "requires": { "jalaali-js": "1.1.0", - "moment": "2.21.0", + "moment": "2.22.0", "rimraf": "2.6.2" } }, @@ -7556,9 +7592,9 @@ "dev": true }, "popper.js": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.1.tgz", - "integrity": "sha1-uIFeXNpvYvwgQuR2GGSfdYZuZ1M=" + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.3.tgz", + "integrity": "sha1-FDj5jQRqz3tNeM1QK/QYrGTU8JU=" }, "portfinder": { "version": "1.0.13", @@ -9472,9 +9508,9 @@ } }, "prismjs": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.13.0.tgz", - "integrity": "sha512-0/1Fiyg3MCzepo6t6Wzx2Ef4nftGKeQIv+Z6LO38RcYJN5QV2ePHh8W41ZkFn57B++6BnglF6fCiJ9b80YlzkQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.14.0.tgz", + "integrity": "sha512-sa2s4m60bXs+kU3jcuUwx3ZCrUH7o0kuqnOOINbODqlRrDB7KY8SRx+xR/D7nHLlgfDdG7zXbRO8wJ+su5Ls0A==", "requires": { "clipboard": "2.0.0" } @@ -9699,9 +9735,9 @@ } }, "react": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", - "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.3.1.tgz", + "integrity": "sha512-NbkxN9jsZ6+G+ICsLdC7/wUD26uNbvKU/RAxEWgc9kcdKvROt+5d5j2cNQm5PSFTQ4WNGsR3pa4qL2Q0/WSy1w==", "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -9710,15 +9746,15 @@ } }, "react-dev-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-5.0.0.tgz", - "integrity": "sha512-j+Rmwct2aOGAbIk046PjBpQ5zxaLtSlTFwyt3yhVfpQgieqyQbtFwATKY4HSB3j+hSQ4UEBBxwjxjSJiGCP+ow==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-5.0.1.tgz", + "integrity": "sha512-+y92rG6pmXt3cpcg/NGmG4w/W309tWNSmyyPL8hCMxuCSg2UP/hUg3npACj2UZc8UKVSXexyLrCnxowizGoAsw==", "requires": { "address": "1.0.3", "babel-code-frame": "6.26.0", "chalk": "1.1.3", "cross-spawn": "5.1.0", - "detect-port-alt": "1.1.5", + "detect-port-alt": "1.1.6", "escape-string-regexp": "1.0.5", "filesize": "3.5.11", "global-modules": "1.0.0", @@ -9734,18 +9770,6 @@ "text-table": "0.2.0" }, "dependencies": { - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -9778,9 +9802,9 @@ } }, "react-dom": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", - "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.1.tgz", + "integrity": "sha512-2Infg89vzahq8nfVi1GkjPqq0vrBvf0f3T0+dTtyjq4f6HKOqKixAK25Vr593O3QTx4kw/vmUtAJwerlevNWOA==", "requires": { "fbjs": "0.8.16", "loose-envify": "1.3.1", @@ -9805,9 +9829,9 @@ } }, "react-jss": { - "version": "8.3.5", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.3.5.tgz", - "integrity": "sha512-n1exvyrP1nl2YGwMlxgSVKCoqg2NvNacMK7F1tj37IQaYoMjmmLh2uFxs2Qd9xQrhBGw/6RDsrs3qK+WVxTUQg==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.4.0.tgz", + "integrity": "sha512-yIi4udcTIIh5u4KJ47wsL3UZYMuSrp5xR1YBvPeRNshpCdRoJxt5BWmCu1RA3LIa+//dnRsAtAQmMAYeg1W9oQ==", "requires": { "hoist-non-react-statics": "2.3.1", "jss": "9.8.1", @@ -9817,9 +9841,9 @@ } }, "react-lifecycles-compat": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-1.0.2.tgz", - "integrity": "sha512-uyYuXIt73odE9MQM9vFemhYI8AOiBr2TC0/Q8Dx0T27mLt20cRwauafXYul2l6hqSyoGsz4G+AepeFiyoEqVaQ==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-1.1.4.tgz", + "integrity": "sha512-g3pdexIqkn+CVvSpYIoyON8zUbF9kgfhp672gyz7wQ7PQyXVmJtah+GDYqpHpOrdwex3F77iv+alq79iux9HZw==" }, "react-markdown": { "version": "2.5.1", @@ -9836,7 +9860,7 @@ "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.8.3.tgz", "integrity": "sha1-D3MzMTfJ+wr27EB00tBYWgoEYeE=", "requires": { - "popper.js": "1.14.1", + "popper.js": "1.14.3", "prop-types": "15.6.1" } }, @@ -9879,12 +9903,11 @@ } }, "react-transition-group": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", - "integrity": "sha512-q54UBM22bs/CekG8r3+vi9TugSqh0t7qcEVycaRc9M0p0aCEu+h6rp/RFiW7fHfgd1IKpd9oILFTl5QK+FpiPA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.0.tgz", + "integrity": "sha512-OU3/swEL8y233u5ajTn3FIcQQ/b3XWjLXB6e2LnM1OK5JATtsyfJvPTZ8c/dawHNqjUltcdHRSpgMtPe7v07pw==", "requires": { "chain-function": "1.0.0", - "classnames": "2.2.5", "dom-helpers": "3.3.1", "loose-envify": "1.3.1", "prop-types": "15.6.1", diff --git a/docs/package.json b/docs/package.json index d9fdaa8fd1375b..cabcb9d91a80e6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -29,23 +29,23 @@ "jss": "^9.8.1", "jss-preset-default": "^4.3.0", "jss-rtl": "^0.2.3", - "material-ui": "^1.0.0-beta.38", + "material-ui": "^1.0.0-beta.41", "material-ui-pickers-jalali-utils": "^0.4.0", - "moment": "^2.21.0", + "moment": "^2.22.0", "moment-jalaali": "^0.7.2", "object-assign": "4.1.1", "patreon": "^0.4.0", "postcss-flexbugs-fixes": "3.2.0", "postcss-loader": "2.0.8", - "prismjs": "^1.13.0", + "prismjs": "^1.14.0", "promise": "8.0.1", "prop-types": "^15.6.1", "raf": "3.4.0", - "react": "^16.2.0", - "react-dev-utils": "^5.0.0", + "react": "^16.3.1", + "react-dev-utils": "^5.0.1", "react-docgen": "^2.20.1", - "react-dom": "^16.2.0", - "react-jss": "^8.3.5", + "react-dom": "^16.3.1", + "react-jss": "^8.4.0", "react-markdown": "^2.5.1", "react-router": "^4.2.0", "react-router-dom": "^4.2.2", @@ -62,7 +62,7 @@ "eslint": "^4.19.1", "eslint-config-airbnb": "^16.1.0", "eslint-import-resolver-webpack": "^0.8.4", - "eslint-plugin-import": "^2.9.0", + "eslint-plugin-import": "^2.11.0", "eslint-plugin-jsx-a11y": "^6.0.3", "eslint-plugin-react": "^7.7.0", "raw-loader": "^0.5.1" diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index e864ed1cbd0a81..b8cd2f79aef9f2 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -5,19 +5,19 @@ import { IconButton, Icon, InputAdornment } from 'material-ui'; export default class CustomDateTimePicker extends PureComponent { state = { selectedDate: new Date('2018-01-01T18:54'), - clearedDate: null - + clearedDate: null, } handleDateChange = (date) => { this.setState({ selectedDate: date }); } + handleClearedDateChange = (date) => { this.setState({ clearedDate: date }); } render() { - const { selectedDate } = this.state; + const { selectedDate, clearedDate } = this.state; return ( diff --git a/docs/src/layout/NavItem.jsx b/docs/src/layout/NavItem.jsx index d95f6f87f9f186..b0ceebd7ed7254 100644 --- a/docs/src/layout/NavItem.jsx +++ b/docs/src/layout/NavItem.jsx @@ -38,7 +38,11 @@ class NavItem extends React.Component { }; } - handleClick = () => { + handleClick = (e) => { + if (this.props.depth === 0) { + e.stopPropagation(); + } + this.setState({ open: !this.state.open }); }; From d07b8c3c9be681fdf222df91d22b1191051ca6db Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 14 Apr 2018 11:56:09 +0300 Subject: [PATCH 0542/1801] Update version --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index afdcf0580d37cc..376285048c535f 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.5", + "version": "1.0.0-rc.6", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From a04edc076a2784479aa1f173f9e3a096eeb82006 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 14 Apr 2018 12:07:08 +0300 Subject: [PATCH 0543/1801] Update readme to contain info about luxon utils --- README.md | 7 +++++-- docs/src/Examples/CodeSnippets/MuiPickerProviderCode.jsx | 4 +++- docs/src/Routes/GettingStarted/Installation.jsx | 9 ++++++--- lib/package-lock.json | 2 +- lib/package.json | 3 ++- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 6bf095e3ff598d..dfec3a65142acd 100644 --- a/README.md +++ b/README.md @@ -15,14 +15,17 @@ Now choose the library that pickers will use to work with date. We are providing ```sh npm install date-fns@next -s // or -npm install moment -S +npm install moment -s +// or +npm i luxon -s ``` -Then teach pickers which library to use with `MuiPickerUtilsProvider`.This component takes an utils property, and makes it available down the React tree thanks to React context. It should preferably be used at the root of your component tree. +Then teach pickers which library to use with `MuiPickerUtilsProvider`. This component takes an utils property, and makes it available down the React tree thanks to React context. It should preferably be used at the root of your component tree. ```jsx import MomentUtils from 'material-ui-pickers/utils/moment-utils'; import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; +import LuxonUtils from 'material-ui-picker/luxon-utils; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; function App() { diff --git a/docs/src/Examples/CodeSnippets/MuiPickerProviderCode.jsx b/docs/src/Examples/CodeSnippets/MuiPickerProviderCode.jsx index f275429612e90d..88c94bc44b0713 100644 --- a/docs/src/Examples/CodeSnippets/MuiPickerProviderCode.jsx +++ b/docs/src/Examples/CodeSnippets/MuiPickerProviderCode.jsx @@ -1,7 +1,9 @@ /* eslint-disable */ +import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; +// pick utils import MomentUtils from 'material-ui-pickers/utils/moment-utils'; import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; -import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; +import LuxonUtils from 'material-ui-pickers/utils/luxon-utils'; function App() { return ( diff --git a/docs/src/Routes/GettingStarted/Installation.jsx b/docs/src/Routes/GettingStarted/Installation.jsx index 59487b7fbaf316..cb03f094d47948 100644 --- a/docs/src/Routes/GettingStarted/Installation.jsx +++ b/docs/src/Routes/GettingStarted/Installation.jsx @@ -8,7 +8,9 @@ import muiPickerProviderCode from '!raw-loader!Examples/CodeSnippets/MuiPickerPr const installLibCode = `npm i -s date-fns@next // or -npm i -s moment`; +npm i -s moment +// or +npm i -s luxon`; const Installation = () => (
@@ -23,8 +25,9 @@ const Installation = () => ( We are providing interfaces for moment -  and date-fns 2. - If you are not using moment in the project (or dont have it in the bundle already) +  , date-fns 2 and + luxon. If you + are not using moment in the project (or dont have it in the bundle already) we suggest using date-fns, because it much more lightweight and will be correctly tree-shaked from the bundle. diff --git a/lib/package-lock.json b/lib/package-lock.json index 6140a7f482bbb3..620ff0f0882174 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.5", + "version": "1.0.0-rc.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/lib/package.json b/lib/package.json index 376285048c535f..056cdf0d851072 100644 --- a/lib/package.json +++ b/lib/package.json @@ -40,7 +40,8 @@ }, "externalDependencies": { "moment": "^2.19.2", - "date-fns": "^2.0.0-alpha.7" + "date-fns": "^2.0.0-alpha.7", + "luxon": "^1.0.0" }, "dependencies": { "babel-runtime": "^6.26.0", From 90f67752bc4c28f3f5f25c68239499da467d479b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 20 Apr 2018 10:50:47 +0300 Subject: [PATCH 0544/1801] Fix missing single quote in example --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dfec3a65142acd..f660f60edcc32f 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Then teach pickers which library to use with `MuiPickerUtilsProvider`. This comp ```jsx import MomentUtils from 'material-ui-pickers/utils/moment-utils'; import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; -import LuxonUtils from 'material-ui-picker/luxon-utils; +import LuxonUtils from 'material-ui-picker/luxon-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; function App() { From 774f69cb4f7dc6cc1c476be14bf378567167d999 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 20 Apr 2018 10:50:56 +0300 Subject: [PATCH 0545/1801] Fix missing single quote in example From bbeb647897ff36b233afd7e0e60da85f0bcd0643 Mon Sep 17 00:00:00 2001 From: Alex Fournier Date: Fri, 20 Apr 2018 10:47:37 +0200 Subject: [PATCH 0546/1801] [#366] Fix bg color of selected day in DatePicker (hover state) --- lib/src/DatePicker/Day.jsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/DatePicker/Day.jsx b/lib/src/DatePicker/Day.jsx index 313a535c2a51d6..bb420357c39da1 100644 --- a/lib/src/DatePicker/Day.jsx +++ b/lib/src/DatePicker/Day.jsx @@ -66,6 +66,9 @@ const styles = theme => ({ color: theme.palette.common.white, backgroundColor: theme.palette.primary.main, fontWeight: theme.typography.fontWeightMedium, + '&:hover': { + backgroundColor: theme.palette.primary.main, + }, }, disabled: { pointerEvents: 'none', From 0032ad9b276a6f8fa0ea8d34359e069034ebcf17 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 23 Apr 2018 10:43:53 +0100 Subject: [PATCH 0547/1801] pass locale to startOfWeek and endOfWeek date-fns functions --- lib/src/utils/date-fns-utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 52a8ebc363905d..283c793cfe7504 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -125,8 +125,8 @@ export default class DateFnsUtils { } getWeekArray(date) { - const start = startOfWeek(startOfMonth(date)); - const end = endOfWeek(endOfMonth(date)); + const start = startOfWeek(startOfMonth(date), { locale: this.locale }); + const end = endOfWeek(endOfMonth(date), { locale: this.locale }); const nestedWeeks = []; let count = 0; From cf99bee320bdd1901b1cad349439e01bddf90f82 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 23 Apr 2018 11:34:58 +0100 Subject: [PATCH 0548/1801] fix getWeekDays to start from day defined by locale --- lib/src/utils/date-fns-utils.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 283c793cfe7504..2c828021a5add5 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -11,7 +11,7 @@ import isAfter from 'date-fns/isAfter'; import isBefore from 'date-fns/isBefore'; import isSameDay from 'date-fns/isSameDay'; import isValid from 'date-fns/isValid'; -import setDay from 'date-fns/setDay'; +import eachDayOfInterval from 'date-fns/eachDayOfInterval'; import setHours from 'date-fns/setHours'; import setMinutes from 'date-fns/setMinutes'; import setYear from 'date-fns/setYear'; @@ -116,12 +116,19 @@ export default class DateFnsUtils { return addMonths(date, -1); } - getYear = getYear + getYear = getYear; setYear = setYear; getWeekdays() { - return [0, 1, 2, 3, 4, 5, 6].map(dayOfWeek => format(setDay(new Date(), dayOfWeek), 'dd', { locale: this.locale })); + const now = new Date(); + return eachDayOfInterval( + { + start: startOfWeek(now, { locale: this.locale }), + end: endOfWeek(now, { locale: this.locale }), + }, + { locale: this.locale }, + ).map(day => format(day, 'dd', { locale: this.locale })); } getWeekArray(date) { From e522ed1b7d697b1196009a0ecc84edd710fc912d Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 23 Apr 2018 11:35:13 +0100 Subject: [PATCH 0549/1801] add tests for getWeekDay method --- lib/__tests__/utils/date-fns-utils.test.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 lib/__tests__/utils/date-fns-utils.test.js diff --git a/lib/__tests__/utils/date-fns-utils.test.js b/lib/__tests__/utils/date-fns-utils.test.js new file mode 100644 index 00000000000000..7ce35321239729 --- /dev/null +++ b/lib/__tests__/utils/date-fns-utils.test.js @@ -0,0 +1,18 @@ +import uaLocale from 'date-fns/locale/ua'; +import DateFnsUtils from '../../src/utils/date-fns-utils'; + +describe('DateFnsUtils', () => { + const createInstance = locale => new DateFnsUtils({ locale }); + + describe('getWeekDays', () => { + it('Should start week from Sunday by default', () => { + const instance = createInstance(); + expect(instance.getWeekdays()[0]).toEqual('Su'); + }); + + it('Should start week from a day, defined by locale', () => { + const instance = createInstance(uaLocale); + expect(instance.getWeekdays()[0]).toEqual('пн'); + }); + }); +}); From 22cdabec7fcfdd6ac46bfa89aa5f33f0dcf91f3f Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 23 Apr 2018 11:47:05 +0100 Subject: [PATCH 0550/1801] add tests for getWeekArray function --- lib/__tests__/utils/date-fns-utils.test.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/__tests__/utils/date-fns-utils.test.js b/lib/__tests__/utils/date-fns-utils.test.js index 7ce35321239729..00bba8447aef54 100644 --- a/lib/__tests__/utils/date-fns-utils.test.js +++ b/lib/__tests__/utils/date-fns-utils.test.js @@ -2,17 +2,28 @@ import uaLocale from 'date-fns/locale/ua'; import DateFnsUtils from '../../src/utils/date-fns-utils'; describe('DateFnsUtils', () => { - const createInstance = locale => new DateFnsUtils({ locale }); + const enUtils = new DateFnsUtils(); + const uaUtils = new DateFnsUtils({ locale: uaLocale }); describe('getWeekDays', () => { it('Should start week from Sunday by default', () => { - const instance = createInstance(); - expect(instance.getWeekdays()[0]).toEqual('Su'); + expect(enUtils.getWeekdays()[0]).toEqual('Su'); }); it('Should start week from a day, defined by locale', () => { - const instance = createInstance(uaLocale); - expect(instance.getWeekdays()[0]).toEqual('пн'); + expect(uaUtils.getWeekdays()[0]).toEqual('пн'); + }); + }); + + describe('getWeekArray', () => { + it('Should start week from Sunday by default', () => { + const weekArray = enUtils.getWeekArray(new Date(2018, 3)); + expect(weekArray[0][0]).toEqual(new Date(2018, 3, 1)); + }); + + it('Should start week from a day, defined by locale', () => { + const weekArray = uaUtils.getWeekArray(new Date(2018, 3)); + expect(weekArray[1][0]).toEqual(new Date(2018, 3, 2)); }); }); }); From 768ad2a52021c2fb1f711b39fb35bc0f3f14ab4d Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 23 Apr 2018 15:34:28 +0100 Subject: [PATCH 0551/1801] [DateFnsUtils] do not create new Date object when null is passed --- lib/src/utils/date-fns-utils.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 52a8ebc363905d..847169eb2212b6 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -33,6 +33,10 @@ export default class DateFnsUtils { return new Date(); } + if (value === null) { + return null; + } + return new Date(value); } From e69e51fde260ebec18b1b83b8b86dcbbacf83811 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 23 Apr 2018 17:18:38 +0100 Subject: [PATCH 0552/1801] set maxHeight to daysHeader container to avoid needless scrollbar --- lib/src/DatePicker/CalendarHeader.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index f406471ff4b8fd..b4b4c32ec96020 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -86,6 +86,7 @@ const styles = theme => ({ display: 'flex', justifyContent: 'center', alignItems: 'center', + maxHeight: 16, }, dayLabel: { width: 36, From 6cb319b59a91319e1d3b9a9bfe553644cc997285 Mon Sep 17 00:00:00 2001 From: Alex Fournier Date: Wed, 25 Apr 2018 18:02:37 +0200 Subject: [PATCH 0553/1801] enter key validates modal --- lib/src/_shared/ModalDialog.jsx | 5 +++++ lib/src/wrappers/ModalWrapper.jsx | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index e3b8894d756dc0..49425a6f1b8c33 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -1,6 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; +import EventListener from 'react-event-listener'; import withStyles from 'material-ui/styles/withStyles'; import Button from 'material-ui/Button'; import Dialog from 'material-ui/Dialog/Dialog'; @@ -42,6 +43,7 @@ const styles = { export const ModalDialog = ({ children, classes, + onKeyDown, onAccept, onDismiss, onClear, @@ -56,6 +58,8 @@ export const ModalDialog = ({ ...other }) => ( + + { children } @@ -111,6 +115,7 @@ export const ModalDialog = ({ ModalDialog.propTypes = { children: PropTypes.node.isRequired, + onKeyDown: PropTypes.func.isRequired, onAccept: PropTypes.func.isRequired, onDismiss: PropTypes.func.isRequired, onClear: PropTypes.func.isRequired, diff --git a/lib/src/wrappers/ModalWrapper.jsx b/lib/src/wrappers/ModalWrapper.jsx index f8d4144016b660..2587a322e15725 100644 --- a/lib/src/wrappers/ModalWrapper.jsx +++ b/lib/src/wrappers/ModalWrapper.jsx @@ -1,5 +1,6 @@ import React, { Fragment, PureComponent } from 'react'; import PropTypes from 'prop-types'; +import keycode from 'keycode'; import ModalDialog from '../_shared/ModalDialog'; import DateTextField from '../_shared/DateTextField'; import DomainPropTypes from '../constants/prop-types'; @@ -64,6 +65,20 @@ export default class ModalWrapper extends PureComponent { open: false, } + handleKeyDown = (event) => { + switch (keycode(event)) { + case 'enter': + this.handleAccept(); + break; + default: + // if keycode is not handled, stop execution + return; + } + + // if event was handled prevent other side effects + event.preventDefault(); + }; + handleSetTodayDate = () => { if (this.props.onSetToday) { this.props.onSetToday(); @@ -142,6 +157,7 @@ export default class ModalWrapper extends PureComponent { Date: Fri, 27 Apr 2018 12:19:29 +0300 Subject: [PATCH 0554/1801] Update deps --- docs/package-lock.json | 4978 ++++++++++++++++++++-------------------- docs/package.json | 9 +- lib/package-lock.json | 3769 +++++++++++++++--------------- lib/package.json | 39 +- 4 files changed, 4423 insertions(+), 4372 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 1497d1a44f9b95..90c56e1a20cd82 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,24 +9,24 @@ "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.2.tgz", "integrity": "sha512-EX87yNYcisXO5BU9tT7stB7OGuDJyV3JwtMwhfUprrmHwYKWh9a3vchAy6DYzUSbmTA7bD46h8qata5jP1V7Zw==", "requires": { - "csstype": "2.2.0", - "indefinite-observable": "1.0.1" + "csstype": "^2.0.0", + "indefinite-observable": "^1.0.1" } }, "@types/react": { - "version": "16.3.10", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.10.tgz", - "integrity": "sha512-NGqrP0qhgn8hlFMO3I1w7vwT8KIcdEg1D1AFtYaNBhp1Uo4SZgUpNcbOBfrvgAPRr1nn+Ail/0VoPLI2n4SNMw==", + "version": "16.3.13", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.13.tgz", + "integrity": "sha512-YMFH/E9ryjUm2AoOy8KdTuG1SufaMuYmO/5xACROl0pm9dRmE2RN3d2zjv/eHALF6LGRZPVb7G9kqP0n5dWttQ==", "requires": { - "csstype": "2.2.0" + "csstype": "^2.2.0" } }, "@types/react-transition-group": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.8.tgz", - "integrity": "sha512-52rCkAlhkFfaXplkujWUevTMb9/DCsND1DwB6VONPJKAShC3MrRl130ADV7Rc+7t83KVAoz4HPFhJuHI5pfnZA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.9.tgz", + "integrity": "sha512-Id2MtQcmOgLymqqLqg1VjzNpN7O5vGoF47h3s7jxhzqWdMCtk2GwxFUqcKbGrRmHzzQGyRatfG8yahonIys74Q==", "requires": { - "@types/react": "16.3.10" + "@types/react": "*" } }, "abab": { @@ -39,7 +39,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", "requires": { - "mime-types": "2.1.17", + "mime-types": "~2.1.16", "negotiator": "0.6.1" } }, @@ -53,7 +53,7 @@ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.3" }, "dependencies": { "acorn": { @@ -68,7 +68,7 @@ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.4" }, "dependencies": { "acorn": { @@ -84,7 +84,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -105,10 +105,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -121,9 +121,9 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "alphanum-sort": { @@ -141,7 +141,7 @@ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" } }, "ansi-escapes": { @@ -169,8 +169,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" } }, "append-transform": { @@ -178,7 +178,7 @@ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "argparse": { @@ -186,7 +186,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "aria-query": { @@ -196,7 +196,7 @@ "dev": true, "requires": { "ast-types-flow": "0.0.7", - "commander": "2.14.1" + "commander": "^2.11.0" } }, "arr-diff": { @@ -204,7 +204,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -243,8 +243,8 @@ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-map": { @@ -262,7 +262,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -295,9 +295,9 @@ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -329,7 +329,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } }, "async-each": { @@ -347,12 +347,12 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz", "integrity": "sha512-C9yv/UF3X+eJTi/zvfxuyfxmLibYrntpF3qoJYrMeQwgUJOZrZvpJiMG2FMQ3qnhWtF/be4pYONBBw95ZGe3vA==", "requires": { - "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.17", - "postcss-value-parser": "3.3.0" + "browserslist": "^2.5.1", + "caniuse-lite": "^1.0.30000748", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.13", + "postcss-value-parser": "^3.2.3" } }, "aws-sign2": { @@ -379,9 +379,9 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "chalk": { @@ -389,11 +389,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -401,7 +401,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -411,25 +411,25 @@ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.0", + "debug": "^2.6.8", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.7", + "slash": "^1.0.0", + "source-map": "^0.5.6" }, "dependencies": { "source-map": { @@ -444,10 +444,10 @@ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", "requires": { - "babel-code-frame": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0" + "babel-code-frame": "^6.22.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.17.0" } }, "babel-generator": { @@ -455,14 +455,14 @@ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "source-map": { @@ -477,9 +477,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-builder-react-jsx": { @@ -487,9 +487,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" } }, "babel-helper-call-delegate": { @@ -497,10 +497,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-define-map": { @@ -508,10 +508,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-explode-assignable-expression": { @@ -519,9 +519,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -529,11 +529,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -541,8 +541,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -550,8 +550,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-optimise-call-expression": { @@ -559,8 +559,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -568,9 +568,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -578,11 +578,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-replace-supers": { @@ -590,12 +590,12 @@ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -603,8 +603,8 @@ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { @@ -612,9 +612,9 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", "requires": { - "babel-core": "6.26.0", - "babel-plugin-istanbul": "4.1.5", - "babel-preset-jest": "20.0.3" + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.0.0", + "babel-preset-jest": "^20.0.3" } }, "babel-loader": { @@ -622,9 +622,9 @@ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.1.0", - "mkdirp": "0.5.1" + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" } }, "babel-messages": { @@ -632,7 +632,7 @@ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -640,7 +640,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-dynamic-import-node": { @@ -648,9 +648,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.1.0.tgz", "integrity": "sha512-tTfZbM9Ecwj3GK50mnPrUpinTwA4xXmDiQGCk/aBYbvl1+X8YqldK86wZ1owVJ4u3mrKbRlXMma80J18qwiaTQ==", "requires": { - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-istanbul": { @@ -658,9 +658,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", "requires": { - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.9.1", - "test-exclude": "4.1.1" + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.7.5", + "test-exclude": "^4.1.1" } }, "babel-plugin-jest-hoist": { @@ -713,9 +713,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-class-properties": { @@ -723,10 +723,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -734,7 +734,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -742,7 +742,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -750,11 +750,11 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-plugin-transform-es2015-classes": { @@ -762,15 +762,15 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -778,8 +778,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-destructuring": { @@ -787,7 +787,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -795,8 +795,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-for-of": { @@ -804,7 +804,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -812,9 +812,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-literals": { @@ -822,7 +822,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -830,9 +830,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -840,10 +840,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -851,9 +851,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -861,9 +861,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-object-super": { @@ -871,8 +871,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -880,12 +880,12 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -893,8 +893,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -902,7 +902,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -910,9 +910,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-template-literals": { @@ -920,7 +920,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -928,7 +928,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -936,9 +936,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -946,9 +946,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-flow-strip-types": { @@ -956,8 +956,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -965,8 +965,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" } }, "babel-plugin-transform-react-constant-elements": { @@ -974,7 +974,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz", "integrity": "sha1-LxGb9NLN1F65uqrldAU8YE9hR90=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-display-name": { @@ -982,7 +982,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx": { @@ -990,9 +990,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx-self": { @@ -1000,8 +1000,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1009,8 +1009,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-regenerator": { @@ -1018,7 +1018,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "requires": { - "regenerator-transform": "0.10.1" + "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-runtime": { @@ -1026,7 +1026,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -1034,8 +1034,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-preset-env": { @@ -1043,36 +1043,36 @@ "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "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.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.11.3", - "invariant": "2.2.2", - "semver": "5.4.1" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^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.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.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.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.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.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^2.1.2", + "invariant": "^2.2.2", + "semver": "^5.3.0" } }, "babel-preset-flow": { @@ -1080,7 +1080,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" + "babel-plugin-transform-flow-strip-types": "^6.22.0" } }, "babel-preset-jest": { @@ -1088,7 +1088,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", "requires": { - "babel-plugin-jest-hoist": "20.0.3" + "babel-plugin-jest-hoist": "^20.0.3" } }, "babel-preset-react": { @@ -1096,12 +1096,12 @@ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "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-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "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-preset-react-app": { @@ -1129,13 +1129,13 @@ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "home-or-tmp": "2.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" } }, "babel-runtime": { @@ -1143,8 +1143,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -1152,11 +1152,11 @@ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -1164,15 +1164,15 @@ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.5" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "globals": { @@ -1187,10 +1187,10 @@ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1219,7 +1219,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big.js": { @@ -1248,15 +1248,15 @@ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "~1.6.15" } }, "bonjour": { @@ -1264,12 +1264,12 @@ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { @@ -1282,7 +1282,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "boxen": { @@ -1290,13 +1290,13 @@ "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.3.2", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -1304,7 +1304,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "camelcase": { @@ -1317,9 +1317,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1327,7 +1327,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1337,7 +1337,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1346,9 +1346,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "brcast": { @@ -1381,12 +1381,12 @@ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { @@ -1394,9 +1394,9 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -1404,9 +1404,9 @@ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { @@ -1414,8 +1414,8 @@ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -1423,13 +1423,13 @@ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -1437,7 +1437,7 @@ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "browserslist": { @@ -1445,8 +1445,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "requires": { - "caniuse-lite": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" } }, "bser": { @@ -1454,7 +1454,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } }, "buffer": { @@ -1462,9 +1462,9 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-from": { @@ -1504,7 +1504,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -1518,8 +1518,8 @@ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "camelcase": { @@ -1532,8 +1532,8 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" }, "dependencies": { "camelcase": { @@ -1548,10 +1548,10 @@ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" }, "dependencies": { "browserslist": { @@ -1559,8 +1559,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } } } @@ -1595,25 +1595,20 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, - "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "strip-ansi": { @@ -1621,7 +1616,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -1641,15 +1636,15 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" } }, "ci-info": { @@ -1662,8 +1657,8 @@ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "circular-json": { @@ -1677,7 +1672,7 @@ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "requires": { - "chalk": "1.1.3" + "chalk": "^1.1.3" }, "dependencies": { "chalk": { @@ -1685,11 +1680,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -1697,7 +1692,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -1712,7 +1707,7 @@ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", "requires": { - "source-map": "0.5.7" + "source-map": "0.5.x" }, "dependencies": { "source-map": { @@ -1732,7 +1727,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -1746,9 +1741,9 @@ "integrity": "sha512-gXzHBlzEVqCk2b8Wpkil89S0WSMAX7eZho2zANX+EEEa9LMutGe9ICU+wHRzsH7cCHaCbUzj900P+AXOM0FE3A==", "optional": true, "requires": { - "good-listener": "1.2.2", - "select": "1.1.2", - "tiny-emitter": "2.0.2" + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" } }, "cliui": { @@ -1756,8 +1751,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -1783,7 +1778,7 @@ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "requires": { - "q": "1.5.1" + "q": "^1.1.2" } }, "code-point-at": { @@ -1796,9 +1791,9 @@ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "requires": { - "clone": "1.0.3", - "color-convert": "1.9.1", - "color-string": "0.3.0" + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" } }, "color-convert": { @@ -1806,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -1819,7 +1814,7 @@ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "requires": { - "color-name": "1.1.3" + "color-name": "^1.0.0" } }, "colormin": { @@ -1827,9 +1822,9 @@ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "requires": { - "color": "0.11.4", + "color": "^0.11.0", "css-color-names": "0.0.4", - "has": "1.0.1" + "has": "^1.0.1" } }, "colors": { @@ -1842,7 +1837,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -1860,9 +1855,9 @@ "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.24.0.tgz", "integrity": "sha1-uA3gGCxUY1VkOqFdsSv7KCNoJ48=", "requires": { - "entities": "1.1.1", - "mdurl": "1.0.1", - "string.prototype.repeat": "0.2.0" + "entities": "~ 1.1.1", + "mdurl": "~ 1.0.1", + "string.prototype.repeat": "^0.2.0" } }, "commonmark-react-renderer": { @@ -1870,10 +1865,10 @@ "resolved": "https://registry.npmjs.org/commonmark-react-renderer/-/commonmark-react-renderer-4.3.4.tgz", "integrity": "sha512-+/Rzo3sI37NR8LaVdkUiqBH3+CEW75hc86shwY4E9eEERg78VCy4rSkaP/p7OG5bTvosUMkvhn5d1ZJ5iyt/ag==", "requires": { - "lodash.assign": "4.2.0", - "lodash.isplainobject": "4.0.6", - "pascalcase": "0.1.1", - "xss-filters": "1.2.7" + "lodash.assign": "^4.2.0", + "lodash.isplainobject": "^4.0.6", + "pascalcase": "^0.1.1", + "xss-filters": "^1.2.6" } }, "compressible": { @@ -1881,7 +1876,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "requires": { - "mime-db": "1.30.0" + "mime-db": ">= 1.30.0 < 2" } }, "compression": { @@ -1889,13 +1884,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "bytes": "3.0.0", - "compressible": "2.0.12", + "compressible": "~2.0.11", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.1", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "concat-map": { @@ -1909,10 +1904,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "configstore": { @@ -1920,12 +1915,12 @@ "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.1.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "connect-history-api-fallback": { @@ -1938,7 +1933,7 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "constants-browserify": { @@ -1997,13 +1992,13 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.10.0", - "minimist": "1.2.0", - "object-assign": "4.1.1", - "os-homedir": "1.0.2", - "parse-json": "2.2.0", - "require-from-string": "1.2.1" + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" }, "dependencies": { "minimist": { @@ -2018,8 +2013,8 @@ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-error-class": { @@ -2027,7 +2022,7 @@ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "create-hash": { @@ -2035,10 +2030,10 @@ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" } }, "create-hmac": { @@ -2046,12 +2041,12 @@ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-env": { @@ -2060,8 +2055,8 @@ "integrity": "sha512-Mx8mw6JWhfpYoEk7PGvHxJMLQwQHORAs8+2bX+C1lGQ4h3GkDb1zbzC2Nw85YH9ZQMlO0BHZxMacgrfPmMFxbg==", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "is-windows": "1.0.1" + "cross-spawn": "^5.1.0", + "is-windows": "^1.0.0" } }, "cross-spawn": { @@ -2069,9 +2064,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cryptiles": { @@ -2079,7 +2074,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -2087,7 +2082,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } } } @@ -2097,17 +2092,17 @@ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.6", - "randomfill": "1.0.3" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "crypto-random-string": { @@ -2125,20 +2120,20 @@ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz", "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==", "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "babel-code-frame": "^6.11.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": ">=2.6.1 <4", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.0.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.0.0", + "postcss-modules-local-by-default": "^1.0.1", + "postcss-modules-scope": "^1.0.0", + "postcss-modules-values": "^1.1.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" }, "dependencies": { "chalk": { @@ -2146,11 +2141,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2170,10 +2165,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -2186,7 +2181,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -2194,7 +2189,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -2204,10 +2199,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -2215,9 +2210,9 @@ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" }, "dependencies": { "regexpu-core": { @@ -2225,9 +2220,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } } } @@ -2237,7 +2232,7 @@ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", "requires": { - "is-in-browser": "1.1.3" + "is-in-browser": "^1.0.2" } }, "css-what": { @@ -2255,38 +2250,38 @@ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" }, "dependencies": { "autoprefixer": { @@ -2294,12 +2289,12 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" } }, "browserslist": { @@ -2307,8 +2302,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "chalk": { @@ -2316,11 +2311,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2340,10 +2335,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -2356,7 +2351,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -2364,7 +2359,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -2374,8 +2369,8 @@ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" + "clap": "^1.0.9", + "source-map": "^0.5.3" }, "dependencies": { "source-map": { @@ -2395,20 +2390,20 @@ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, "csstype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.2.0.tgz", - "integrity": "sha512-5YHWQgAtzKIA8trr2AVg6Jq5Fs5eAR1UqKbRJjgQQevNx3IAhD3S9wajvqJdmO7bgIxy0MA5lFVPzJYjmMlNeQ==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.4.1.tgz", + "integrity": "sha512-JuXYT9dt8xtpc4mwHSOYnZtQS3TmYVhmZDyXbppTid29krM8Eyn5CmsZjIDTSvzunvutYOBwQmnziR5vgFkJGw==" }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -2416,7 +2411,7 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "es5-ext": "0.10.37" + "es5-ext": "^0.10.9" } }, "damerau-levenshtein": { @@ -2430,7 +2425,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-fns": { @@ -2481,7 +2476,7 @@ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -2489,8 +2484,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "defined": { @@ -2503,13 +2498,13 @@ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -2533,8 +2528,8 @@ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -2547,7 +2542,7 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-node": { @@ -2560,8 +2555,8 @@ "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "requires": { - "address": "1.0.3", - "debug": "2.6.9" + "address": "^1.0.1", + "debug": "^2.6.0" } }, "diff": { @@ -2574,9 +2569,9 @@ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "dns-equal": { @@ -2589,8 +2584,8 @@ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { @@ -2598,7 +2593,7 @@ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "doctrine": { @@ -2606,7 +2601,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-converter": { @@ -2614,7 +2609,7 @@ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "requires": { - "utila": "0.3.3" + "utila": "~0.3" }, "dependencies": { "utila": { @@ -2634,8 +2629,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -2650,7 +2645,7 @@ "resolved": "https://registry.npmjs.org/dom-urls/-/dom-urls-1.1.0.tgz", "integrity": "sha1-AB3fgWKM0ecGElxxdvU8zsVdkY4=", "requires": { - "urijs": "1.19.1" + "urijs": "^1.16.1" } }, "dom-walk": { @@ -2673,7 +2668,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -2681,8 +2676,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -2690,7 +2685,7 @@ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "dotenv": { @@ -2719,7 +2714,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -2737,13 +2732,13 @@ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "emoji-regex": { @@ -2767,7 +2762,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "~0.4.13" } }, "enhanced-resolve": { @@ -2775,10 +2770,10 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" } }, "entities": { @@ -2791,7 +2786,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error-ex": { @@ -2799,7 +2794,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -2807,11 +2802,11 @@ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -2819,9 +2814,9 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -2829,8 +2824,8 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" } }, "es6-iterator": { @@ -2838,9 +2833,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -2848,12 +2843,12 @@ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-promise": { @@ -2866,11 +2861,11 @@ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -2878,8 +2873,8 @@ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -2887,10 +2882,10 @@ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escape-html": { @@ -2908,11 +2903,11 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.5.6" }, "dependencies": { "esprima": { @@ -2933,10 +2928,10 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -2945,44 +2940,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.3.2", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.4.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.10.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.0.1", - "require-uncached": "1.0.3", - "semver": "5.4.1", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "ansi-styles": { @@ -2991,7 +2986,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -3000,9 +2995,9 @@ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -3020,7 +3015,7 @@ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -3031,7 +3026,7 @@ "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "12.1.0" + "eslint-config-airbnb-base": "^12.1.0" } }, "eslint-config-airbnb-base": { @@ -3040,7 +3035,7 @@ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { - "eslint-restricted-globals": "0.1.1" + "eslint-restricted-globals": "^0.1.1" } }, "eslint-config-react-app": { @@ -3054,8 +3049,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "2.6.9", - "resolve": "1.5.0" + "debug": "^2.6.9", + "resolve": "^1.5.0" } }, "eslint-import-resolver-webpack": { @@ -3064,17 +3059,17 @@ "integrity": "sha512-b6JxR57ruiMxq2tIu4T/SrYED5RKJfeBEs8u3+JWF+O2RxDmFpUH84c5uS1T5qiP0K4r0SL7CXhvd41hXdDlAg==", "dev": true, "requires": { - "array-find": "1.0.0", - "debug": "2.6.9", - "enhanced-resolve": "0.9.1", - "find-root": "0.1.2", - "has": "1.0.1", - "interpret": "1.1.0", - "is-absolute": "0.2.6", - "lodash.get": "3.7.0", - "node-libs-browser": "2.1.0", - "resolve": "1.5.0", - "semver": "5.4.1" + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^0.1.1", + "has": "^1.0.1", + "interpret": "^1.0.0", + "is-absolute": "^0.2.3", + "lodash.get": "^3.7.0", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.2.0", + "semver": "^5.3.0" }, "dependencies": { "enhanced-resolve": { @@ -3083,9 +3078,9 @@ "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.2.0", - "tapable": "0.1.10" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" } }, "memory-fs": { @@ -3107,11 +3102,11 @@ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz", "integrity": "sha512-40aN976qSNPyb9ejTqjEthZITpls1SVKtwguahmH1dzGCwQU/vySE+xX33VZmD8csU0ahVNCtFlsPgKqRBiqgg==", "requires": { - "loader-fs-cache": "1.0.1", - "loader-utils": "1.1.0", - "object-assign": "4.1.1", - "object-hash": "1.2.0", - "rimraf": "2.6.2" + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" } }, "eslint-module-utils": { @@ -3120,8 +3115,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" }, "dependencies": { "find-up": { @@ -3130,8 +3125,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -3140,7 +3135,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "pkg-dir": { @@ -3149,7 +3144,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } } } @@ -3159,7 +3154,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.39.1.tgz", "integrity": "sha512-RiQv+7Z9QDJuzt+NO8sYgkLGT+h+WeCrxP7y8lI7wpU41x3x/2o3PGtHk9ck8QnA9/mlbNcy/hG0eKvmd7npaA==", "requires": { - "lodash": "4.17.5" + "lodash": "^4.15.0" } }, "eslint-plugin-import": { @@ -3168,16 +3163,16 @@ "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=", "dev": true, "requires": { - "contains-path": "0.1.0", - "debug": "2.6.9", + "contains-path": "^0.1.0", + "debug": "^2.6.8", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.2.0", - "has": "1.0.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0", - "resolve": "1.7.1" + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "doctrine": { @@ -3186,8 +3181,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, "load-json-file": { @@ -3196,10 +3191,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -3208,7 +3203,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -3217,9 +3212,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -3228,8 +3223,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "resolve": { @@ -3238,7 +3233,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "strip-bom": { @@ -3255,13 +3250,13 @@ "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", "dev": true, "requires": { - "aria-query": "0.7.1", - "array-includes": "3.0.3", + "aria-query": "^0.7.0", + "array-includes": "^3.0.3", "ast-types-flow": "0.0.7", - "axobject-query": "0.1.0", - "damerau-levenshtein": "1.0.4", - "emoji-regex": "6.5.1", - "jsx-ast-utils": "2.0.1" + "axobject-query": "^0.1.0", + "damerau-levenshtein": "^1.0.0", + "emoji-regex": "^6.1.0", + "jsx-ast-utils": "^2.0.0" } }, "eslint-plugin-react": { @@ -3270,10 +3265,10 @@ "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", "dev": true, "requires": { - "doctrine": "2.1.0", - "has": "1.0.1", - "jsx-ast-utils": "2.0.1", - "prop-types": "15.6.1" + "doctrine": "^2.0.2", + "has": "^1.0.1", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.0" } }, "eslint-restricted-globals": { @@ -3288,8 +3283,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -3304,8 +3299,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" }, "dependencies": { "acorn": { @@ -3327,7 +3322,7 @@ "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -3335,8 +3330,8 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" } }, "estraverse": { @@ -3359,8 +3354,8 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "eventemitter3": { @@ -3378,7 +3373,7 @@ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "requires": { - "original": "1.0.0" + "original": ">=0.0.5" } }, "evp_bytestokey": { @@ -3386,8 +3381,8 @@ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "exec-sh": { @@ -3395,7 +3390,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "requires": { - "merge": "1.2.0" + "merge": "^1.1.3" } }, "execa": { @@ -3403,13 +3398,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -3417,7 +3412,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -3425,7 +3420,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "expand-tilde": { @@ -3433,7 +3428,7 @@ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } }, "express": { @@ -3441,36 +3436,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.0", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "~2.0.2", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.1", "serve-static": "1.13.1", "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "~1.3.1", + "type-is": "~1.6.15", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "array-flatten": { @@ -3495,9 +3490,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -3505,7 +3500,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extract-text-webpack-plugin": { @@ -3513,10 +3508,10 @@ "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "requires": { - "async": "2.6.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.1.0" + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" } }, "extsprintf": { @@ -3549,7 +3544,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "fb-watchman": { @@ -3557,7 +3552,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" } }, "fbjs": { @@ -3565,13 +3560,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "core-js": "^1.0.0", + "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" }, "dependencies": { "core-js": { @@ -3584,7 +3579,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } } } @@ -3594,7 +3589,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -3603,8 +3598,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "file-loader": { @@ -3612,8 +3607,8 @@ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.5.tgz", "integrity": "sha512-RzGHDatcVNpGISTvCpfUfOGpYuSR7HSsSg87ki+wF6rw1Hm0RALPTiAdsxAq1UwLf0RRhbe22/eHK6nhXspiOQ==", "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" } }, "filename-regex": { @@ -3626,8 +3621,8 @@ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "filesize": { @@ -3640,11 +3635,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" }, "dependencies": { "isobject": { @@ -3663,12 +3658,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-cache-dir": { @@ -3676,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "1.0.1", - "make-dir": "1.1.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-root": { @@ -3692,7 +3687,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -3701,10 +3696,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "flatten": { @@ -3722,7 +3717,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -3740,9 +3735,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "form-urlencoded": { @@ -3765,9 +3760,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -3781,8 +3776,8 @@ "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", "optional": true, "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.39" }, "dependencies": { "abbrev": { @@ -3795,8 +3790,8 @@ "bundled": true, "optional": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, "ansi-regex": { @@ -3813,8 +3808,8 @@ "bundled": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "asn1": { @@ -3851,28 +3846,28 @@ "bundled": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "block-stream": { "version": "0.0.9", "bundled": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "boom": { "version": "2.10.1", "bundled": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "brace-expansion": { "version": "1.1.7", "bundled": true, "requires": { - "balanced-match": "0.4.2", + "balanced-match": "^0.4.1", "concat-map": "0.0.1" } }, @@ -3898,7 +3893,7 @@ "version": "1.0.5", "bundled": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "concat-map": { @@ -3917,7 +3912,7 @@ "version": "2.0.5", "bundled": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "dashdash": { @@ -3925,7 +3920,7 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -3967,7 +3962,7 @@ "bundled": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "extend": { @@ -3989,9 +3984,9 @@ "bundled": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "fs.realpath": { @@ -4002,10 +3997,10 @@ "version": "1.0.11", "bundled": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "fstream-ignore": { @@ -4013,9 +4008,9 @@ "bundled": true, "optional": true, "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" } }, "gauge": { @@ -4023,14 +4018,14 @@ "bundled": true, "optional": true, "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "getpass": { @@ -4038,7 +4033,7 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -4052,12 +4047,12 @@ "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -4074,8 +4069,8 @@ "bundled": true, "optional": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" } }, "has-unicode": { @@ -4087,10 +4082,10 @@ "version": "3.1.3", "bundled": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -4102,17 +4097,17 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4128,7 +4123,7 @@ "version": "1.0.0", "bundled": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-typedarray": { @@ -4150,7 +4145,7 @@ "bundled": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "jsbn": { @@ -4168,7 +4163,7 @@ "bundled": true, "optional": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -4207,14 +4202,14 @@ "version": "2.1.15", "bundled": true, "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } }, "minimatch": { "version": "3.0.4", "bundled": true, "requires": { - "brace-expansion": "1.1.7" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -4238,17 +4233,17 @@ "bundled": true, "optional": true, "requires": { - "detect-libc": "1.0.2", + "detect-libc": "^1.0.2", "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", + "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" + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^2.2.1", + "tar-pack": "^3.4.0" } }, "nopt": { @@ -4256,8 +4251,8 @@ "bundled": true, "optional": true, "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npmlog": { @@ -4265,10 +4260,10 @@ "bundled": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -4289,7 +4284,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -4307,8 +4302,8 @@ "bundled": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -4339,10 +4334,10 @@ "bundled": true, "optional": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -4356,13 +4351,13 @@ "version": "2.2.9", "bundled": true, "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" + "buffer-shims": "~1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" } }, "request": { @@ -4370,35 +4365,35 @@ "bundled": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "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": "~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", + "oauth-sign": "~0.8.1", + "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.6.0", + "uuid": "^3.0.0" } }, "rimraf": { "version": "2.6.1", "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -4424,7 +4419,7 @@ "version": "1.0.9", "bundled": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "sshpk": { @@ -4432,15 +4427,15 @@ "bundled": true, "optional": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -4454,16 +4449,16 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { "version": "1.0.1", "bundled": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "^5.0.1" } }, "stringstream": { @@ -4475,7 +4470,7 @@ "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -4487,9 +4482,9 @@ "version": "2.2.1", "bundled": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "tar-pack": { @@ -4497,14 +4492,14 @@ "bundled": true, "optional": true, "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.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" } }, "tough-cookie": { @@ -4512,7 +4507,7 @@ "bundled": true, "optional": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tunnel-agent": { @@ -4520,7 +4515,7 @@ "bundled": true, "optional": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -4555,7 +4550,7 @@ "bundled": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -4595,7 +4590,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -4603,12 +4598,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -4616,8 +4611,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -4625,7 +4620,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "global": { @@ -4633,8 +4628,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "global-dirs": { @@ -4642,7 +4637,7 @@ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "global-modules": { @@ -4650,9 +4645,9 @@ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { - "global-prefix": "1.0.2", - "is-windows": "1.0.1", - "resolve-dir": "1.0.1" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" } }, "global-prefix": { @@ -4660,11 +4655,11 @@ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "requires": { - "expand-tilde": "2.0.2", - "homedir-polyfill": "1.0.1", - "ini": "1.3.5", - "is-windows": "1.0.1", - "which": "1.3.0" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, "globals": { @@ -4678,12 +4673,12 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "good-listener": { @@ -4692,7 +4687,7 @@ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", "optional": true, "requires": { - "delegate": "3.2.0" + "delegate": "^3.1.2" } }, "got": { @@ -4700,17 +4695,17 @@ "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } }, "graceful-fs": { @@ -4728,7 +4723,7 @@ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", "requires": { - "duplexer": "0.1.1" + "duplexer": "^0.1.1" } }, "handle-thing": { @@ -4741,10 +4736,10 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -4757,7 +4752,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } }, "uglify-js": { @@ -4766,9 +4761,9 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "source-map": { @@ -4785,9 +4780,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -4803,8 +4798,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -4812,7 +4807,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -4820,7 +4815,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -4833,7 +4828,7 @@ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "requires": { - "inherits": "2.0.3" + "inherits": "^2.0.1" } }, "hash.js": { @@ -4841,8 +4836,8 @@ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, "hawk": { @@ -4850,10 +4845,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "he": { @@ -4866,11 +4861,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "resolve-pathname": "2.2.0", - "value-equal": "0.4.0", - "warning": "3.0.0" + "invariant": "^2.2.1", + "loose-envify": "^1.2.0", + "resolve-pathname": "^2.2.0", + "value-equal": "^0.4.0", + "warning": "^3.0.0" } }, "hmac-drbg": { @@ -4878,9 +4873,9 @@ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { @@ -4898,8 +4893,8 @@ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "homedir-polyfill": { @@ -4907,7 +4902,7 @@ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, "hosted-git-info": { @@ -4920,10 +4915,10 @@ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "requires": { - "inherits": "2.0.3", - "obuf": "1.1.1", - "readable-stream": "2.3.4", - "wbuf": "1.7.2" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, "html-comment-regex": { @@ -4936,7 +4931,7 @@ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "requires": { - "whatwg-encoding": "1.0.3" + "whatwg-encoding": "^1.0.1" } }, "html-entities": { @@ -4949,14 +4944,14 @@ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.9.tgz", "integrity": "sha512-EZqO91XJwkj8BeLx9C12sKB/AHoTANaZax39vEOP9f/X/9jgJ3r1O2+neabuHqpz5kJO71TapP9JrtCY39su1A==", "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.14.1", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.3.10" + "camel-case": "3.0.x", + "clean-css": "4.1.x", + "commander": "2.14.x", + "he": "1.1.x", + "ncname": "1.0.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.3.x" } }, "html-webpack-plugin": { @@ -4964,12 +4959,12 @@ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz", "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=", "requires": { - "bluebird": "3.5.1", - "html-minifier": "3.5.9", - "loader-utils": "0.2.17", - "lodash": "4.17.5", - "pretty-error": "2.1.1", - "toposort": "1.0.6" + "bluebird": "^3.4.7", + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "toposort": "^1.0.0" }, "dependencies": { "loader-utils": { @@ -4977,10 +4972,10 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } } } @@ -4990,10 +4985,10 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" + "domelementtype": "1", + "domhandler": "2.1", + "domutils": "1.1", + "readable-stream": "1.0" }, "dependencies": { "domutils": { @@ -5001,7 +4996,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "isarray": { @@ -5014,10 +5009,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -5040,7 +5035,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.3.1" + "statuses": ">= 1.3.1 < 2" }, "dependencies": { "depd": { @@ -5065,8 +5060,8 @@ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" } }, "http-proxy-middleware": { @@ -5074,10 +5069,10 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.5", - "micromatch": "2.3.11" + "http-proxy": "^1.16.2", + "is-glob": "^3.1.0", + "lodash": "^4.17.2", + "micromatch": "^2.3.11" }, "dependencies": { "is-extglob": { @@ -5090,7 +5085,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5100,9 +5095,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -5130,7 +5125,7 @@ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "requires": { - "postcss": "6.0.17" + "postcss": "^6.0.1" } }, "ieee754": { @@ -5154,8 +5149,8 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5183,7 +5178,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexes-of": { @@ -5201,8 +5196,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5220,20 +5215,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.2", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.1.0", - "figures": "2.0.0", - "lodash": "4.17.5", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-styles": { @@ -5241,7 +5236,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5249,9 +5244,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -5259,7 +5254,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5269,7 +5264,7 @@ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "requires": { - "meow": "3.7.0" + "meow": "^3.3.0" } }, "interpret": { @@ -5282,7 +5277,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -5306,8 +5301,8 @@ "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", "dev": true, "requires": { - "is-relative": "0.2.1", - "is-windows": "0.2.0" + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" }, "dependencies": { "is-windows": { @@ -5333,7 +5328,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -5346,7 +5341,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5359,7 +5354,7 @@ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "requires": { - "ci-info": "1.1.2" + "ci-info": "^1.0.0" } }, "is-date-object": { @@ -5382,7 +5377,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -5400,7 +5395,7 @@ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -5418,7 +5413,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-in-browser": { @@ -5431,8 +5426,8 @@ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -5445,7 +5440,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-obj": { @@ -5463,7 +5458,7 @@ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -5471,7 +5466,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -5484,7 +5479,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -5512,7 +5507,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-relative": { @@ -5521,7 +5516,7 @@ "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", "dev": true, "requires": { - "is-unc-path": "0.1.2" + "is-unc-path": "^0.1.1" } }, "is-resolvable": { @@ -5550,7 +5545,7 @@ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "requires": { - "html-comment-regex": "1.1.1" + "html-comment-regex": "^1.1.0" } }, "is-symbol": { @@ -5569,7 +5564,7 @@ "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", "dev": true, "requires": { - "unc-path-regex": "0.1.2" + "unc-path-regex": "^0.1.0" } }, "is-utf8": { @@ -5607,8 +5602,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -5621,17 +5616,17 @@ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "requires": { - "async": "2.6.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "js-yaml": "3.10.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" } }, "istanbul-lib-coverage": { @@ -5644,7 +5639,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -5652,13 +5647,13 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -5666,10 +5661,10 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -5682,7 +5677,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -5692,11 +5687,11 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -5719,7 +5714,7 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "jalaali-js": { @@ -5732,7 +5727,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-20.0.4.tgz", "integrity": "sha1-PdJgwpidba1nix6cxNkZRPbWAqw=", "requires": { - "jest-cli": "20.0.4" + "jest-cli": "^20.0.4" }, "dependencies": { "ansi-escapes": { @@ -5750,11 +5745,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "jest-cli": { @@ -5762,36 +5757,36 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", "requires": { - "ansi-escapes": "1.4.0", - "callsites": "2.0.0", - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "is-ci": "1.1.0", - "istanbul-api": "1.2.1", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-source-maps": "1.2.2", - "jest-changed-files": "20.0.3", - "jest-config": "20.0.4", - "jest-docblock": "20.0.3", - "jest-environment-jsdom": "20.0.3", - "jest-haste-map": "20.0.5", - "jest-jasmine2": "20.0.4", - "jest-message-util": "20.0.3", - "jest-regex-util": "20.0.3", - "jest-resolve-dependencies": "20.0.3", - "jest-runtime": "20.0.4", - "jest-snapshot": "20.0.3", - "jest-util": "20.0.3", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "pify": "2.3.0", - "slash": "1.0.0", - "string-length": "1.0.1", - "throat": "3.2.0", - "which": "1.3.0", - "worker-farm": "1.5.2", - "yargs": "7.1.0" + "ansi-escapes": "^1.4.0", + "callsites": "^2.0.0", + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "istanbul-api": "^1.1.1", + "istanbul-lib-coverage": "^1.0.1", + "istanbul-lib-instrument": "^1.4.2", + "istanbul-lib-source-maps": "^1.1.0", + "jest-changed-files": "^20.0.3", + "jest-config": "^20.0.4", + "jest-docblock": "^20.0.3", + "jest-environment-jsdom": "^20.0.3", + "jest-haste-map": "^20.0.4", + "jest-jasmine2": "^20.0.4", + "jest-message-util": "^20.0.3", + "jest-regex-util": "^20.0.3", + "jest-resolve-dependencies": "^20.0.3", + "jest-runtime": "^20.0.4", + "jest-snapshot": "^20.0.3", + "jest-util": "^20.0.3", + "micromatch": "^2.3.11", + "node-notifier": "^5.0.2", + "pify": "^2.3.0", + "slash": "^1.0.0", + "string-length": "^1.0.1", + "throat": "^3.0.0", + "which": "^1.2.12", + "worker-farm": "^1.3.1", + "yargs": "^7.0.2" } }, "strip-ansi": { @@ -5799,7 +5794,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5814,16 +5809,16 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", "requires": { - "chalk": "1.1.3", - "glob": "7.1.2", - "jest-environment-jsdom": "20.0.3", - "jest-environment-node": "20.0.3", - "jest-jasmine2": "20.0.4", - "jest-matcher-utils": "20.0.3", - "jest-regex-util": "20.0.3", - "jest-resolve": "20.0.4", - "jest-validate": "20.0.3", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "glob": "^7.1.1", + "jest-environment-jsdom": "^20.0.3", + "jest-environment-node": "^20.0.3", + "jest-jasmine2": "^20.0.4", + "jest-matcher-utils": "^20.0.3", + "jest-regex-util": "^20.0.3", + "jest-resolve": "^20.0.4", + "jest-validate": "^20.0.3", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -5831,11 +5826,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5843,7 +5838,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5853,10 +5848,10 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", "requires": { - "chalk": "1.1.3", - "diff": "3.4.0", - "jest-matcher-utils": "20.0.3", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "diff": "^3.2.0", + "jest-matcher-utils": "^20.0.3", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -5864,11 +5859,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5876,7 +5871,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5891,9 +5886,9 @@ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", "requires": { - "jest-mock": "20.0.3", - "jest-util": "20.0.3", - "jsdom": "9.12.0" + "jest-mock": "^20.0.3", + "jest-util": "^20.0.3", + "jsdom": "^9.12.0" } }, "jest-environment-node": { @@ -5901,8 +5896,8 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", "requires": { - "jest-mock": "20.0.3", - "jest-util": "20.0.3" + "jest-mock": "^20.0.3", + "jest-util": "^20.0.3" } }, "jest-haste-map": { @@ -5910,12 +5905,12 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "20.0.3", - "micromatch": "2.3.11", - "sane": "1.6.0", - "worker-farm": "1.5.2" + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-docblock": "^20.0.3", + "micromatch": "^2.3.11", + "sane": "~1.6.0", + "worker-farm": "^1.3.1" } }, "jest-jasmine2": { @@ -5923,15 +5918,15 @@ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", "requires": { - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-matchers": "20.0.3", - "jest-message-util": "20.0.3", - "jest-snapshot": "20.0.3", - "once": "1.4.0", - "p-map": "1.2.0" + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-matchers": "^20.0.3", + "jest-message-util": "^20.0.3", + "jest-snapshot": "^20.0.3", + "once": "^1.4.0", + "p-map": "^1.1.1" }, "dependencies": { "chalk": { @@ -5939,11 +5934,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5951,7 +5946,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5961,8 +5956,8 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", "requires": { - "chalk": "1.1.3", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -5970,11 +5965,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5982,7 +5977,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5992,10 +5987,10 @@ "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", "requires": { - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-message-util": "20.0.3", - "jest-regex-util": "20.0.3" + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-message-util": "^20.0.3", + "jest-regex-util": "^20.0.3" } }, "jest-message-util": { @@ -6003,9 +5998,9 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", "requires": { - "chalk": "1.1.3", - "micromatch": "2.3.11", - "slash": "1.0.0" + "chalk": "^1.1.3", + "micromatch": "^2.3.11", + "slash": "^1.0.0" }, "dependencies": { "chalk": { @@ -6013,11 +6008,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6025,7 +6020,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6045,9 +6040,9 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", "requires": { - "browser-resolve": "1.11.2", - "is-builtin-module": "1.0.0", - "resolve": "1.5.0" + "browser-resolve": "^1.11.2", + "is-builtin-module": "^1.0.0", + "resolve": "^1.3.2" } }, "jest-resolve-dependencies": { @@ -6055,7 +6050,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", "requires": { - "jest-regex-util": "20.0.3" + "jest-regex-util": "^20.0.3" } }, "jest-runtime": { @@ -6063,21 +6058,21 @@ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", "requires": { - "babel-core": "6.26.0", - "babel-jest": "20.0.3", - "babel-plugin-istanbul": "4.1.5", - "chalk": "1.1.3", - "convert-source-map": "1.5.1", - "graceful-fs": "4.1.11", - "jest-config": "20.0.4", - "jest-haste-map": "20.0.5", - "jest-regex-util": "20.0.3", - "jest-resolve": "20.0.4", - "jest-util": "20.0.3", - "json-stable-stringify": "1.0.1", - "micromatch": "2.3.11", + "babel-core": "^6.0.0", + "babel-jest": "^20.0.3", + "babel-plugin-istanbul": "^4.0.0", + "chalk": "^1.1.3", + "convert-source-map": "^1.4.0", + "graceful-fs": "^4.1.11", + "jest-config": "^20.0.4", + "jest-haste-map": "^20.0.4", + "jest-regex-util": "^20.0.3", + "jest-resolve": "^20.0.4", + "jest-util": "^20.0.3", + "json-stable-stringify": "^1.0.1", + "micromatch": "^2.3.11", "strip-bom": "3.0.0", - "yargs": "7.1.0" + "yargs": "^7.0.2" }, "dependencies": { "chalk": { @@ -6085,11 +6080,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6097,7 +6092,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -6112,12 +6107,12 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", "requires": { - "chalk": "1.1.3", - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-util": "20.0.3", - "natural-compare": "1.4.0", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-util": "^20.0.3", + "natural-compare": "^1.4.0", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -6125,11 +6120,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6137,7 +6132,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6147,13 +6142,13 @@ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", "requires": { - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-message-util": "20.0.3", - "jest-mock": "20.0.3", - "jest-validate": "20.0.3", - "leven": "2.1.0", - "mkdirp": "0.5.1" + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "jest-message-util": "^20.0.3", + "jest-mock": "^20.0.3", + "jest-validate": "^20.0.3", + "leven": "^2.1.0", + "mkdirp": "^0.5.1" }, "dependencies": { "chalk": { @@ -6161,11 +6156,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6173,7 +6168,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6183,10 +6178,10 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", "requires": { - "chalk": "1.1.3", - "jest-matcher-utils": "20.0.3", - "leven": "2.1.0", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "jest-matcher-utils": "^20.0.3", + "leven": "^2.1.0", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -6194,11 +6189,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6206,7 +6201,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6226,8 +6221,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -6241,25 +6236,25 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "requires": { - "abab": "1.0.4", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.2", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "html-encoding-sniffer": "1.0.2", - "nwmatcher": "1.4.3", - "parse5": "1.5.1", - "request": "2.83.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.3", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" + "abab": "^1.0.3", + "acorn": "^4.0.4", + "acorn-globals": "^3.1.0", + "array-equal": "^1.0.0", + "content-type-parser": "^1.0.1", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": ">= 0.2.37 < 0.3.0", + "escodegen": "^1.6.1", + "html-encoding-sniffer": "^1.0.1", + "nwmatcher": ">= 1.3.9 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.79.0", + "sax": "^1.2.1", + "symbol-tree": "^3.2.1", + "tough-cookie": "^2.3.2", + "webidl-conversions": "^4.0.0", + "whatwg-encoding": "^1.0.1", + "whatwg-url": "^4.3.0", + "xml-name-validator": "^2.0.1" }, "dependencies": { "acorn": { @@ -6294,7 +6289,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -6328,7 +6323,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -6352,9 +6347,9 @@ "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.1.tgz", "integrity": "sha512-a9dXInEPTRmdSmzw3LNhbAwdQVZgCRmFU7dFzrpLTMAcdolHXNamhxQ6J+PNIqUtWa9yRbZIzWX6aUlI55LZ/A==", "requires": { - "is-in-browser": "1.1.3", - "symbol-observable": "1.2.0", - "warning": "3.0.0" + "is-in-browser": "^1.1.3", + "symbol-observable": "^1.1.0", + "warning": "^3.0.0" } }, "jss-camel-case": { @@ -6362,7 +6357,7 @@ "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", "requires": { - "hyphenate-style-name": "1.0.2" + "hyphenate-style-name": "^1.0.2" } }, "jss-compose": { @@ -6370,7 +6365,7 @@ "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-default-unit": { @@ -6388,7 +6383,7 @@ "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-global": { @@ -6401,7 +6396,7 @@ "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-preset-default": { @@ -6409,16 +6404,16 @@ "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.3.0.tgz", "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==", "requires": { - "jss-camel-case": "6.1.0", - "jss-compose": "5.0.0", - "jss-default-unit": "8.0.2", - "jss-expand": "5.1.0", - "jss-extend": "6.2.0", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-template": "1.0.1", - "jss-vendor-prefixer": "7.0.0" + "jss-camel-case": "^6.1.0", + "jss-compose": "^5.0.0", + "jss-default-unit": "^8.0.2", + "jss-expand": "^5.1.0", + "jss-extend": "^6.2.0", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-template": "^1.0.1", + "jss-vendor-prefixer": "^7.0.0" } }, "jss-props-sort": { @@ -6431,7 +6426,7 @@ "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.3.tgz", "integrity": "sha512-c9yOhTWldABdx+dds0XSXIbUcEWajBv+e7fl3zaiHCwOqbq4QiAdDTw7l4l5nqHAaGV6+33zMoS//KMMGpPA1A==", "requires": { - "rtl-css-js": "1.9.0" + "rtl-css-js": "^1.8.0" } }, "jss-template": { @@ -6439,7 +6434,7 @@ "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-vendor-prefixer": { @@ -6447,7 +6442,7 @@ "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", "requires": { - "css-vendor": "0.3.8" + "css-vendor": "^0.3.8" } }, "jsx-ast-utils": { @@ -6456,7 +6451,7 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "3.0.3" + "array-includes": "^3.0.3" } }, "keycode": { @@ -6474,7 +6469,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -6482,7 +6477,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "latest-version": { @@ -6490,7 +6485,7 @@ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -6503,7 +6498,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "leven": { @@ -6516,8 +6511,8 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6525,11 +6520,11 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "loader-fs-cache": { @@ -6537,7 +6532,7 @@ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=", "requires": { - "find-cache-dir": "0.1.1", + "find-cache-dir": "^0.1.1", "mkdirp": "0.5.1" }, "dependencies": { @@ -6546,9 +6541,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -6556,8 +6551,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -6565,7 +6560,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "pkg-dir": { @@ -6573,7 +6568,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } } } @@ -6588,9 +6583,9 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "locate-path": { @@ -6598,8 +6593,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -6624,7 +6619,7 @@ "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", "dev": true, "requires": { - "lodash.isarray": "3.0.4" + "lodash.isarray": "^3.0.0" } }, "lodash.assign": { @@ -6648,8 +6643,8 @@ "integrity": "sha1-POaK4skWg7KBzFOUEoMDy/deaR8=", "dev": true, "requires": { - "lodash._baseget": "3.7.2", - "lodash._topath": "3.8.1" + "lodash._baseget": "^3.0.0", + "lodash._topath": "^3.0.0" } }, "lodash.isarray": { @@ -6673,8 +6668,8 @@ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.templatesettings": "4.1.0" + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" } }, "lodash.templatesettings": { @@ -6682,7 +6677,7 @@ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", "requires": { - "lodash._reinterpolate": "3.0.0" + "lodash._reinterpolate": "~3.0.0" } }, "lodash.uniq": { @@ -6705,7 +6700,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -6713,8 +6708,8 @@ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lower-case": { @@ -6732,10 +6727,15 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, + "luxon": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.2.0.tgz", + "integrity": "sha512-OFqqtLlSo7OpjFuTCJf+LYtyX1xTc5tp0X3f1ynLafjAM2qjaO6LVe0EkdfdoH1hSeS+Jo9FeAs244MEZ7dcww==" + }, "macaddress": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", @@ -6746,7 +6746,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { @@ -6761,7 +6761,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-obj": { @@ -6770,38 +6770,38 @@ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, "material-ui": { - "version": "1.0.0-beta.41", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.41.tgz", - "integrity": "sha512-eUFD7mrrAIHPY/KGX23SDWJE5Xg5TAm4rH+E71yrKjmVOwrXT1YBxw1LUw9r+Y4XQD7rhGmGrUQan5CJAWUG5A==", - "requires": { - "@types/jss": "9.5.2", - "@types/react-transition-group": "2.0.8", - "babel-runtime": "6.26.0", - "brcast": "3.0.1", - "classnames": "2.2.5", - "deepmerge": "2.1.0", - "dom-helpers": "3.3.1", - "hoist-non-react-statics": "2.5.0", - "jss": "9.8.1", - "jss-camel-case": "6.1.0", - "jss-default-unit": "8.0.2", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-vendor-prefixer": "7.0.0", - "keycode": "2.2.0", - "lodash": "4.17.5", - "normalize-scroll-left": "0.1.2", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "react-jss": "8.4.0", - "react-lifecycles-compat": "1.1.4", - "react-popper": "0.8.3", - "react-scrollbar-size": "2.1.0", - "react-transition-group": "2.3.0", - "recompose": "0.26.0", - "scroll": "2.0.3", - "warning": "3.0.0" + "version": "1.0.0-beta.43", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.43.tgz", + "integrity": "sha512-6prcG6pwOBAH3s44GJg1WiylByz/TSL6oXlDXnBW1Sb0mSjL1ezfdZj4nSO2qjrPyfDm9sjwxaR9ZoVIHxU17g==", + "requires": { + "@types/jss": "^9.3.0", + "@types/react-transition-group": "^2.0.8", + "babel-runtime": "^6.26.0", + "brcast": "^3.0.1", + "classnames": "^2.2.5", + "deepmerge": "^2.0.1", + "dom-helpers": "^3.2.1", + "hoist-non-react-statics": "^2.5.0", + "jss": "^9.3.3", + "jss-camel-case": "^6.0.0", + "jss-default-unit": "^8.0.2", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-vendor-prefixer": "^7.0.0", + "keycode": "^2.1.9", + "lodash": "^4.2.0", + "normalize-scroll-left": "^0.1.2", + "prop-types": "^15.6.0", + "react-event-listener": "^0.5.1", + "react-jss": "^8.1.0", + "react-lifecycles-compat": "^2.0.0", + "react-popper": "^0.10.0", + "react-scrollbar-size": "^2.0.2", + "react-transition-group": "^2.2.1", + "recompose": "^0.26.0", + "scroll": "^2.0.3", + "warning": "^3.0.0" }, "dependencies": { "hoist-non-react-statics": { @@ -6816,9 +6816,9 @@ "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.4.0.tgz", "integrity": "sha512-oo4LuFq9KYn3YwQWOL5Q06UxCaEweRraC/YUEsRt0veiA/m/IO7waddiM5cmyZFpuh4CZmX7jG879wgKnzO/KA==", "requires": { - "moment": "2.21.0", - "moment-jalaali": "0.7.2", - "moment-range": "3.1.1" + "moment": "^2.21.0", + "moment-jalaali": "^0.7.2", + "moment-range": "^3.1.1" }, "dependencies": { "moment": { @@ -6838,8 +6838,8 @@ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" }, "dependencies": { "hash-base": { @@ -6847,8 +6847,8 @@ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } } } @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "memory-fs": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "requires": { - "errno": "0.1.6", - "readable-stream": "2.3.4" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, "meow": { @@ -6885,16 +6885,16 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "minimist": { @@ -6924,19 +6924,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "miller-rabin": { @@ -6944,8 +6944,8 @@ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { @@ -6963,7 +6963,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.30.0" } }, "mimic-fn": { @@ -6976,7 +6976,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "minimalistic-assert": { @@ -6994,7 +6994,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7011,18 +7011,18 @@ } }, "moment": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.0.tgz", - "integrity": "sha512-1muXCh8jb1N/gHRbn9VDUBr0GYb8A/aVcHlII9QSB68a50spqEVLIGN6KVmCOnSvJrUhC0edGgKU5ofnGXdYdg==" + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==" }, "moment-jalaali": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.7.2.tgz", "integrity": "sha512-CO9FG+vuuhzcyboqmocubwmVj0d0Z1QvnU1uNUzuO9ZyyMT7oJAAj1oGC1JvN9PA5GcAhDcrEQkGWim1lfRYYQ==", "requires": { - "jalaali-js": "1.1.0", - "moment": "2.22.0", - "rimraf": "2.6.2" + "jalaali-js": "^1.0.0", + "moment": "^2.18.1", + "rimraf": "^2.6.1" } }, "moment-range": { @@ -7030,7 +7030,7 @@ "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.1.1.tgz", "integrity": "sha1-XFLPn6sp253ZvNhtN+UrBKenJxo=", "requires": { - "es6-symbol": "3.1.1" + "es6-symbol": "^3.1.0" } }, "ms": { @@ -7043,8 +7043,8 @@ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.2" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { @@ -7073,7 +7073,7 @@ "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", "requires": { - "xml-char-classes": "1.0.0" + "xml-char-classes": "^1.0.0" } }, "negotiator": { @@ -7086,7 +7086,7 @@ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "requires": { - "lower-case": "1.1.4" + "lower-case": "^1.1.1" } }, "node-dir": { @@ -7094,7 +7094,7 @@ "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.2" } }, "node-fetch": { @@ -7102,8 +7102,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-forge": { @@ -7121,28 +7121,28 @@ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.4", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.6", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -7158,10 +7158,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "1.3.0", - "semver": "5.4.1", - "shellwords": "0.1.1", - "which": "1.3.0" + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, "normalize-package-data": { @@ -7169,10 +7169,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7180,7 +7180,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-range": { @@ -7198,10 +7198,10 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" } }, "npm-run-path": { @@ -7209,7 +7209,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "nth-check": { @@ -7217,7 +7217,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "num2fraction": { @@ -7260,8 +7260,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "obuf": { @@ -7287,7 +7287,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -7295,7 +7295,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { @@ -7303,7 +7303,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "optimist": { @@ -7311,8 +7311,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "wordwrap": { @@ -7327,12 +7327,12 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "original": { @@ -7340,7 +7340,7 @@ "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", "requires": { - "url-parse": "1.0.5" + "url-parse": "1.0.x" }, "dependencies": { "url-parse": { @@ -7348,8 +7348,8 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" + "querystringify": "0.0.x", + "requires-port": "1.0.x" } } } @@ -7369,7 +7369,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -7392,7 +7392,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -7405,10 +7405,10 @@ "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.4.1" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, "pako": { @@ -7421,7 +7421,7 @@ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "requires": { - "no-case": "2.3.2" + "no-case": "^2.2.0" } }, "parse-asn1": { @@ -7429,11 +7429,11 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.2", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-glob": { @@ -7441,10 +7441,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -7452,7 +7452,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse-passwd": { @@ -7525,9 +7525,9 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "patreon": { @@ -7535,11 +7535,11 @@ "resolved": "https://registry.npmjs.org/patreon/-/patreon-0.4.0.tgz", "integrity": "sha512-ne5n35WOJ7HvJi54tYyQK3hDipXRqJokbGVyGNPbEJN3E4igLQezKJwgXUn+nxmRffiC5Wu9fiTa0w496cyj5Q==", "requires": { - "form-urlencoded": "2.0.4", - "is-plain-object": "2.0.4", - "isomorphic-fetch": "2.2.1", - "jsonapi-datastore": "0.4.0-beta", - "verror": "1.10.0" + "form-urlencoded": "^2.0.4", + "is-plain-object": "^2.0.4", + "isomorphic-fetch": "^2.2.1", + "jsonapi-datastore": "^0.4.0-beta", + "verror": "^1.10.0" } }, "pbkdf2": { @@ -7547,11 +7547,11 @@ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "performance-now": { @@ -7574,7 +7574,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -7582,7 +7582,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "pluralize": { @@ -7601,9 +7601,9 @@ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "dependencies": { "async": { @@ -7618,9 +7618,9 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", "requires": { - "chalk": "2.3.2", - "source-map": "0.6.1", - "supports-color": "5.2.0" + "chalk": "^2.3.0", + "source-map": "^0.6.1", + "supports-color": "^5.1.0" }, "dependencies": { "ansi-styles": { @@ -7628,7 +7628,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -7636,9 +7636,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "dependencies": { "supports-color": { @@ -7646,7 +7646,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -7656,7 +7656,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -7666,9 +7666,9 @@ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" }, "dependencies": { "chalk": { @@ -7676,11 +7676,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7700,10 +7700,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7716,7 +7716,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7724,7 +7724,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7734,9 +7734,9 @@ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "chalk": { @@ -7744,11 +7744,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7768,10 +7768,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7784,7 +7784,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7792,7 +7792,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7802,8 +7802,8 @@ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" }, "dependencies": { "chalk": { @@ -7811,11 +7811,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7835,10 +7835,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7851,7 +7851,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7859,7 +7859,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7869,7 +7869,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" }, "dependencies": { "chalk": { @@ -7877,11 +7877,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7901,10 +7901,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7917,7 +7917,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7925,7 +7925,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7935,7 +7935,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "chalk": { @@ -7943,11 +7943,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7967,10 +7967,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7983,7 +7983,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7991,7 +7991,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8001,7 +8001,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" }, "dependencies": { "chalk": { @@ -8009,11 +8009,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8033,10 +8033,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8049,7 +8049,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8057,7 +8057,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8067,7 +8067,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.16" }, "dependencies": { "chalk": { @@ -8075,11 +8075,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8099,10 +8099,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8115,7 +8115,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8123,7 +8123,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8133,8 +8133,8 @@ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" + "postcss": "^5.0.14", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -8142,11 +8142,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8166,10 +8166,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8182,7 +8182,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8200,8 +8200,8 @@ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" + "postcss": "^5.0.4", + "uniqid": "^4.0.0" }, "dependencies": { "chalk": { @@ -8209,11 +8209,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8233,10 +8233,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8249,7 +8249,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8257,7 +8257,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8267,7 +8267,7 @@ "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.2.0.tgz", "integrity": "sha512-0AuD9HG1Ey3/3nqPWu9yqf7rL0KCPu5VgjDsjf5mzEcuo9H/z8nco/fljKgjsOUrZypa95MI0kS4xBZeBzz2lw==", "requires": { - "postcss": "6.0.17" + "postcss": "^6.0.1" } }, "postcss-load-config": { @@ -8275,10 +8275,10 @@ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1", - "postcss-load-options": "1.2.0", - "postcss-load-plugins": "2.3.0" + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" } }, "postcss-load-options": { @@ -8286,8 +8286,8 @@ "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" } }, "postcss-load-plugins": { @@ -8295,8 +8295,8 @@ "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" } }, "postcss-loader": { @@ -8304,10 +8304,10 @@ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.8.tgz", "integrity": "sha512-KtXBiQ/r/WYW8LxTSJK7h8wLqvCMSub/BqmRnud/Mu8RzwflW9cmXxwsMwbn15TNv287Hcufdb3ZSs7xHKnG8Q==", "requires": { - "loader-utils": "1.1.0", - "postcss": "6.0.17", - "postcss-load-config": "1.2.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.1.0", + "postcss": "^6.0.0", + "postcss-load-config": "^1.2.0", + "schema-utils": "^0.3.0" } }, "postcss-merge-idents": { @@ -8315,9 +8315,9 @@ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" }, "dependencies": { "chalk": { @@ -8325,11 +8325,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8349,10 +8349,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8365,7 +8365,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8373,7 +8373,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8383,7 +8383,7 @@ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "chalk": { @@ -8391,11 +8391,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8415,10 +8415,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8431,7 +8431,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8439,7 +8439,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8449,11 +8449,11 @@ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" }, "dependencies": { "browserslist": { @@ -8461,8 +8461,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "chalk": { @@ -8470,11 +8470,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8494,10 +8494,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8510,7 +8510,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8518,7 +8518,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8533,9 +8533,9 @@ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" }, "dependencies": { "chalk": { @@ -8543,11 +8543,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8567,10 +8567,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8583,7 +8583,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8591,7 +8591,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8601,8 +8601,8 @@ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" }, "dependencies": { "chalk": { @@ -8610,11 +8610,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8634,10 +8634,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8650,7 +8650,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8658,7 +8658,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8668,10 +8668,10 @@ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -8679,11 +8679,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8703,10 +8703,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8719,7 +8719,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8727,7 +8727,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8737,10 +8737,10 @@ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" }, "dependencies": { "chalk": { @@ -8748,11 +8748,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8772,10 +8772,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8788,7 +8788,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8796,7 +8796,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8806,7 +8806,7 @@ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "requires": { - "postcss": "6.0.17" + "postcss": "^6.0.1" } }, "postcss-modules-local-by-default": { @@ -8814,8 +8814,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.17" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-scope": { @@ -8823,8 +8823,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.17" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-values": { @@ -8832,8 +8832,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.17" + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" } }, "postcss-normalize-charset": { @@ -8841,7 +8841,7 @@ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.5" }, "dependencies": { "chalk": { @@ -8849,11 +8849,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8873,10 +8873,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8889,7 +8889,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8897,7 +8897,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8907,10 +8907,10 @@ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "chalk": { @@ -8918,11 +8918,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8942,10 +8942,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8958,7 +8958,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8966,7 +8966,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8976,8 +8976,8 @@ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" }, "dependencies": { "chalk": { @@ -8985,11 +8985,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9009,10 +9009,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9025,7 +9025,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9033,7 +9033,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9043,8 +9043,8 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" }, "dependencies": { "chalk": { @@ -9052,11 +9052,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9076,10 +9076,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9092,7 +9092,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9100,7 +9100,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9110,7 +9110,7 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "chalk": { @@ -9118,11 +9118,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9142,10 +9142,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9158,7 +9158,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9166,7 +9166,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9176,9 +9176,9 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" }, "dependencies": { "chalk": { @@ -9186,11 +9186,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9210,10 +9210,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9226,7 +9226,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9234,7 +9234,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9244,9 +9244,9 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } }, "postcss-svgo": { @@ -9254,10 +9254,10 @@ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" }, "dependencies": { "chalk": { @@ -9265,11 +9265,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9289,10 +9289,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9305,7 +9305,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9313,7 +9313,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9323,9 +9323,9 @@ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -9333,11 +9333,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9357,10 +9357,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9373,7 +9373,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9381,7 +9381,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9396,9 +9396,9 @@ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -9406,11 +9406,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9430,10 +9430,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9446,7 +9446,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9454,7 +9454,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9484,8 +9484,8 @@ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" + "renderkid": "^2.0.1", + "utila": "~0.4" } }, "pretty-format": { @@ -9493,8 +9493,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", "requires": { - "ansi-regex": "2.1.1", - "ansi-styles": "3.2.0" + "ansi-regex": "^2.1.1", + "ansi-styles": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -9502,7 +9502,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } } } @@ -9512,7 +9512,7 @@ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.14.0.tgz", "integrity": "sha512-sa2s4m60bXs+kU3jcuUwx3ZCrUH7o0kuqnOOINbODqlRrDB7KY8SRx+xR/D7nHLlgfDdG7zXbRO8wJ+su5Ls0A==", "requires": { - "clipboard": "2.0.0" + "clipboard": "^2.0.0" } }, "private": { @@ -9541,7 +9541,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prop-types": { @@ -9549,9 +9549,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "proxy-addr": { @@ -9559,7 +9559,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.5.2" } }, @@ -9578,11 +9578,11 @@ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "punycode": { @@ -9605,8 +9605,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "querystring": { @@ -9629,7 +9629,7 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "2.1.0" + "performance-now": "^2.1.0" } }, "rafl": { @@ -9637,7 +9637,7 @@ "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", "requires": { - "global": "4.3.2" + "global": "~4.3.0" } }, "randomatic": { @@ -9645,8 +9645,8 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -9654,7 +9654,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -9662,7 +9662,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9672,7 +9672,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -9690,8 +9690,8 @@ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -9721,10 +9721,10 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -9735,14 +9735,14 @@ } }, "react": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.3.1.tgz", - "integrity": "sha512-NbkxN9jsZ6+G+ICsLdC7/wUD26uNbvKU/RAxEWgc9kcdKvROt+5d5j2cNQm5PSFTQ4WNGsR3pa4qL2Q0/WSy1w==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", + "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-dev-utils": { @@ -9762,7 +9762,7 @@ "inquirer": "3.3.0", "is-root": "1.0.0", "opn": "5.2.0", - "react-error-overlay": "4.0.0", + "react-error-overlay": "^4.0.0", "recursive-readdir": "2.2.1", "shell-quote": "1.6.1", "sockjs-client": "1.1.4", @@ -9775,7 +9775,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -9785,13 +9785,13 @@ "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-2.20.1.tgz", "integrity": "sha512-NYmD8nDPMWpIpqWqhSZjQ3P5iQml55IMkDG0ZInyWP7JD2ljaNhrxNWZnXPrOezUu6bYlcZUCxjw19s7zhE2uw==", "requires": { - "async": "2.6.0", - "babel-runtime": "6.26.0", - "babylon": "5.8.38", - "commander": "2.14.1", - "doctrine": "2.1.0", - "node-dir": "0.1.17", - "recast": "0.12.9" + "async": "^2.1.4", + "babel-runtime": "^6.9.2", + "babylon": "~5.8.3", + "commander": "^2.9.0", + "doctrine": "^2.0.0", + "node-dir": "^0.1.10", + "recast": "^0.12.6" }, "dependencies": { "babylon": { @@ -9802,14 +9802,14 @@ } }, "react-dom": { - "version": "16.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.1.tgz", - "integrity": "sha512-2Infg89vzahq8nfVi1GkjPqq0vrBvf0f3T0+dTtyjq4f6HKOqKixAK25Vr593O3QTx4kw/vmUtAJwerlevNWOA==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", + "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-error-overlay": { @@ -9822,10 +9822,10 @@ "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz", "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.6.1", - "warning": "3.0.0" + "babel-runtime": "^6.26.0", + "fbjs": "^0.8.16", + "prop-types": "^15.6.0", + "warning": "^3.0.0" } }, "react-jss": { @@ -9833,35 +9833,35 @@ "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.4.0.tgz", "integrity": "sha512-yIi4udcTIIh5u4KJ47wsL3UZYMuSrp5xR1YBvPeRNshpCdRoJxt5BWmCu1RA3LIa+//dnRsAtAQmMAYeg1W9oQ==", "requires": { - "hoist-non-react-statics": "2.3.1", - "jss": "9.8.1", - "jss-preset-default": "4.3.0", - "prop-types": "15.6.1", - "theming": "1.3.0" + "hoist-non-react-statics": "^2.3.1", + "jss": "^9.7.0", + "jss-preset-default": "^4.3.0", + "prop-types": "^15.6.0", + "theming": "^1.3.0" } }, "react-lifecycles-compat": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-1.1.4.tgz", - "integrity": "sha512-g3pdexIqkn+CVvSpYIoyON8zUbF9kgfhp672gyz7wQ7PQyXVmJtah+GDYqpHpOrdwex3F77iv+alq79iux9HZw==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.2.tgz", + "integrity": "sha512-BPksUj7VMAAFhcCw79sZA0Ow/LTAEjs3Sio1AQcuwLeOP+ua0f/08Su2wyiW+JjDDH6fRqNy3h5CLXh21u1mVg==" }, "react-markdown": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.5.1.tgz", "integrity": "sha512-N5xMde42RrclLIdF16bckTApFM56vkn4q3GoZlLkuE8IK23GOIqJsuE62RTrkgq//pAt4dovVgZcgawh7YtN4w==", "requires": { - "commonmark": "0.24.0", - "commonmark-react-renderer": "4.3.4", - "prop-types": "15.6.1" + "commonmark": "^0.24.0", + "commonmark-react-renderer": "^4.3.4", + "prop-types": "^15.5.1" } }, "react-popper": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.8.3.tgz", - "integrity": "sha1-D3MzMTfJ+wr27EB00tBYWgoEYeE=", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.1.tgz", + "integrity": "sha1-ah8llfr/2ncQW+1OiezyJgekxFI=", "requires": { - "popper.js": "1.14.3", - "prop-types": "15.6.1" + "popper.js": "^1.14.1", + "prop-types": "^15.6.1" } }, "react-router": { @@ -9869,13 +9869,13 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { - "history": "4.7.2", - "hoist-non-react-statics": "2.3.1", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "path-to-regexp": "1.7.0", - "prop-types": "15.6.1", - "warning": "3.0.0" + "history": "^4.7.2", + "hoist-non-react-statics": "^2.3.0", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.5.4", + "warning": "^3.0.0" } }, "react-router-dom": { @@ -9883,12 +9883,12 @@ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { - "history": "4.7.2", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "prop-types": "15.6.1", - "react-router": "4.2.0", - "warning": "3.0.0" + "history": "^4.7.2", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "prop-types": "^15.5.4", + "react-router": "^4.2.0", + "warning": "^3.0.0" } }, "react-scrollbar-size": { @@ -9896,22 +9896,20 @@ "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz", "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "stifle": "1.0.4" + "babel-runtime": "^6.26.0", + "prop-types": "^15.6.0", + "react-event-listener": "^0.5.1", + "stifle": "^1.0.2" } }, "react-transition-group": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.0.tgz", - "integrity": "sha512-OU3/swEL8y233u5ajTn3FIcQQ/b3XWjLXB6e2LnM1OK5JATtsyfJvPTZ8c/dawHNqjUltcdHRSpgMtPe7v07pw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.1.tgz", + "integrity": "sha512-hu4/LAOFSKjWt1+1hgnOv3ldxmt6lvZGTWz4KUkFrqzXrNDIVSu6txIcPszw7PNduR8en9YTN55JLRyd/L1ZiQ==", "requires": { - "chain-function": "1.0.0", - "dom-helpers": "3.3.1", - "loose-envify": "1.3.1", - "prop-types": "15.6.1", - "warning": "3.0.0" + "dom-helpers": "^3.3.1", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1" } }, "read-pkg": { @@ -9919,9 +9917,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -9929,8 +9927,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9938,8 +9936,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -9947,7 +9945,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -9957,13 +9955,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -9971,10 +9969,10 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.4", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "recast": { @@ -9983,10 +9981,10 @@ "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", "requires": { "ast-types": "0.10.1", - "core-js": "2.5.3", - "esprima": "4.0.0", - "private": "0.1.8", - "source-map": "0.6.1" + "core-js": "^2.4.1", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" } }, "recompose": { @@ -9994,10 +9992,10 @@ "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.3.1", - "symbol-observable": "1.2.0" + "change-emitter": "^0.1.2", + "fbjs": "^0.8.1", + "hoist-non-react-statics": "^2.3.1", + "symbol-observable": "^1.0.4" } }, "recursive-readdir": { @@ -10013,7 +10011,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.0.0" } } } @@ -10023,8 +10021,8 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "reduce-css-calc": { @@ -10032,9 +10030,9 @@ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" }, "dependencies": { "balanced-match": { @@ -10049,7 +10047,7 @@ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "requires": { - "balanced-match": "0.4.2" + "balanced-match": "^0.4.2" }, "dependencies": { "balanced-match": { @@ -10074,9 +10072,9 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "regex-cache": { @@ -10084,7 +10082,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regexpp": { @@ -10098,9 +10096,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -10108,8 +10106,8 @@ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "requires": { - "rc": "1.2.5", - "safe-buffer": "5.1.1" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -10117,7 +10115,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "1.2.5" + "rc": "^1.0.1" } }, "regjsgen": { @@ -10130,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -10155,11 +10153,11 @@ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" + "css-select": "^1.1.0", + "dom-converter": "~0.1", + "htmlparser2": "~3.3.0", + "strip-ansi": "^3.0.0", + "utila": "~0.3" }, "dependencies": { "strip-ansi": { @@ -10167,7 +10165,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "utila": { @@ -10192,7 +10190,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10200,28 +10198,28 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -10245,8 +10243,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "requires-port": { @@ -10259,7 +10257,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -10267,7 +10265,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" }, "dependencies": { "resolve-from": { @@ -10282,8 +10280,8 @@ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "requires": { - "expand-tilde": "2.0.2", - "global-modules": "1.0.0" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, "resolve-from": { @@ -10302,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "right-align": { @@ -10311,7 +10309,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10319,7 +10317,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { @@ -10327,8 +10325,8 @@ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" + "hash-base": "^2.0.0", + "inherits": "^2.0.1" } }, "rtl-css-js": { @@ -10341,7 +10339,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -10354,7 +10352,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -10367,13 +10365,13 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", "requires": { - "anymatch": "1.3.2", - "exec-sh": "0.2.1", - "fb-watchman": "1.9.2", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.10.0" + "anymatch": "^1.3.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^1.8.0", + "minimatch": "^3.0.2", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.10.0" }, "dependencies": { "bser": { @@ -10381,7 +10379,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } }, "fb-watchman": { @@ -10409,7 +10407,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "requires": { - "ajv": "5.5.2" + "ajv": "^5.0.0" } }, "scroll": { @@ -10417,7 +10415,7 @@ "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.3.tgz", "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "requires": { - "rafl": "1.2.2" + "rafl": "~1.2.1" } }, "select": { @@ -10449,7 +10447,7 @@ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { - "semver": "5.4.1" + "semver": "^5.0.3" } }, "send": { @@ -10458,18 +10456,18 @@ "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.2", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.1" }, "dependencies": { "mime": { @@ -10484,13 +10482,13 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.17", - "parseurl": "1.3.2" + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" } }, "serve-static": { @@ -10498,9 +10496,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.1" } }, @@ -10534,8 +10532,8 @@ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shebang-command": { @@ -10543,7 +10541,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -10556,10 +10554,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "shellwords": { @@ -10583,7 +10581,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, "sntp": { @@ -10591,7 +10589,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "sockjs": { @@ -10599,8 +10597,8 @@ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", "requires": { - "faye-websocket": "0.10.0", - "uuid": "2.0.3" + "faye-websocket": "^0.10.0", + "uuid": "^2.0.2" }, "dependencies": { "faye-websocket": { @@ -10608,7 +10606,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "uuid": { @@ -10623,12 +10621,12 @@ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "requires": { - "debug": "2.6.9", + "debug": "^2.6.6", "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.2.0" + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" } }, "sort-keys": { @@ -10636,7 +10634,7 @@ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-list-map": { @@ -10654,7 +10652,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" }, "dependencies": { "source-map": { @@ -10669,7 +10667,7 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -10687,12 +10685,12 @@ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" } }, "spdy-transport": { @@ -10700,13 +10698,13 @@ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.1", - "readable-stream": "2.3.4", - "safe-buffer": "5.1.1", - "wbuf": "1.7.2" + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" } }, "sprintf-js": { @@ -10719,14 +10717,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "statuses": { @@ -10744,8 +10742,8 @@ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-http": { @@ -10753,11 +10751,11 @@ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "strict-uri-encode": { @@ -10770,7 +10768,7 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", "requires": { - "strip-ansi": "3.0.1" + "strip-ansi": "^3.0.0" }, "dependencies": { "strip-ansi": { @@ -10778,7 +10776,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -10788,8 +10786,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "string.prototype.repeat": { @@ -10802,7 +10800,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -10815,7 +10813,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" }, "dependencies": { "ansi-regex": { @@ -10830,7 +10828,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -10843,7 +10841,7 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -10856,8 +10854,8 @@ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.0.tgz", "integrity": "sha512-9mx9sC9nX1dgP96MZOODpGC6l1RzQBITI2D5WJhu+wnbrSYVKLGuy14XJSLVQih/0GFrPpjelt+s//VcZQ2Evw==", "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" } }, "supports-color": { @@ -10870,13 +10868,13 @@ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" }, "dependencies": { "esprima": { @@ -10889,8 +10887,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" + "argparse": "^1.0.7", + "esprima": "^2.6.0" } } } @@ -10900,16 +10898,16 @@ "resolved": "https://registry.npmjs.org/sw-precache/-/sw-precache-5.2.1.tgz", "integrity": "sha512-8FAy+BP/FXE+ILfiVTt+GQJ6UEf4CVHD9OfhzH0JX+3zoy2uFk7Vn9EfXASOtVmmIVbL3jE/W8Z66VgPSZcMhw==", "requires": { - "dom-urls": "1.1.0", - "es6-promise": "4.2.4", - "glob": "7.1.2", - "lodash.defaults": "4.2.0", - "lodash.template": "4.4.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "pretty-bytes": "4.0.2", - "sw-toolbox": "3.6.0", - "update-notifier": "2.3.0" + "dom-urls": "^1.1.0", + "es6-promise": "^4.0.5", + "glob": "^7.1.1", + "lodash.defaults": "^4.2.0", + "lodash.template": "^4.4.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "pretty-bytes": "^4.0.2", + "sw-toolbox": "^3.4.0", + "update-notifier": "^2.3.0" } }, "sw-precache-webpack-plugin": { @@ -10917,9 +10915,9 @@ "resolved": "https://registry.npmjs.org/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.4.tgz", "integrity": "sha1-ppUBflTu1XVVFJOlGdwdqNotxeA=", "requires": { - "del": "2.2.2", - "sw-precache": "5.2.1", - "uglify-js": "3.3.10" + "del": "^2.2.2", + "sw-precache": "^5.1.1", + "uglify-js": "^3.0.13" } }, "sw-toolbox": { @@ -10927,8 +10925,8 @@ "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", "requires": { - "path-to-regexp": "1.7.0", - "serviceworker-cache-polyfill": "4.0.0" + "path-to-regexp": "^1.0.1", + "serviceworker-cache-polyfill": "^4.0.0" } }, "symbol-observable": { @@ -10947,12 +10945,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.3.2", - "lodash": "4.17.5", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-styles": { @@ -10961,7 +10959,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -10970,9 +10968,9 @@ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -10981,7 +10979,7 @@ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -10996,7 +10994,7 @@ "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "test-exclude": { @@ -11004,11 +11002,11 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "text-table": { @@ -11021,10 +11019,10 @@ "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", "requires": { - "brcast": "3.0.1", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "prop-types": "15.6.1" + "brcast": "^3.0.1", + "is-function": "^1.0.1", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.8" } }, "throat": { @@ -11057,7 +11055,7 @@ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "tiny-emitter": { @@ -11071,7 +11069,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -11099,7 +11097,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tr46": { @@ -11127,7 +11125,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11141,7 +11139,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-is": { @@ -11150,7 +11148,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "~2.1.15" } }, "typedarray": { @@ -11169,8 +11167,8 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.10.tgz", "integrity": "sha512-dNib7aUDNZFJNTXFyq0CDmLRVOsnY1F+IQgt2FAOdZFx2+LvKVLbbIb/fL+BYKCv3YH3bPCE/6M/JaxChtQLHQ==", "requires": { - "commander": "2.14.1", - "source-map": "0.6.1" + "commander": "~2.14.1", + "source-map": "~0.6.1" } }, "uglify-to-browserify": { @@ -11184,9 +11182,9 @@ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.1.0" + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" }, "dependencies": { "source-map": { @@ -11199,9 +11197,9 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, "yargs": { @@ -11209,9 +11207,9 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -11233,7 +11231,7 @@ "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "requires": { - "macaddress": "0.2.8" + "macaddress": "^0.2.8" } }, "uniqs": { @@ -11246,7 +11244,7 @@ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "universalify": { @@ -11269,15 +11267,15 @@ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "requires": { - "boxen": "1.3.0", - "chalk": "2.3.2", - "configstore": "3.1.1", - "import-lazy": "2.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -11285,7 +11283,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -11293,9 +11291,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -11303,7 +11301,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -11339,9 +11337,9 @@ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", "requires": { - "loader-utils": "1.1.0", - "mime": "1.6.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "mime": "^1.4.1", + "schema-utils": "^0.3.0" } }, "url-parse": { @@ -11349,8 +11347,8 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" + "querystringify": "~1.0.0", + "requires-port": "~1.0.0" }, "dependencies": { "querystringify": { @@ -11365,7 +11363,7 @@ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "util": { @@ -11408,8 +11406,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "value-equal": { @@ -11432,9 +11430,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vm-browserify": { @@ -11450,7 +11448,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "warning": { @@ -11458,7 +11456,7 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "watch": { @@ -11471,9 +11469,9 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" + "async": "^2.1.2", + "chokidar": "^1.7.0", + "graceful-fs": "^4.1.2" } }, "wbuf": { @@ -11481,7 +11479,7 @@ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", "requires": { - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "^1.0.0" } }, "webidl-conversions": { @@ -11494,28 +11492,28 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "requires": { - "acorn": "5.4.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.1.0", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.1.0", - "yargs": "8.0.2" + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^5.1.5", + "ajv-keywords": "^2.0.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" }, "dependencies": { "camelcase": { @@ -11528,9 +11526,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -11538,9 +11536,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -11555,7 +11553,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "load-json-file": { @@ -11563,10 +11561,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "os-locale": { @@ -11574,9 +11572,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -11584,7 +11582,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -11592,9 +11590,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -11602,8 +11600,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "source-map": { @@ -11616,7 +11614,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11629,7 +11627,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } }, "which-module": { @@ -11642,19 +11640,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" } }, "yargs-parser": { @@ -11662,7 +11660,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -11672,11 +11670,11 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", "requires": { - "memory-fs": "0.4.1", - "mime": "1.6.0", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" } }, "webpack-dev-server": { @@ -11685,32 +11683,32 @@ "integrity": "sha512-thrqC0EQEoSjXeYgP6pUXcUCZ+LNrKsDPn+mItLnn5VyyNZOJKd06hUP5vqkYwL8nWWXsii0loSF9NHNccT6ow==", "requires": { "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "1.7.0", - "compression": "1.7.1", - "connect-history-api-fallback": "1.5.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.2", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "import-local": "0.1.1", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^1.6.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.13.3", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.17.4", + "import-local": "^0.1.1", "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.2.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.2", - "serve-index": "1.9.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", "sockjs": "0.3.18", "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "4.5.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" + "spdy": "^3.4.1", + "strip-ansi": "^3.0.1", + "supports-color": "^4.2.1", + "webpack-dev-middleware": "^1.11.0", + "yargs": "^6.6.0" }, "dependencies": { "camelcase": { @@ -11723,9 +11721,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "debug": { @@ -11741,12 +11739,12 @@ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" } }, "globby": { @@ -11754,11 +11752,11 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -11778,7 +11776,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "pify": { @@ -11791,9 +11789,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -11801,7 +11799,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -11809,7 +11807,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } }, "yargs": { @@ -11817,19 +11815,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" } }, "yargs-parser": { @@ -11837,7 +11835,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" } } } @@ -11847,8 +11845,8 @@ "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-1.3.2.tgz", "integrity": "sha512-MX60Bv2G83Zks9pi3oLOmRgnPAnwrlMn+lftMrWBm199VQjk46/xgzBi9lPfpZldw2+EI2S+OevuLIaDuxCWRw==", "requires": { - "fs-extra": "0.30.0", - "lodash": "4.17.5" + "fs-extra": "^0.30.0", + "lodash": ">=3.5 <5" }, "dependencies": { "fs-extra": { @@ -11856,11 +11854,11 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, "jsonfile": { @@ -11868,7 +11866,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } } } @@ -11878,8 +11876,8 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, "websocket-driver": { @@ -11887,8 +11885,8 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "requires": { - "http-parser-js": "0.4.10", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -11914,8 +11912,8 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" }, "dependencies": { "webidl-conversions": { @@ -11935,7 +11933,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -11948,7 +11946,7 @@ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" } }, "window-size": { @@ -11966,8 +11964,8 @@ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "requires": { - "errno": "0.1.6", - "xtend": "4.0.1" + "errno": "^0.1.4", + "xtend": "^4.0.1" } }, "wrap-ansi": { @@ -11975,8 +11973,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -11984,7 +11982,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -11992,9 +11990,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -12002,7 +12000,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -12018,7 +12016,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12026,9 +12024,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "xdg-basedir": { @@ -12071,19 +12069,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" }, "dependencies": { "camelcase": { @@ -12096,9 +12094,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -12106,7 +12104,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -12114,9 +12112,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -12124,7 +12122,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -12134,7 +12132,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" }, "dependencies": { "camelcase": { diff --git a/docs/package.json b/docs/package.json index cabcb9d91a80e6..25018d23409016 100644 --- a/docs/package.json +++ b/docs/package.json @@ -29,9 +29,10 @@ "jss": "^9.8.1", "jss-preset-default": "^4.3.0", "jss-rtl": "^0.2.3", - "material-ui": "^1.0.0-beta.41", + "luxon": "^1.2.0", + "material-ui": "^1.0.0-beta.43", "material-ui-pickers-jalali-utils": "^0.4.0", - "moment": "^2.22.0", + "moment": "^2.22.1", "moment-jalaali": "^0.7.2", "object-assign": "4.1.1", "patreon": "^0.4.0", @@ -41,10 +42,10 @@ "promise": "8.0.1", "prop-types": "^15.6.1", "raf": "3.4.0", - "react": "^16.3.1", + "react": "^16.3.2", "react-dev-utils": "^5.0.1", "react-docgen": "^2.20.1", - "react-dom": "^16.3.1", + "react-dom": "^16.3.2", "react-jss": "^8.4.0", "react-markdown": "^2.5.1", "react-router": "^4.2.0", diff --git a/lib/package-lock.json b/lib/package-lock.json index 620ff0f0882174..64d25d0e640f84 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -5,25 +5,25 @@ "requires": true, "dependencies": { "@babel/code-frame": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.40.tgz", - "integrity": "sha512-eVXQSbu/RimU6OKcK2/gDJVTFcxXJI4sHbIqw2mhwMZeQ2as/8AhS9DGkEDoHMBBNJZ5B0US63lF56x+KDcxiA==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", + "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==", "dev": true, "requires": { - "@babel/highlight": "7.0.0-beta.40" + "@babel/highlight": "7.0.0-beta.44" } }, "@babel/generator": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.40.tgz", - "integrity": "sha512-c91BQcXyTq/5aFV4afgOionxZS1dxWt8OghEx5Q52SKssdGRFSiMKnk9tGkev1pYULPJBqjSDZU2Pcuc58ffZw==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", + "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.40", - "jsesc": "2.5.1", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "@babel/types": "7.0.0-beta.44", + "jsesc": "^2.5.1", + "lodash": "^4.2.0", + "source-map": "^0.5.0", + "trim-right": "^1.0.1" }, "dependencies": { "jsesc": { @@ -35,54 +35,63 @@ } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.40.tgz", - "integrity": "sha512-cK9BVLtOfisSISTTHXKGvBc2OBh65tjEk4PgXhsSnnH0i8RP2v+5RCxoSlh2y/i+l2fxQqKqv++Qo5RMiwmRCA==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", + "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.40", - "@babel/template": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40" + "@babel/helper-get-function-arity": "7.0.0-beta.44", + "@babel/template": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.40.tgz", - "integrity": "sha512-MwquaPznI4cUoZEgHC/XGkddOXtqKqD4DvZDOyJK2LR9Qi6TbMbAhc6IaFoRX7CRTFCmtGeu8gdXW2dBotBBTA==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", + "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.40" + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", + "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" } }, "@babel/highlight": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.40.tgz", - "integrity": "sha512-mOhhTrzieV6VO7odgzFGFapiwRK0ei8RZRhfzHhb6cpX3QM8XXuCLXWjN8qBB7JReDdUR80V3LFfFrGUYevhNg==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", + "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", "dev": true, "requires": { - "chalk": "2.3.1", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^3.0.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -92,57 +101,58 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, "@babel/template": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.40.tgz", - "integrity": "sha512-RlQiVB7eL7fxsKN6JvnCCwEwEL28CBYalXSgWWULuFlEHjtMoXBqQanSie3bNyhrANJx67sb+Sd/vuGivoMwLQ==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", + "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40", - "babylon": "7.0.0-beta.40", - "lodash": "4.17.4" + "@babel/code-frame": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "lodash": "^4.2.0" }, "dependencies": { "babylon": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.40.tgz", - "integrity": "sha512-AVxF2EcxvGD5hhOuLTOLAXBb0VhwWpEX0HyHdAI2zU+AAP4qEwtQj8voz1JR3uclGai0rfcE+dCTHnNMOnimFg==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", "dev": true } } }, "@babel/traverse": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.40.tgz", - "integrity": "sha512-h96SQorjvdSuxQ6hHFIuAa3oxnad1TA5bU1Zz88+XqzwmM5QM0/k2D+heXGGy/76gT5ajl7xYLKGiPA/KTyVhQ==", - "dev": true, - "requires": { - "@babel/code-frame": "7.0.0-beta.40", - "@babel/generator": "7.0.0-beta.40", - "@babel/helper-function-name": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40", - "babylon": "7.0.0-beta.40", - "debug": "3.1.0", - "globals": "11.3.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", + "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/generator": "7.0.0-beta.44", + "@babel/helper-function-name": "7.0.0-beta.44", + "@babel/helper-split-export-declaration": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "debug": "^3.1.0", + "globals": "^11.1.0", + "invariant": "^2.2.0", + "lodash": "^4.2.0" }, "dependencies": { "babylon": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.40.tgz", - "integrity": "sha512-AVxF2EcxvGD5hhOuLTOLAXBb0VhwWpEX0HyHdAI2zU+AAP4qEwtQj8voz1JR3uclGai0rfcE+dCTHnNMOnimFg==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", "dev": true }, "debug": { @@ -155,22 +165,22 @@ } }, "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", "dev": true } } }, "@babel/types": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.40.tgz", - "integrity": "sha512-uXCGCzTgMZxcSUzutCPtZmXbVC+cvENgS2e0tRuhn+Y1hZnMb8IHP0Trq7Q2MB/eFmG5pKrAeTIUfQIe5kA4Tg==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", + "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", "dev": true, "requires": { - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "2.0.0" + "esutils": "^2.0.2", + "lodash": "^4.2.0", + "to-fast-properties": "^2.0.0" }, "dependencies": { "to-fast-properties": { @@ -188,21 +198,25 @@ "dev": true }, "@types/jest": { - "version": "22.2.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.2.tgz", - "integrity": "sha512-Dt7aifQmvMPTLVimzvfQ99qUn4zeSDCQarFNV4otfDLYu0RFdSRBnqSLgksoAnsRL88xJ/UBKbd66iP2XIab0w==", + "version": "22.2.3", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-22.2.3.tgz", + "integrity": "sha512-e74sM9W/4qqWB6D4TWV9FQk0WoHtX1X4FJpbjxucMSVJHtFjbQOH3H6yp+xno4br0AKG0wz/kPtaN599GUOvAg==", "dev": true }, "@types/jss": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.3.0.tgz", - "integrity": "sha512-n7MUYCO/Wt4d6Yj0ZewXSSkqBcrdLFgpQ4mUBRXBWDmLfXtgT3tJ26GVPr8HiyRLLze6iQfaBJTlvjRTjgZpRg==", - "dev": true + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.2.tgz", + "integrity": "sha512-EX87yNYcisXO5BU9tT7stB7OGuDJyV3JwtMwhfUprrmHwYKWh9a3vchAy6DYzUSbmTA7bD46h8qata5jP1V7Zw==", + "dev": true, + "requires": { + "csstype": "^2.0.0", + "indefinite-observable": "^1.0.1" + } }, "@types/luxon": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-0.5.1.tgz", - "integrity": "sha512-LM7JFX3xII25A5ursg9kZmGZjRN3tTOKn4Amv7OpiX3gwp6u9GjNDYBjA2h6wrFJgz7CYKBgJ3VOvtQob6hMLg==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-0.5.2.tgz", + "integrity": "sha512-iwKAbSGEyooNWVfRqhB0hFnedQ1r50CdV9gBFBfdkxKr4ifxM++YquO+/Mbem/VkMnVQAYbIgk+GVf8vG8CF9g==", "dev": true }, "@types/moment": { @@ -211,7 +225,7 @@ "integrity": "sha1-YE69GJvDvDShVIaJQE5hoqSqyJY=", "dev": true, "requires": { - "moment": "2.20.1" + "moment": "*" } }, "@types/node": { @@ -227,18 +241,21 @@ "dev": true }, "@types/react": { - "version": "16.0.39", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.0.39.tgz", - "integrity": "sha512-EdW+v2cqQHHOKOc5s7sCKE8TpP/vVlCnLwLl4JMkzasC9ZNwNMiwAitSi7OhjBarVGoRTygLff+EzfexAFxljw==", - "dev": true + "version": "16.3.13", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.13.tgz", + "integrity": "sha512-YMFH/E9ryjUm2AoOy8KdTuG1SufaMuYmO/5xACROl0pm9dRmE2RN3d2zjv/eHALF6LGRZPVb7G9kqP0n5dWttQ==", + "dev": true, + "requires": { + "csstype": "^2.2.0" + } }, "@types/react-transition-group": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.7.tgz", - "integrity": "sha512-aTbd37E2XJ5Zi/lRrXo74RMhZikS/r5a06EStXEdapy4pqzvPrdY9BpWGNSpnyp8oNaggL0duljNdC8T0dRIUA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.9.tgz", + "integrity": "sha512-Id2MtQcmOgLymqqLqg1VjzNpN7O5vGoF47h3s7jxhzqWdMCtk2GwxFUqcKbGrRmHzzQGyRatfG8yahonIys74Q==", "dev": true, "requires": { - "@types/react": "16.0.39" + "@types/react": "*" } }, "abab": { @@ -248,9 +265,9 @@ "dev": true }, "acorn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.0.tgz", - "integrity": "sha512-arn53F07VXmls4o4pUhSzBa4fvaagPRe7AVZ8l7NHxFWUie2DsuFSBMMNAkgzRlOhEhzAnxeKyaWVzOH4xqp/g==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha512-jd5MkIUlbbmb07nXH0DT3y7rDVtkzDi4XZOUVWAer8ajmF/DTSSbl5oNFyDOl/OXA33Bl79+ypHhl2pN20VeOQ==", "dev": true }, "acorn-globals": { @@ -259,7 +276,7 @@ "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.4" }, "dependencies": { "acorn": { @@ -276,7 +293,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -293,16 +310,16 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", - "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true }, "align-text": { @@ -311,9 +328,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "amdefine": { @@ -328,7 +345,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" } }, "ansi-escapes": { @@ -361,8 +378,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" } }, "append-transform": { @@ -371,7 +388,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "argparse": { @@ -380,7 +397,7 @@ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "aria-query": { @@ -398,7 +415,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -425,8 +442,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-union": { @@ -435,7 +452,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -491,7 +508,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "^4.14.0" } }, "async-each": { @@ -534,21 +551,21 @@ "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", "dev": true, "requires": { - "babel-core": "6.26.0", - "babel-polyfill": "6.26.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "chokidar": "1.7.0", - "commander": "2.12.2", - "convert-source-map": "1.5.1", - "fs-readdir-recursive": "1.1.0", - "glob": "7.1.2", - "lodash": "4.17.4", - "output-file-sync": "1.1.2", - "path-is-absolute": "1.0.1", - "slash": "1.0.0", - "source-map": "0.5.7", - "v8flags": "2.1.1" + "babel-core": "^6.26.0", + "babel-polyfill": "^6.26.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "chokidar": "^1.6.1", + "commander": "^2.11.0", + "convert-source-map": "^1.5.0", + "fs-readdir-recursive": "^1.0.0", + "glob": "^7.1.2", + "lodash": "^4.17.4", + "output-file-sync": "^1.1.2", + "path-is-absolute": "^1.0.1", + "slash": "^1.0.0", + "source-map": "^0.5.6", + "v8flags": "^2.1.1" } }, "babel-code-frame": { @@ -557,56 +574,56 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.2.tgz", + "integrity": "sha512-rFKFnHY8sbRSqja2O5eTx0z0Na5hukdtsFt7X9xdBFXMurrJ5YoY78Y/2/EuNZIaDQKEJSfxSMePfsymxt0CZg==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" } }, "babel-eslint": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.2.tgz", - "integrity": "sha512-Qt2lz2egBxNYWqN9JIO2z4NOOf8i4b5JS6CFoYrOZZTDssueiV1jH/jsefyg+86SeNY3rB361/mi3kE1WK2WYQ==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.3.tgz", + "integrity": "sha512-0HeSTtaXg/Em7FCUWxwOT+KeFSO1O7LuRuzhk7g+1BjwdlQGlHq4OyMi3GqGxrNfEq8jEi6Hmt5ylEQUhurgiQ==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.40", - "@babel/traverse": "7.0.0-beta.40", - "@babel/types": "7.0.0-beta.40", - "babylon": "7.0.0-beta.40", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0" + "@babel/code-frame": "7.0.0-beta.44", + "@babel/traverse": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "eslint-scope": "~3.7.1", + "eslint-visitor-keys": "^1.0.0" }, "dependencies": { "babylon": { - "version": "7.0.0-beta.40", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.40.tgz", - "integrity": "sha512-AVxF2EcxvGD5hhOuLTOLAXBb0VhwWpEX0HyHdAI2zU+AAP4qEwtQj8voz1JR3uclGai0rfcE+dCTHnNMOnimFg==", + "version": "7.0.0-beta.44", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", "dev": true } } @@ -617,14 +634,14 @@ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.6", + "trim-right": "^1.0.1" } }, "babel-helper-builder-binary-assignment-operator-visitor": { @@ -633,9 +650,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-builder-react-jsx": { @@ -644,9 +661,9 @@ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" } }, "babel-helper-call-delegate": { @@ -655,10 +672,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-define-map": { @@ -667,10 +684,10 @@ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-explode-assignable-expression": { @@ -679,9 +696,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -690,11 +707,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -703,8 +720,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -713,8 +730,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-optimise-call-expression": { @@ -723,8 +740,8 @@ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -733,9 +750,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -744,11 +761,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-replace-supers": { @@ -757,12 +774,12 @@ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -771,8 +788,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { @@ -781,8 +798,8 @@ "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", "dev": true, "requires": { - "babel-plugin-istanbul": "4.1.5", - "babel-preset-jest": "21.2.0" + "babel-plugin-istanbul": "^4.0.0", + "babel-preset-jest": "^21.2.0" } }, "babel-messages": { @@ -791,7 +808,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -800,7 +817,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-external-helpers": { @@ -809,7 +826,7 @@ "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-istanbul": { @@ -818,9 +835,9 @@ "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", "dev": true, "requires": { - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.9.1", - "test-exclude": "4.1.1" + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.7.5", + "test-exclude": "^4.1.1" } }, "babel-plugin-jest-hoist": { @@ -871,9 +888,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-class-properties": { @@ -882,10 +899,10 @@ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -894,7 +911,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -903,7 +920,7 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -912,11 +929,11 @@ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-plugin-transform-es2015-classes": { @@ -925,15 +942,15 @@ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -942,8 +959,8 @@ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-destructuring": { @@ -952,7 +969,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -961,8 +978,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-for-of": { @@ -971,7 +988,7 @@ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -980,9 +997,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-literals": { @@ -991,7 +1008,7 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -1000,21 +1017,21 @@ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -1023,9 +1040,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -1034,9 +1051,9 @@ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-object-super": { @@ -1045,8 +1062,8 @@ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -1055,12 +1072,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -1069,8 +1086,8 @@ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -1079,7 +1096,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1088,9 +1105,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-template-literals": { @@ -1099,7 +1116,7 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -1108,7 +1125,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -1117,9 +1134,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -1128,9 +1145,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -1139,8 +1156,8 @@ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" } }, "babel-plugin-transform-react-jsx": { @@ -1149,9 +1166,9 @@ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "dev": true, "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-regenerator": { @@ -1160,7 +1177,7 @@ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "0.10.1" + "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-runtime": { @@ -1169,7 +1186,7 @@ "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -1178,8 +1195,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-polyfill": { @@ -1188,9 +1205,9 @@ "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "regenerator-runtime": "0.10.5" + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" }, "dependencies": { "core-js": { @@ -1213,36 +1230,36 @@ "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "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.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.10.0", - "invariant": "2.2.2", - "semver": "5.4.1" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^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.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.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.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.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.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^2.1.2", + "invariant": "^2.2.2", + "semver": "^5.3.0" } }, "babel-preset-es2015": { @@ -1251,30 +1268,30 @@ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "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.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.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.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "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.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" } }, "babel-preset-es2016": { @@ -1283,7 +1300,7 @@ "integrity": "sha1-+QC/k+LrwNJ235uKtZck6/2Vn4s=", "dev": true, "requires": { - "babel-plugin-transform-exponentiation-operator": "6.24.1" + "babel-plugin-transform-exponentiation-operator": "^6.24.1" } }, "babel-preset-es2017": { @@ -1292,8 +1309,8 @@ "integrity": "sha1-WXvq37n38gi8/YoS6bKym4svFNE=", "dev": true, "requires": { - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1" + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.24.1" } }, "babel-preset-jest": { @@ -1302,8 +1319,8 @@ "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "21.2.0", - "babel-plugin-syntax-object-rest-spread": "6.13.0" + "babel-plugin-jest-hoist": "^21.2.0", + "babel-plugin-syntax-object-rest-spread": "^6.13.0" } }, "babel-preset-latest": { @@ -1312,9 +1329,9 @@ "integrity": "sha1-Z33gaRVKdIXC0lxXfAL2JLhbheg=", "dev": true, "requires": { - "babel-preset-es2015": "6.24.1", - "babel-preset-es2016": "6.24.1", - "babel-preset-es2017": "6.24.1" + "babel-preset-es2015": "^6.24.1", + "babel-preset-es2016": "^6.24.1", + "babel-preset-es2017": "^6.24.1" } }, "babel-register": { @@ -1323,13 +1340,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "home-or-tmp": "2.0.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" }, "dependencies": { "core-js": { @@ -1345,8 +1362,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { @@ -1362,11 +1379,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -1375,15 +1392,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" } }, "babel-types": { @@ -1392,10 +1409,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1417,7 +1434,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "binary-extensions": { @@ -1439,7 +1456,7 @@ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "boxen": { @@ -1448,13 +1465,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.3.0", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -1463,7 +1480,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "camelcase": { @@ -1478,9 +1495,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -1489,7 +1506,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -1500,7 +1517,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1510,9 +1527,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "brcast": { @@ -1544,8 +1561,8 @@ "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000784", - "electron-to-chromium": "1.3.30" + "caniuse-lite": "^1.0.30000780", + "electron-to-chromium": "^1.3.28" } }, "bser": { @@ -1554,9 +1571,15 @@ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "dev": true, "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", + "dev": true + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", @@ -1569,7 +1592,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -1591,9 +1614,9 @@ "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", "dev": true, "requires": { - "camelcase": "4.1.0", - "map-obj": "2.0.0", - "quick-lru": "1.1.0" + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" }, "dependencies": { "camelcase": { @@ -1629,27 +1652,21 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, - "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=", - "dev": true - }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "change-emitter": { @@ -1670,12 +1687,12 @@ "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "dev": true, "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.9.2", - "lodash": "4.17.4", - "parse5": "3.0.3" + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" } }, "chokidar": { @@ -1685,15 +1702,15 @@ "dev": true, "optional": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" } }, "ci-info": { @@ -1726,7 +1743,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-spinners": { @@ -1742,7 +1759,7 @@ "dev": true, "requires": { "slice-ansi": "0.0.4", - "string-width": "1.0.2" + "string-width": "^1.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -1751,7 +1768,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "slice-ansi": { @@ -1766,9 +1783,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -1786,8 +1803,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -1818,7 +1835,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -1839,7 +1856,7 @@ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -1855,14 +1872,15 @@ "dev": true }, "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "configstore": { @@ -1871,12 +1889,12 @@ "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.2.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "contains-path": { @@ -1914,17 +1932,17 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "cross-env": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.3.tgz", - "integrity": "sha512-UOokgwvDzCT0mqRSLEkJzUhYXB1vK3E5UgDrD41QiXsm9UetcW2rCGHYz/O3p873lMJ1VZbFCF9Izkwh7nYR5A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.4.tgz", + "integrity": "sha512-Mx8mw6JWhfpYoEk7PGvHxJMLQwQHORAs8+2bX+C1lGQ4h3GkDb1zbzC2Nw85YH9ZQMlO0BHZxMacgrfPmMFxbg==", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "is-windows": "1.0.1" + "cross-spawn": "^5.1.0", + "is-windows": "^1.0.0" } }, "cross-spawn": { @@ -1933,9 +1951,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cryptiles": { @@ -1944,7 +1962,7 @@ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -1953,7 +1971,7 @@ "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } } } @@ -1970,10 +1988,10 @@ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-vendor": { @@ -1982,7 +2000,7 @@ "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", "dev": true, "requires": { - "is-in-browser": "1.1.3" + "is-in-browser": "^1.0.2" } }, "css-what": { @@ -2003,16 +2021,22 @@ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "dev": true, "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, + "csstype": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.4.1.tgz", + "integrity": "sha512-JuXYT9dt8xtpc4mwHSOYnZtQS3TmYVhmZDyXbppTid29krM8Eyn5CmsZjIDTSvzunvutYOBwQmnziR5vgFkJGw==", + "dev": true + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "damerau-levenshtein": { @@ -2027,7 +2051,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-fns": { @@ -2057,8 +2081,8 @@ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", "dev": true, "requires": { - "decamelize": "1.2.0", - "map-obj": "1.0.1" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "dependencies": { "map-obj": { @@ -2075,7 +2099,7 @@ "integrity": "sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI=", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "deep-extend": { @@ -2091,9 +2115,9 @@ "dev": true }, "deepmerge": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.0.1.tgz", - "integrity": "sha512-VIPwiMJqJ13ZQfaCsIFnp5Me9tnjURiaIFxfz7EH0Ci0dTSQpZtSLrqOicXqEd/z2r+z+Klk9GzmnRsgpgbOsQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.1.0.tgz", + "integrity": "sha512-Q89Z26KAfA3lpPGhbF6XMfYAm3jIV3avViy6KOJ2JLzFbeWHOvPQUu5aSJIWXap3gDZC2y1eF5HXEPI2wGqgvw==", "dev": true }, "default-require-extensions": { @@ -2102,7 +2126,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -2111,8 +2135,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "del": { @@ -2121,13 +2145,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -2142,7 +2166,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "diff": { @@ -2163,7 +2187,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-helpers": { @@ -2178,8 +2202,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -2208,7 +2232,7 @@ "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -2217,8 +2241,8 @@ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -2227,7 +2251,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "duplexer": { @@ -2249,7 +2273,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "electron-releases": { @@ -2264,7 +2288,7 @@ "integrity": "sha512-zx1Prv7kYLfc4OA60FhxGbSo4qrEjgSzpo1/37i7l9ltXPYOoQBtjQxY9KmsgfHnBxHlBGXwLlsbt/gub1w5lw==", "dev": true, "requires": { - "electron-releases": "2.1.0" + "electron-releases": "^2.1.0" } }, "elegant-spinner": { @@ -2284,7 +2308,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "~0.4.13" } }, "entities": { @@ -2299,22 +2323,22 @@ "integrity": "sha512-l8csyPyLmtxskTz6pX9W8eDOyH1ckEtDttXk/vlFWCjv00SkjTjtoUrogqp4yEvMyneU9dUJoOLnqFoiHb8IHA==", "dev": true, "requires": { - "cheerio": "1.0.0-rc.2", - "function.prototype.name": "1.1.0", - "has": "1.0.1", - "is-boolean-object": "1.0.0", - "is-callable": "1.1.3", - "is-number-object": "1.0.3", - "is-string": "1.0.4", - "is-subset": "0.1.1", - "lodash": "4.17.4", - "object-inspect": "1.5.0", - "object-is": "1.0.1", - "object.assign": "4.1.0", - "object.entries": "1.0.4", - "object.values": "1.0.4", - "raf": "3.4.0", - "rst-selector-parser": "2.2.3" + "cheerio": "^1.0.0-rc.2", + "function.prototype.name": "^1.0.3", + "has": "^1.0.1", + "is-boolean-object": "^1.0.0", + "is-callable": "^1.1.3", + "is-number-object": "^1.0.3", + "is-string": "^1.0.4", + "is-subset": "^0.1.1", + "lodash": "^4.17.4", + "object-inspect": "^1.5.0", + "object-is": "^1.0.1", + "object.assign": "^4.1.0", + "object.entries": "^1.0.4", + "object.values": "^1.0.4", + "raf": "^3.4.0", + "rst-selector-parser": "^2.2.3" } }, "enzyme-adapter-react-16": { @@ -2323,13 +2347,13 @@ "integrity": "sha512-kC8pAtU2Jk3OJ0EG8Y2813dg9Ol0TXi7UNxHzHiWs30Jo/hj7alc//G1YpKUsPP1oKl9X+Lkx+WlGJpPYA+nvw==", "dev": true, "requires": { - "enzyme-adapter-utils": "1.3.0", - "lodash": "4.17.4", - "object.assign": "4.1.0", - "object.values": "1.0.4", - "prop-types": "15.6.1", - "react-reconciler": "0.7.0", - "react-test-renderer": "16.2.0" + "enzyme-adapter-utils": "^1.3.0", + "lodash": "^4.17.4", + "object.assign": "^4.0.4", + "object.values": "^1.0.4", + "prop-types": "^15.6.0", + "react-reconciler": "^0.7.0", + "react-test-renderer": "^16.0.0-0" } }, "enzyme-adapter-utils": { @@ -2338,9 +2362,9 @@ "integrity": "sha512-vVXSt6uDv230DIv+ebCG66T1Pm36Kv+m74L1TrF4kaE7e1V7Q/LcxO0QRkajk5cA6R3uu9wJf5h13wOTezTbjA==", "dev": true, "requires": { - "lodash": "4.17.4", - "object.assign": "4.1.0", - "prop-types": "15.6.1" + "lodash": "^4.17.4", + "object.assign": "^4.0.4", + "prop-types": "^15.6.0" } }, "errno": { @@ -2349,7 +2373,7 @@ "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", "dev": true, "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error-ex": { @@ -2358,7 +2382,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -2367,11 +2391,11 @@ "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -2380,9 +2404,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "escape-string-regexp": { @@ -2397,11 +2421,11 @@ "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "dev": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.5.6" }, "dependencies": { "esprima": { @@ -2413,48 +2437,49 @@ } }, "eslint": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.18.1.tgz", - "integrity": "sha512-gPSfpSRCHre1GLxGmO68tZNxOlL2y7xBd95VcLD+Eo4S2js31YoMum3CAQIOaxY24hqYOMksMvW38xuuWKQTgw==", - "dev": true, - "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.3.1", - "concat-stream": "1.6.0", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.3", - "esquery": "1.0.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.3.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.10.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "require-uncached": "1.0.3", - "semver": "5.4.1", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", - "table": "4.0.3", - "text-table": "0.2.0" + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" }, "dependencies": { "ansi-regex": { @@ -2464,23 +2489,23 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -2493,9 +2518,9 @@ } }, "globals": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.3.0.tgz", - "integrity": "sha512-kkpcKNlmQan9Z5ZmgqKH/SMbSmjxQ7QjyNqfXVc8VJcoBV2UEg+sxQD15GQofGRh2hfpwUb70VC31DR7Rq5Hdw==", + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.5.0.tgz", + "integrity": "sha512-hYyf+kI8dm3nORsiiXUQigOU62hDLfJ9G01uyGMxhc6BKsircrUhC4uJPQPUSuq2GrTmiiEt7ewxlMdBewfmKQ==", "dev": true }, "has-flag": { @@ -2510,16 +2535,16 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -2530,7 +2555,7 @@ "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "12.1.0" + "eslint-config-airbnb-base": "^12.1.0" } }, "eslint-config-airbnb-base": { @@ -2539,7 +2564,7 @@ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { - "eslint-restricted-globals": "0.1.1" + "eslint-restricted-globals": "^0.1.1" } }, "eslint-import-resolver-node": { @@ -2548,36 +2573,36 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "2.6.9", - "resolve": "1.5.0" + "debug": "^2.6.9", + "resolve": "^1.5.0" } }, "eslint-module-utils": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz", - "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", + "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" } }, "eslint-plugin-import": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", - "integrity": "sha1-JgAu+/ylmJtyiKwEdQi9JPIXsWk=", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.11.0.tgz", + "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=", "dev": true, "requires": { - "builtin-modules": "1.1.1", - "contains-path": "0.1.0", - "debug": "2.6.9", + "contains-path": "^0.1.0", + "debug": "^2.6.8", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.1.1", - "has": "1.0.1", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0" + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "doctrine": { @@ -2586,8 +2611,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, "load-json-file": { @@ -2596,10 +2621,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -2608,7 +2633,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -2617,9 +2642,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -2628,8 +2653,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "strip-bom": { @@ -2646,13 +2671,13 @@ "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", "dev": true, "requires": { - "aria-query": "0.7.0", - "array-includes": "3.0.3", + "aria-query": "^0.7.0", + "array-includes": "^3.0.3", "ast-types-flow": "0.0.7", - "axobject-query": "0.1.0", - "damerau-levenshtein": "1.0.4", - "emoji-regex": "6.5.1", - "jsx-ast-utils": "2.0.1" + "axobject-query": "^0.1.0", + "damerau-levenshtein": "^1.0.0", + "emoji-regex": "^6.1.0", + "jsx-ast-utils": "^2.0.0" } }, "eslint-plugin-react": { @@ -2661,10 +2686,10 @@ "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", "dev": true, "requires": { - "doctrine": "2.1.0", - "has": "1.0.1", - "jsx-ast-utils": "2.0.1", - "prop-types": "15.6.1" + "doctrine": "^2.0.2", + "has": "^1.0.1", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.0" } }, "eslint-restricted-globals": { @@ -2679,8 +2704,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -2690,13 +2715,13 @@ "dev": true }, "espree": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.3.tgz", - "integrity": "sha512-Zy3tAJDORxQZLl2baguiRU1syPERAIg0L+JB2MWorORgTu/CplzvxS9WWA7Xh4+Q+eOQihNs/1o1Xep8cvCxWQ==", + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.5.0", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" } }, "esprima": { @@ -2706,12 +2731,12 @@ "dev": true }, "esquery": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", - "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -2720,7 +2745,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -2747,7 +2772,7 @@ "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "dev": true, "requires": { - "merge": "1.2.0" + "merge": "^1.1.3" } }, "execa": { @@ -2756,13 +2781,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "exit-hook": { @@ -2777,7 +2802,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -2786,7 +2811,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "expect": { @@ -2795,12 +2820,12 @@ "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "jest-diff": "21.2.1", - "jest-get-type": "21.2.0", - "jest-matcher-utils": "21.2.1", - "jest-message-util": "21.2.1", - "jest-regex-util": "21.2.0" + "ansi-styles": "^3.2.0", + "jest-diff": "^21.2.1", + "jest-get-type": "^21.2.0", + "jest-matcher-utils": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-regex-util": "^21.2.0" }, "dependencies": { "ansi-styles": { @@ -2809,7 +2834,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } } } @@ -2826,9 +2851,9 @@ "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "dev": true, "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -2837,7 +2862,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extsprintf": { @@ -2870,7 +2895,7 @@ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "dev": true, "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" } }, "fbjs": { @@ -2878,13 +2903,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "core-js": "^1.0.0", + "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" } }, "figures": { @@ -2893,7 +2918,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -2902,8 +2927,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "filename-regex": { @@ -2918,8 +2943,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "filesize": { @@ -2934,11 +2959,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" } }, "find-up": { @@ -2947,7 +2972,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -2956,10 +2981,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "for-in": { @@ -2974,7 +2999,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -2995,9 +3020,9 @@ "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "fs-extra": { @@ -3006,9 +3031,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "fs-readdir-recursive": { @@ -3030,8 +3055,8 @@ "dev": true, "optional": true, "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.39" }, "dependencies": { "abbrev": { @@ -3046,8 +3071,8 @@ "dev": true, "optional": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, "ansi-regex": { @@ -3067,8 +3092,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "asn1": { @@ -3112,7 +3137,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "block-stream": { @@ -3120,7 +3145,7 @@ "bundled": true, "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "boom": { @@ -3128,7 +3153,7 @@ "bundled": true, "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "brace-expansion": { @@ -3136,7 +3161,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "0.4.2", + "balanced-match": "^0.4.1", "concat-map": "0.0.1" } }, @@ -3167,7 +3192,7 @@ "bundled": true, "dev": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "concat-map": { @@ -3190,7 +3215,7 @@ "bundled": true, "dev": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "dashdash": { @@ -3199,7 +3224,7 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -3248,7 +3273,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "extend": { @@ -3274,9 +3299,9 @@ "dev": true, "optional": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "fs.realpath": { @@ -3289,10 +3314,10 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "fstream-ignore": { @@ -3301,9 +3326,9 @@ "dev": true, "optional": true, "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" } }, "gauge": { @@ -3312,14 +3337,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "getpass": { @@ -3328,7 +3353,7 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -3344,12 +3369,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -3369,8 +3394,8 @@ "dev": true, "optional": true, "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" + "ajv": "^4.9.1", + "har-schema": "^1.0.5" } }, "has-unicode": { @@ -3384,10 +3409,10 @@ "bundled": true, "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -3401,9 +3426,9 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "inflight": { @@ -3411,8 +3436,8 @@ "bundled": true, "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -3431,7 +3456,7 @@ "bundled": true, "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-typedarray": { @@ -3457,7 +3482,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "jsbn": { @@ -3478,7 +3503,7 @@ "dev": true, "optional": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -3523,7 +3548,7 @@ "bundled": true, "dev": true, "requires": { - "mime-db": "1.27.0" + "mime-db": "~1.27.0" } }, "minimatch": { @@ -3531,7 +3556,7 @@ "bundled": true, "dev": true, "requires": { - "brace-expansion": "1.1.7" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -3559,17 +3584,17 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "1.0.2", + "detect-libc": "^1.0.2", "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", + "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" + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^2.2.1", + "tar-pack": "^3.4.0" } }, "nopt": { @@ -3578,8 +3603,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npmlog": { @@ -3588,10 +3613,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -3616,7 +3641,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -3637,8 +3662,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -3675,10 +3700,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -3694,13 +3719,13 @@ "bundled": true, "dev": true, "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" + "buffer-shims": "~1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" } }, "request": { @@ -3709,28 +3734,28 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "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": "~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", + "oauth-sign": "~0.8.1", + "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.6.0", + "uuid": "^3.0.0" } }, "rimraf": { @@ -3738,7 +3763,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -3769,7 +3794,7 @@ "bundled": true, "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "sshpk": { @@ -3778,15 +3803,15 @@ "dev": true, "optional": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -3802,9 +3827,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { @@ -3812,7 +3837,7 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "^5.0.1" } }, "stringstream": { @@ -3826,7 +3851,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -3840,9 +3865,9 @@ "bundled": true, "dev": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "tar-pack": { @@ -3851,14 +3876,14 @@ "dev": true, "optional": true, "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.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" } }, "tough-cookie": { @@ -3867,7 +3892,7 @@ "dev": true, "optional": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tunnel-agent": { @@ -3876,7 +3901,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -3917,7 +3942,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -3931,7 +3956,10 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/full-icu/-/full-icu-1.2.1.tgz", "integrity": "sha512-E2s1b4GVbt8PyG+iaRN6ks8N0Oy2LOJz7SIMUwWWWx7Mr5Z08hKkfpkKQbOtOGqzkFpckDJHjjZ8qfigN2W86A==", - "dev": true + "dev": true, + "requires": { + "icu4c-data": "^0.59.2" + } }, "function-bind": { "version": "1.1.1", @@ -3945,9 +3973,9 @@ "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", "dev": true, "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "is-callable": "1.1.3" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "is-callable": "^1.1.3" } }, "functional-red-black-tree": { @@ -3974,7 +4002,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "github-url-from-git": { @@ -3989,12 +4017,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -4003,8 +4031,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -4013,7 +4041,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "global": { @@ -4022,8 +4050,8 @@ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "dev": true, "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "global-dirs": { @@ -4032,7 +4060,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "globals": { @@ -4047,12 +4075,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "got": { @@ -4061,17 +4089,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } }, "graceful-fs": { @@ -4092,7 +4120,7 @@ "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", "dev": true, "requires": { - "duplexer": "0.1.1" + "duplexer": "^0.1.1" } }, "handlebars": { @@ -4101,10 +4129,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -4119,7 +4147,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -4136,8 +4164,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -4146,7 +4174,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -4155,7 +4183,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -4182,10 +4210,10 @@ "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "dev": true, "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "hoek": { @@ -4206,8 +4234,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "hosted-git-info": { @@ -4222,7 +4250,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "1.0.3" + "whatwg-encoding": "^1.0.1" } }, "htmlparser2": { @@ -4231,12 +4259,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.1", - "domutils": "1.5.1", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.3" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "http-signature": { @@ -4245,9 +4273,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "hyperlinker": { @@ -4267,10 +4295,16 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, + "icu4c-data": { + "version": "0.59.2", + "resolved": "https://registry.npmjs.org/icu4c-data/-/icu4c-data-0.59.2.tgz", + "integrity": "sha1-Xf97e+4H/fp6ybtgHMe4gEaha+Y=", + "dev": true + }, "ignore": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", + "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg==", "dev": true }, "import-lazy": { @@ -4285,13 +4319,30 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indefinite-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indefinite-observable/-/indefinite-observable-1.0.1.tgz", + "integrity": "sha1-CZFUI8yNb36xy3iCrRNGM8mm7cM=", + "dev": true, + "requires": { + "symbol-observable": "1.0.4" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", + "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", + "dev": true + } + } + }, "indent-string": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "inflight": { @@ -4300,8 +4351,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4322,20 +4373,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.1.0", - "figures": "2.0.0", - "lodash": "4.17.4", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -4350,7 +4401,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -4359,9 +4410,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "has-flag": { @@ -4376,7 +4427,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -4385,7 +4436,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -4396,7 +4447,7 @@ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -4418,7 +4469,7 @@ "dev": true, "optional": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-boolean-object": { @@ -4439,7 +4490,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -4454,7 +4505,7 @@ "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", "dev": true, "requires": { - "ci-info": "1.1.2" + "ci-info": "^1.0.0" } }, "is-date-object": { @@ -4475,7 +4526,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -4496,7 +4547,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -4517,7 +4568,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-in-browser": { @@ -4532,8 +4583,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-module": { @@ -4554,7 +4605,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-number-object": { @@ -4581,7 +4632,7 @@ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -4590,7 +4641,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -4605,7 +4656,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" }, "dependencies": { "isobject": { @@ -4646,7 +4697,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-resolvable": { @@ -4697,9 +4748,9 @@ "dev": true }, "is-windows": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", - "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, "isarray": { @@ -4728,8 +4779,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -4750,17 +4801,17 @@ "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "dev": true, "requires": { - "async": "2.6.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "js-yaml": "3.10.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" } }, "istanbul-lib-coverage": { @@ -4775,7 +4826,7 @@ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -4784,13 +4835,13 @@ "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -4799,10 +4850,10 @@ "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -4817,7 +4868,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -4828,11 +4879,11 @@ "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -4852,7 +4903,7 @@ "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "jest": { @@ -4861,7 +4912,7 @@ "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==", "dev": true, "requires": { - "jest-cli": "21.2.1" + "jest-cli": "^21.2.1" }, "dependencies": { "ansi-regex": { @@ -4876,7 +4927,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -4885,9 +4936,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "jest-cli": { @@ -4896,35 +4947,35 @@ "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", "dev": true, "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.0", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "is-ci": "1.0.10", - "istanbul-api": "1.2.1", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-source-maps": "1.2.2", - "jest-changed-files": "21.2.0", - "jest-config": "21.2.1", - "jest-environment-jsdom": "21.2.1", - "jest-haste-map": "21.2.0", - "jest-message-util": "21.2.1", - "jest-regex-util": "21.2.0", - "jest-resolve-dependencies": "21.2.0", - "jest-runner": "21.2.1", - "jest-runtime": "21.2.1", - "jest-snapshot": "21.2.1", - "jest-util": "21.2.1", - "micromatch": "2.3.11", - "node-notifier": "5.1.2", - "pify": "3.0.0", - "slash": "1.0.0", - "string-length": "2.0.0", - "strip-ansi": "4.0.0", - "which": "1.3.0", - "worker-farm": "1.5.2", - "yargs": "9.0.1" + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "istanbul-api": "^1.1.1", + "istanbul-lib-coverage": "^1.0.1", + "istanbul-lib-instrument": "^1.4.2", + "istanbul-lib-source-maps": "^1.1.0", + "jest-changed-files": "^21.2.0", + "jest-config": "^21.2.1", + "jest-environment-jsdom": "^21.2.1", + "jest-haste-map": "^21.2.0", + "jest-message-util": "^21.2.1", + "jest-regex-util": "^21.2.0", + "jest-resolve-dependencies": "^21.2.0", + "jest-runner": "^21.2.1", + "jest-runtime": "^21.2.1", + "jest-snapshot": "^21.2.1", + "jest-util": "^21.2.1", + "micromatch": "^2.3.11", + "node-notifier": "^5.0.2", + "pify": "^3.0.0", + "slash": "^1.0.0", + "string-length": "^2.0.0", + "strip-ansi": "^4.0.0", + "which": "^1.2.12", + "worker-farm": "^1.3.1", + "yargs": "^9.0.0" } }, "pify": { @@ -4939,7 +4990,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -4948,7 +4999,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -4959,7 +5010,7 @@ "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", "dev": true, "requires": { - "throat": "4.1.0" + "throat": "^4.0.0" } }, "jest-config": { @@ -4968,17 +5019,17 @@ "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", "dev": true, "requires": { - "chalk": "2.3.0", - "glob": "7.1.2", - "jest-environment-jsdom": "21.2.1", - "jest-environment-node": "21.2.1", - "jest-get-type": "21.2.0", - "jest-jasmine2": "21.2.1", - "jest-regex-util": "21.2.0", - "jest-resolve": "21.2.0", - "jest-util": "21.2.1", - "jest-validate": "21.2.1", - "pretty-format": "21.2.1" + "chalk": "^2.0.1", + "glob": "^7.1.1", + "jest-environment-jsdom": "^21.2.1", + "jest-environment-node": "^21.2.1", + "jest-get-type": "^21.2.0", + "jest-jasmine2": "^21.2.1", + "jest-regex-util": "^21.2.0", + "jest-resolve": "^21.2.0", + "jest-util": "^21.2.1", + "jest-validate": "^21.2.1", + "pretty-format": "^21.2.1" }, "dependencies": { "ansi-styles": { @@ -4987,7 +5038,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -4996,9 +5047,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5007,7 +5058,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5018,10 +5069,10 @@ "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", "dev": true, "requires": { - "chalk": "2.3.0", - "diff": "3.4.0", - "jest-get-type": "21.2.0", - "pretty-format": "21.2.1" + "chalk": "^2.0.1", + "diff": "^3.2.0", + "jest-get-type": "^21.2.0", + "pretty-format": "^21.2.1" }, "dependencies": { "ansi-styles": { @@ -5030,7 +5081,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5039,9 +5090,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5050,7 +5101,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5067,9 +5118,9 @@ "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", "dev": true, "requires": { - "jest-mock": "21.2.0", - "jest-util": "21.2.1", - "jsdom": "9.12.0" + "jest-mock": "^21.2.0", + "jest-util": "^21.2.1", + "jsdom": "^9.12.0" } }, "jest-environment-node": { @@ -5078,8 +5129,8 @@ "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", "dev": true, "requires": { - "jest-mock": "21.2.0", - "jest-util": "21.2.1" + "jest-mock": "^21.2.0", + "jest-util": "^21.2.1" } }, "jest-get-type": { @@ -5094,12 +5145,12 @@ "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "21.2.0", - "micromatch": "2.3.11", - "sane": "2.2.0", - "worker-farm": "1.5.2" + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-docblock": "^21.2.0", + "micromatch": "^2.3.11", + "sane": "^2.0.0", + "worker-farm": "^1.3.1" } }, "jest-jasmine2": { @@ -5108,14 +5159,14 @@ "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", "dev": true, "requires": { - "chalk": "2.3.0", - "expect": "21.2.1", - "graceful-fs": "4.1.11", - "jest-diff": "21.2.1", - "jest-matcher-utils": "21.2.1", - "jest-message-util": "21.2.1", - "jest-snapshot": "21.2.1", - "p-cancelable": "0.3.0" + "chalk": "^2.0.1", + "expect": "^21.2.1", + "graceful-fs": "^4.1.11", + "jest-diff": "^21.2.1", + "jest-matcher-utils": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-snapshot": "^21.2.1", + "p-cancelable": "^0.3.0" }, "dependencies": { "ansi-styles": { @@ -5124,7 +5175,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5133,9 +5184,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5144,7 +5195,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5155,9 +5206,9 @@ "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", "dev": true, "requires": { - "chalk": "2.3.0", - "jest-get-type": "21.2.0", - "pretty-format": "21.2.1" + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "pretty-format": "^21.2.1" }, "dependencies": { "ansi-styles": { @@ -5166,7 +5217,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5175,9 +5226,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5186,7 +5237,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5197,9 +5248,9 @@ "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", "dev": true, "requires": { - "chalk": "2.3.0", - "micromatch": "2.3.11", - "slash": "1.0.0" + "chalk": "^2.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -5208,7 +5259,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5217,9 +5268,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5228,7 +5279,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5251,9 +5302,9 @@ "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", "dev": true, "requires": { - "browser-resolve": "1.11.2", - "chalk": "2.3.0", - "is-builtin-module": "1.0.0" + "browser-resolve": "^1.11.2", + "chalk": "^2.0.1", + "is-builtin-module": "^1.0.0" }, "dependencies": { "ansi-styles": { @@ -5262,7 +5313,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5271,9 +5322,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5282,7 +5333,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5293,7 +5344,7 @@ "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", "dev": true, "requires": { - "jest-regex-util": "21.2.0" + "jest-regex-util": "^21.2.0" } }, "jest-runner": { @@ -5302,16 +5353,16 @@ "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", "dev": true, "requires": { - "jest-config": "21.2.1", - "jest-docblock": "21.2.0", - "jest-haste-map": "21.2.0", - "jest-jasmine2": "21.2.1", - "jest-message-util": "21.2.1", - "jest-runtime": "21.2.1", - "jest-util": "21.2.1", - "pify": "3.0.0", - "throat": "4.1.0", - "worker-farm": "1.5.2" + "jest-config": "^21.2.1", + "jest-docblock": "^21.2.0", + "jest-haste-map": "^21.2.0", + "jest-jasmine2": "^21.2.1", + "jest-message-util": "^21.2.1", + "jest-runtime": "^21.2.1", + "jest-util": "^21.2.1", + "pify": "^3.0.0", + "throat": "^4.0.0", + "worker-farm": "^1.3.1" }, "dependencies": { "pify": { @@ -5328,23 +5379,23 @@ "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", "dev": true, "requires": { - "babel-core": "6.26.0", - "babel-jest": "21.2.0", - "babel-plugin-istanbul": "4.1.5", - "chalk": "2.3.0", - "convert-source-map": "1.5.1", - "graceful-fs": "4.1.11", - "jest-config": "21.2.1", - "jest-haste-map": "21.2.0", - "jest-regex-util": "21.2.0", - "jest-resolve": "21.2.0", - "jest-util": "21.2.1", - "json-stable-stringify": "1.0.1", - "micromatch": "2.3.11", - "slash": "1.0.0", + "babel-core": "^6.0.0", + "babel-jest": "^21.2.0", + "babel-plugin-istanbul": "^4.0.0", + "chalk": "^2.0.1", + "convert-source-map": "^1.4.0", + "graceful-fs": "^4.1.11", + "jest-config": "^21.2.1", + "jest-haste-map": "^21.2.0", + "jest-regex-util": "^21.2.0", + "jest-resolve": "^21.2.0", + "jest-util": "^21.2.1", + "json-stable-stringify": "^1.0.1", + "micromatch": "^2.3.11", + "slash": "^1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "2.3.0", - "yargs": "9.0.1" + "write-file-atomic": "^2.1.0", + "yargs": "^9.0.0" }, "dependencies": { "ansi-styles": { @@ -5353,7 +5404,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5362,9 +5413,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "strip-bom": { @@ -5379,7 +5430,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5390,12 +5441,12 @@ "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", "dev": true, "requires": { - "chalk": "2.3.0", - "jest-diff": "21.2.1", - "jest-matcher-utils": "21.2.1", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "pretty-format": "21.2.1" + "chalk": "^2.0.1", + "jest-diff": "^21.2.1", + "jest-matcher-utils": "^21.2.1", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^21.2.1" }, "dependencies": { "ansi-styles": { @@ -5404,7 +5455,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5413,9 +5464,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5424,7 +5475,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5435,13 +5486,13 @@ "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", "dev": true, "requires": { - "callsites": "2.0.0", - "chalk": "2.3.0", - "graceful-fs": "4.1.11", - "jest-message-util": "21.2.1", - "jest-mock": "21.2.0", - "jest-validate": "21.2.1", - "mkdirp": "0.5.1" + "callsites": "^2.0.0", + "chalk": "^2.0.1", + "graceful-fs": "^4.1.11", + "jest-message-util": "^21.2.1", + "jest-mock": "^21.2.0", + "jest-validate": "^21.2.1", + "mkdirp": "^0.5.1" }, "dependencies": { "ansi-styles": { @@ -5450,7 +5501,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "callsites": { @@ -5465,9 +5516,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5476,7 +5527,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5487,10 +5538,10 @@ "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", "dev": true, "requires": { - "chalk": "2.3.0", - "jest-get-type": "21.2.0", - "leven": "2.1.0", - "pretty-format": "21.2.1" + "chalk": "^2.0.1", + "jest-get-type": "^21.2.0", + "leven": "^2.1.0", + "pretty-format": "^21.2.1" }, "dependencies": { "ansi-styles": { @@ -5499,7 +5550,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5508,9 +5559,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.1.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^4.0.0" } }, "supports-color": { @@ -5519,7 +5570,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -5535,8 +5586,8 @@ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -5552,25 +5603,25 @@ "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "dev": true, "requires": { - "abab": "1.0.4", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.2", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "html-encoding-sniffer": "1.0.2", - "nwmatcher": "1.4.3", - "parse5": "1.5.1", - "request": "2.83.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.3", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" + "abab": "^1.0.3", + "acorn": "^4.0.4", + "acorn-globals": "^3.1.0", + "array-equal": "^1.0.0", + "content-type-parser": "^1.0.1", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": ">= 0.2.37 < 0.3.0", + "escodegen": "^1.6.1", + "html-encoding-sniffer": "^1.0.1", + "nwmatcher": ">= 1.3.9 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.79.0", + "sax": "^1.2.1", + "symbol-tree": "^3.2.1", + "tough-cookie": "^2.3.2", + "webidl-conversions": "^4.0.0", + "whatwg-encoding": "^1.0.1", + "whatwg-url": "^4.3.0", + "xml-name-validator": "^2.0.1" }, "dependencies": { "acorn": { @@ -5617,7 +5668,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -5644,7 +5695,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -5666,14 +5717,14 @@ } }, "jss": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.0.tgz", - "integrity": "sha512-1E9pn6k1Qd1BxKz845supoedukHuwMeBiqybCQV9l60v8JE7owkZSvVJfjw3wm50SjG1C/ABPtQ8PrGfhfrzLw==", + "version": "9.8.1", + "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.1.tgz", + "integrity": "sha512-a9dXInEPTRmdSmzw3LNhbAwdQVZgCRmFU7dFzrpLTMAcdolHXNamhxQ6J+PNIqUtWa9yRbZIzWX6aUlI55LZ/A==", "dev": true, "requires": { - "is-in-browser": "1.1.3", - "symbol-observable": "1.2.0", - "warning": "3.0.0" + "is-in-browser": "^1.1.3", + "symbol-observable": "^1.1.0", + "warning": "^3.0.0" } }, "jss-camel-case": { @@ -5682,7 +5733,7 @@ "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", "dev": true, "requires": { - "hyphenate-style-name": "1.0.2" + "hyphenate-style-name": "^1.0.2" } }, "jss-compose": { @@ -5691,7 +5742,7 @@ "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "dev": true, "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-default-unit": { @@ -5712,7 +5763,7 @@ "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "dev": true, "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-global": { @@ -5727,7 +5778,7 @@ "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "dev": true, "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-preset-default": { @@ -5736,16 +5787,16 @@ "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==", "dev": true, "requires": { - "jss-camel-case": "6.1.0", - "jss-compose": "5.0.0", - "jss-default-unit": "8.0.2", - "jss-expand": "5.1.0", - "jss-extend": "6.2.0", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-template": "1.0.1", - "jss-vendor-prefixer": "7.0.0" + "jss-camel-case": "^6.1.0", + "jss-compose": "^5.0.0", + "jss-default-unit": "^8.0.2", + "jss-expand": "^5.1.0", + "jss-extend": "^6.2.0", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-template": "^1.0.1", + "jss-vendor-prefixer": "^7.0.0" } }, "jss-props-sort": { @@ -5760,7 +5811,7 @@ "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "dev": true, "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-vendor-prefixer": { @@ -5769,7 +5820,7 @@ "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", "dev": true, "requires": { - "css-vendor": "0.3.8" + "css-vendor": "^0.3.8" } }, "jsx-ast-utils": { @@ -5778,13 +5829,13 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "3.0.3" + "array-includes": "^3.0.3" } }, "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.0.tgz", + "integrity": "sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ=", "dev": true }, "kind-of": { @@ -5793,7 +5844,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "latest-version": { @@ -5802,7 +5853,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -5818,7 +5869,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "leven": { @@ -5833,8 +5884,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "listr": { @@ -5843,22 +5894,22 @@ "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", "dev": true, "requires": { - "chalk": "1.1.3", - "cli-truncate": "0.2.1", - "figures": "1.7.0", - "indent-string": "2.1.0", - "is-promise": "2.1.0", - "is-stream": "1.1.0", - "listr-silent-renderer": "1.1.1", - "listr-update-renderer": "0.2.0", - "listr-verbose-renderer": "0.4.1", - "log-symbols": "1.0.2", - "log-update": "1.0.2", - "ora": "0.2.3", - "p-map": "1.2.0", - "rxjs": "5.4.3", - "stream-to-observable": "0.1.0", - "strip-ansi": "3.0.1" + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "figures": "^1.7.0", + "indent-string": "^2.1.0", + "is-promise": "^2.1.0", + "is-stream": "^1.1.0", + "listr-silent-renderer": "^1.1.1", + "listr-update-renderer": "^0.2.0", + "listr-verbose-renderer": "^0.4.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "ora": "^0.2.3", + "p-map": "^1.1.1", + "rxjs": "^5.0.0-beta.11", + "stream-to-observable": "^0.1.0", + "strip-ansi": "^3.0.1" }, "dependencies": { "figures": { @@ -5867,8 +5918,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "log-symbols": { @@ -5877,7 +5928,7 @@ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "^1.0.0" } }, "stream-to-observable": { @@ -5894,9 +5945,9 @@ "integrity": "sha512-dvjSD1MrWGXxxPixpMQlSBmkyqhJrPxGo30un25k/vlvFOWZj70AauU+YkEh7CA8vmpkE6Wde37DJDmqYqF39g==", "dev": true, "requires": { - "inquirer": "3.3.0", - "rxjs": "5.5.6", - "through": "2.3.8" + "inquirer": "^3.3.0", + "rxjs": "^5.5.2", + "through": "^2.3.8" }, "dependencies": { "rxjs": { @@ -5928,14 +5979,14 @@ "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", "dev": true, "requires": { - "chalk": "1.1.3", - "cli-truncate": "0.2.1", - "elegant-spinner": "1.0.1", - "figures": "1.7.0", - "indent-string": "3.2.0", - "log-symbols": "1.0.2", - "log-update": "1.0.2", - "strip-ansi": "3.0.1" + "chalk": "^1.1.3", + "cli-truncate": "^0.2.1", + "elegant-spinner": "^1.0.1", + "figures": "^1.7.0", + "indent-string": "^3.0.0", + "log-symbols": "^1.0.2", + "log-update": "^1.0.2", + "strip-ansi": "^3.0.1" }, "dependencies": { "figures": { @@ -5944,8 +5995,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "indent-string": { @@ -5960,7 +6011,7 @@ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "^1.0.0" } } } @@ -5971,10 +6022,10 @@ "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", "dev": true, "requires": { - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "date-fns": "1.29.0", - "figures": "1.7.0" + "chalk": "^1.1.3", + "cli-cursor": "^1.0.2", + "date-fns": "^1.27.2", + "figures": "^1.7.0" }, "dependencies": { "cli-cursor": { @@ -5983,7 +6034,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "date-fns": { @@ -5998,8 +6049,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" } }, "onetime": { @@ -6014,8 +6065,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } } } @@ -6026,11 +6077,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "locate-path": { @@ -6039,8 +6090,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -6061,7 +6112,7 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "2.3.1" + "chalk": "^2.0.1" }, "dependencies": { "ansi-styles": { @@ -6070,7 +6121,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6079,9 +6130,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "has-flag": { @@ -6096,7 +6147,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6107,8 +6158,8 @@ "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", "dev": true, "requires": { - "ansi-escapes": "1.4.0", - "cli-cursor": "1.0.2" + "ansi-escapes": "^1.0.0", + "cli-cursor": "^1.0.2" }, "dependencies": { "ansi-escapes": { @@ -6123,7 +6174,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "onetime": { @@ -6138,8 +6189,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } } } @@ -6155,7 +6206,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -6164,8 +6215,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowercase-keys": { @@ -6180,22 +6231,17 @@ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, - "luxon": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.0.0.tgz", - "integrity": "sha512-pEUSNIpPM9eFwOW2AvFEw+wFemlXEZtGfUeTNCBoUsO7RIAKyLdRTH41wgN2GNO4pdvGffauKTKERTyvO/VQlA==" - }, "magic-string": { - "version": "0.22.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.4.tgz", - "integrity": "sha512-kxBL06p6iO2qPBHsqGK2b3cRwiRGpnmSuVWNhwHcMX7qJOUr1HvricYP1LZOCdkQBUp0jiWg2d6WJwR3vYgByw==", + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "dev": true, "requires": { - "vlq": "0.2.3" + "vlq": "^0.2.2" } }, "make-dir": { @@ -6204,7 +6250,7 @@ "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { @@ -6221,7 +6267,7 @@ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-obj": { @@ -6231,38 +6277,39 @@ "dev": true }, "material-ui": { - "version": "1.0.0-beta.35", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.35.tgz", - "integrity": "sha512-KqCNpe2Hhi1J1UsM4Ko8hdYi67N3Ck4T7IPk7PoAo4edYaY/ntcfB16645B3A/RVxYgRBFy7btQHtA4X7r7mIw==", - "dev": true, - "requires": { - "@types/jss": "9.3.0", - "@types/react-transition-group": "2.0.7", - "babel-runtime": "6.26.0", - "brcast": "3.0.1", - "classnames": "2.2.5", - "deepmerge": "2.0.1", - "dom-helpers": "3.3.1", - "hoist-non-react-statics": "2.5.0", - "jss": "9.8.0", - "jss-camel-case": "6.1.0", - "jss-default-unit": "8.0.2", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-vendor-prefixer": "7.0.0", - "keycode": "2.1.9", - "lodash": "4.17.4", - "normalize-scroll-left": "0.1.2", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "react-jss": "8.3.3", - "react-popper": "0.8.2", - "react-scrollbar-size": "2.1.0", - "react-transition-group": "2.2.1", - "recompose": "0.26.0", - "scroll": "2.0.3", - "warning": "3.0.0" + "version": "1.0.0-beta.43", + "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.43.tgz", + "integrity": "sha512-6prcG6pwOBAH3s44GJg1WiylByz/TSL6oXlDXnBW1Sb0mSjL1ezfdZj4nSO2qjrPyfDm9sjwxaR9ZoVIHxU17g==", + "dev": true, + "requires": { + "@types/jss": "^9.3.0", + "@types/react-transition-group": "^2.0.8", + "babel-runtime": "^6.26.0", + "brcast": "^3.0.1", + "classnames": "^2.2.5", + "deepmerge": "^2.0.1", + "dom-helpers": "^3.2.1", + "hoist-non-react-statics": "^2.5.0", + "jss": "^9.3.3", + "jss-camel-case": "^6.0.0", + "jss-default-unit": "^8.0.2", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-vendor-prefixer": "^7.0.0", + "keycode": "^2.1.9", + "lodash": "^4.2.0", + "normalize-scroll-left": "^0.1.2", + "prop-types": "^15.6.0", + "react-event-listener": "^0.5.1", + "react-jss": "^8.1.0", + "react-lifecycles-compat": "^2.0.0", + "react-popper": "^0.10.0", + "react-scrollbar-size": "^2.0.2", + "react-transition-group": "^2.2.1", + "recompose": "^0.26.0", + "scroll": "^2.0.3", + "warning": "^3.0.0" } }, "mem": { @@ -6271,7 +6318,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "meow": { @@ -6280,15 +6327,15 @@ "integrity": "sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==", "dev": true, "requires": { - "camelcase-keys": "4.2.0", - "decamelize-keys": "1.1.0", - "loud-rejection": "1.6.0", - "minimist": "1.2.0", - "minimist-options": "3.0.2", - "normalize-package-data": "2.4.0", - "read-pkg-up": "3.0.0", - "redent": "2.0.0", - "trim-newlines": "2.0.0" + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" }, "dependencies": { "load-json-file": { @@ -6297,10 +6344,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "minimist": { @@ -6315,8 +6362,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "path-type": { @@ -6325,7 +6372,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "pify": { @@ -6340,9 +6387,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "4.0.0", - "normalize-package-data": "2.4.0", - "path-type": "3.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, "read-pkg-up": { @@ -6351,8 +6398,8 @@ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "3.0.0" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } }, "strip-bom": { @@ -6375,19 +6422,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "mime-db": { @@ -6402,7 +6449,7 @@ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "dev": true, "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.30.0" } }, "mimic-fn": { @@ -6417,7 +6464,7 @@ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "minimatch": { @@ -6426,7 +6473,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6441,8 +6488,8 @@ "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", "dev": true, "requires": { - "arrify": "1.0.1", - "is-plain-obj": "1.1.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" } }, "mkdirp": { @@ -6455,9 +6502,9 @@ } }, "moment": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", - "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==", "dev": true }, "ms": { @@ -6491,9 +6538,9 @@ "integrity": "sha512-clqqhEuP0ZCJQ85Xv2I/4o2Gs/fvSR6fCg5ZHVE2c8evWyNk2G++ih4JOO3lMb/k/09x6ihQ2nzKUlB/APCWjg==", "dev": true, "requires": { - "nomnom": "1.6.2", - "railroad-diagrams": "1.0.0", - "randexp": "0.4.6" + "nomnom": "~1.6.2", + "railroad-diagrams": "^1.0.0", + "randexp": "^0.4.2" } }, "node-fetch": { @@ -6501,8 +6548,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-int64": { @@ -6517,10 +6564,10 @@ "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", "dev": true, "requires": { - "growly": "1.3.0", - "semver": "5.4.1", - "shellwords": "0.1.1", - "which": "1.3.0" + "growly": "^1.3.0", + "semver": "^5.3.0", + "shellwords": "^0.1.0", + "which": "^1.2.12" } }, "nomnom": { @@ -6529,8 +6576,8 @@ "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=", "dev": true, "requires": { - "colors": "0.5.1", - "underscore": "1.4.4" + "colors": "0.5.x", + "underscore": "~1.4.4" } }, "normalize-package-data": { @@ -6539,10 +6586,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -6551,7 +6598,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-scroll-left": { @@ -6566,28 +6613,28 @@ "integrity": "sha512-IiCxi6SpqsVaGiQG5/XbkZ2uqfAe2G7lwS7BuaWC117MCgPs57SI+1F0chKN/abBmYZqxjqbEId6AUA+1aNblQ==", "dev": true, "requires": { - "any-observable": "0.2.0", - "chalk": "2.3.1", - "del": "3.0.0", - "execa": "0.8.0", - "github-url-from-git": "1.5.0", - "has-yarn": "1.0.0", - "hyperlinker": "1.0.0", - "inquirer": "3.3.0", - "issue-regex": "1.0.0", - "listr": "0.12.0", - "listr-input": "0.1.3", - "log-symbols": "2.2.0", - "meow": "4.0.0", - "p-tap": "1.0.0", - "p-timeout": "2.0.1", - "read-pkg-up": "3.0.0", + "any-observable": "^0.2.0", + "chalk": "^2.3.0", + "del": "^3.0.0", + "execa": "^0.8.0", + "github-url-from-git": "^1.5.0", + "has-yarn": "^1.0.0", + "hyperlinker": "^1.0.0", + "inquirer": "^3.0.6", + "issue-regex": "^1.0.0", + "listr": "^0.12.0", + "listr-input": "^0.1.1", + "log-symbols": "^2.1.0", + "meow": "^4.0.0", + "p-tap": "^1.0.0", + "p-timeout": "^2.0.1", + "read-pkg-up": "^3.0.0", "rxjs": "5.4.3", - "semver": "5.4.1", - "split": "1.0.1", - "stream-to-observable": "0.2.0", - "supports-hyperlinks": "1.0.1", - "update-notifier": "2.3.0" + "semver": "^5.2.0", + "split": "^1.0.0", + "stream-to-observable": "^0.2.0", + "supports-hyperlinks": "^1.0.1", + "update-notifier": "^2.1.0" }, "dependencies": { "ansi-styles": { @@ -6596,7 +6643,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6605,9 +6652,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "del": { @@ -6616,12 +6663,12 @@ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" } }, "execa": { @@ -6630,13 +6677,13 @@ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "globby": { @@ -6645,11 +6692,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -6672,10 +6719,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -6684,8 +6731,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "path-type": { @@ -6694,7 +6741,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "pify": { @@ -6709,9 +6756,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "4.0.0", - "normalize-package-data": "2.4.0", - "path-type": "3.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, "read-pkg-up": { @@ -6720,8 +6767,8 @@ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "3.0.0" + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" } }, "strip-bom": { @@ -6736,7 +6783,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6747,7 +6794,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "nth-check": { @@ -6756,7 +6803,7 @@ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "dev": true, "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "number-is-nan": { @@ -6806,10 +6853,10 @@ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "has-symbols": "1.0.0", - "object-keys": "1.0.11" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" } }, "object.entries": { @@ -6818,10 +6865,10 @@ "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0", - "function-bind": "1.1.1", - "has": "1.0.1" + "define-properties": "^1.1.2", + "es-abstract": "^1.6.1", + "function-bind": "^1.1.0", + "has": "^1.0.1" } }, "object.omit": { @@ -6830,8 +6877,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "object.values": { @@ -6840,10 +6887,10 @@ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0", - "function-bind": "1.1.1", - "has": "1.0.1" + "define-properties": "^1.1.2", + "es-abstract": "^1.6.1", + "function-bind": "^1.1.0", + "has": "^1.0.1" } }, "once": { @@ -6852,7 +6899,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -6861,7 +6908,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "^1.0.0" } }, "optimist": { @@ -6870,8 +6917,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "wordwrap": { @@ -6888,12 +6935,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "ora": { @@ -6902,10 +6949,10 @@ "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", "dev": true, "requires": { - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-spinners": "0.1.2", - "object-assign": "4.1.1" + "chalk": "^1.1.1", + "cli-cursor": "^1.0.2", + "cli-spinners": "^0.1.2", + "object-assign": "^4.0.1" }, "dependencies": { "cli-cursor": { @@ -6914,7 +6961,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "1.0.1" + "restore-cursor": "^1.0.1" } }, "onetime": { @@ -6929,8 +6976,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" + "exit-hook": "^1.0.0", + "onetime": "^1.0.0" } } } @@ -6947,9 +6994,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { @@ -6964,9 +7011,9 @@ "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1" + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" } }, "p-cancelable": { @@ -6993,7 +7040,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -7014,7 +7061,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "1.0.0" + "p-finally": "^1.0.0" } }, "package-json": { @@ -7023,10 +7070,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.4.1" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, "parse-glob": { @@ -7035,10 +7082,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -7047,7 +7094,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse5": { @@ -7056,7 +7103,7 @@ "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "8.5.2" + "@types/node": "*" } }, "path-exists": { @@ -7095,9 +7142,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "performance-now": { @@ -7124,7 +7171,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -7133,7 +7180,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" }, "dependencies": { "find-up": { @@ -7142,8 +7189,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -7152,7 +7199,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -7164,9 +7211,9 @@ "dev": true }, "popper.js": { - "version": "1.12.9", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz", - "integrity": "sha1-DfvC3/lsRRuzMu3Pz6r1ZtMx1bM=", + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.3.tgz", + "integrity": "sha1-FDj5jQRqz3tNeM1QK/QYrGTU8JU=", "dev": true }, "prelude-ls": { @@ -7193,8 +7240,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "3.0.0", - "ansi-styles": "3.2.0" + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" }, "dependencies": { "ansi-regex": { @@ -7209,7 +7256,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } } } @@ -7243,7 +7290,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prop-types": { @@ -7251,9 +7298,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "prr": { @@ -7292,7 +7339,7 @@ "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "dev": true, "requires": { - "performance-now": "2.1.0" + "performance-now": "^2.1.0" } }, "rafl": { @@ -7301,7 +7348,7 @@ "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", "dev": true, "requires": { - "global": "4.3.2" + "global": "~4.3.0" } }, "railroad-diagrams": { @@ -7317,7 +7364,7 @@ "dev": true, "requires": { "discontinuous-range": "1.0.0", - "ret": "0.1.15" + "ret": "~0.1.10" } }, "randomatic": { @@ -7326,8 +7373,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -7336,7 +7383,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -7345,7 +7392,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7356,7 +7403,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7367,10 +7414,10 @@ "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "dev": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -7382,27 +7429,27 @@ } }, "react": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", - "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", + "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "dev": true, "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-dom": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", - "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", + "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "dev": true, "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-event-listener": { @@ -7411,33 +7458,39 @@ "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.6.1", - "warning": "3.0.0" + "babel-runtime": "^6.26.0", + "fbjs": "^0.8.16", + "prop-types": "^15.6.0", + "warning": "^3.0.0" } }, "react-jss": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.3.3.tgz", - "integrity": "sha512-4ZIDMjmC5NOREb2gWI9R14gignNiDRDy/sMwtNRXKeCv26C703Y++aYe0kqn22PGiBredaXXOsgWTVuKFhxfig==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.4.0.tgz", + "integrity": "sha512-yIi4udcTIIh5u4KJ47wsL3UZYMuSrp5xR1YBvPeRNshpCdRoJxt5BWmCu1RA3LIa+//dnRsAtAQmMAYeg1W9oQ==", "dev": true, "requires": { - "hoist-non-react-statics": "2.5.0", - "jss": "9.8.0", - "jss-preset-default": "4.3.0", - "prop-types": "15.6.1", - "theming": "1.3.0" + "hoist-non-react-statics": "^2.3.1", + "jss": "^9.7.0", + "jss-preset-default": "^4.3.0", + "prop-types": "^15.6.0", + "theming": "^1.3.0" } }, + "react-lifecycles-compat": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.2.tgz", + "integrity": "sha512-BPksUj7VMAAFhcCw79sZA0Ow/LTAEjs3Sio1AQcuwLeOP+ua0f/08Su2wyiW+JjDDH6fRqNy3h5CLXh21u1mVg==", + "dev": true + }, "react-popper": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.8.2.tgz", - "integrity": "sha512-sL3r9aOG8sw48Vs5EiTZV4EXhEH0eoN9718WoIsb0Lx2H/sAZbVLZrENduXCAhre6cEqSh7mMR5sI1luYkVhYQ==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.1.tgz", + "integrity": "sha1-ah8llfr/2ncQW+1OiezyJgekxFI=", "dev": true, "requires": { - "popper.js": "1.12.9", - "prop-types": "15.6.1" + "popper.js": "^1.14.1", + "prop-types": "^15.6.1" } }, "react-reconciler": { @@ -7446,10 +7499,10 @@ "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", "dev": true, "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-scrollbar-size": { @@ -7458,10 +7511,10 @@ "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "stifle": "1.0.4" + "babel-runtime": "^6.26.0", + "prop-types": "^15.6.0", + "react-event-listener": "^0.5.1", + "stifle": "^1.0.2" } }, "react-test-renderer": { @@ -7470,31 +7523,28 @@ "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==", "dev": true, "requires": { - "fbjs": "0.8.16", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-text-mask": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/react-text-mask/-/react-text-mask-5.1.0.tgz", - "integrity": "sha512-9YTPppMq06sbKj7WXX/pt5PE0Ck5OdckSVa7OaekH1jerW5pbfCZDzCi5bWczNKYhq7fBBDFOsfrFGSp+ufShQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/react-text-mask/-/react-text-mask-5.3.1.tgz", + "integrity": "sha512-gbF3xnb3f52haE9wwxlYDQXe/Dq11+u3b59j+l4eW3XB2kWgK+9EtjpxKGiWef8/uRq9BIxp5z3Sa1GVcy+ftg==", "requires": { - "prop-types": "15.6.1" + "prop-types": "^15.5.6" } }, "react-transition-group": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.2.1.tgz", - "integrity": "sha512-q54UBM22bs/CekG8r3+vi9TugSqh0t7qcEVycaRc9M0p0aCEu+h6rp/RFiW7fHfgd1IKpd9oILFTl5QK+FpiPA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.1.tgz", + "integrity": "sha512-hu4/LAOFSKjWt1+1hgnOv3ldxmt6lvZGTWz4KUkFrqzXrNDIVSu6txIcPszw7PNduR8en9YTN55JLRyd/L1ZiQ==", "dev": true, "requires": { - "chain-function": "1.0.0", - "classnames": "2.2.5", - "dom-helpers": "3.3.1", - "loose-envify": "1.3.1", - "prop-types": "15.6.1", - "warning": "3.0.0" + "dom-helpers": "^3.3.1", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1" } }, "read-pkg": { @@ -7503,9 +7553,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -7514,8 +7564,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -7524,8 +7574,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -7534,7 +7584,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -7545,13 +7595,13 @@ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -7561,10 +7611,10 @@ "dev": true, "optional": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "recompose": { @@ -7573,10 +7623,10 @@ "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", "dev": true, "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.5.0", - "symbol-observable": "1.2.0" + "change-emitter": "^0.1.2", + "fbjs": "^0.8.1", + "hoist-non-react-statics": "^2.3.1", + "symbol-observable": "^1.0.4" } }, "redent": { @@ -7585,8 +7635,8 @@ "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", "dev": true, "requires": { - "indent-string": "3.2.0", - "strip-indent": "2.0.0" + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" }, "dependencies": { "indent-string": { @@ -7614,9 +7664,9 @@ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "regex-cache": { @@ -7625,18 +7675,24 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, "regexpu-core": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -7645,8 +7701,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.5", - "safe-buffer": "5.1.1" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -7655,7 +7711,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.5" + "rc": "^1.0.1" } }, "regjsgen": { @@ -7670,7 +7726,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -7705,7 +7761,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -7714,28 +7770,28 @@ "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "dev": true, "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -7756,17 +7812,17 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-from": { @@ -7781,8 +7837,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -7798,7 +7854,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -7807,7 +7863,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "rollup": { @@ -7817,25 +7873,25 @@ "dev": true }, "rollup-plugin-babel": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.3.tgz", - "integrity": "sha512-5kzM/Rr4jQSRPLc2eN5NuD+CI/6AAy7S1O18Ogu4U3nq1Q42VJn0C9EMtqnvxtfwf1XrezOtdA9ro1VZI5B0mA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.4.tgz", + "integrity": "sha512-TGhQbliTZnRoUhd2214K3r4KJUBu9J1DPzcrAnkluVXOVrveU9OvAaYQ16KyOmujAoq+LMC1+x6YF2xBrU7t+g==", "dev": true, "requires": { - "rollup-pluginutils": "1.5.2" + "rollup-pluginutils": "^1.5.0" } }, "rollup-plugin-commonjs": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.3.0.tgz", - "integrity": "sha512-PYs3OiYgENFYEmI3vOEm5nrp3eY90YZqd5vGmQqeXmhJsAWFIrFdROCvOasqJ1HgeTvqyYo9IGXnFDyoboNcgQ==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.4.1.tgz", + "integrity": "sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==", "dev": true, "requires": { - "acorn": "5.5.0", - "estree-walker": "0.5.1", - "magic-string": "0.22.4", - "resolve": "1.5.0", - "rollup-pluginutils": "2.0.1" + "acorn": "^5.2.1", + "estree-walker": "^0.5.0", + "magic-string": "^0.22.4", + "resolve": "^1.4.0", + "rollup-pluginutils": "^2.0.1" }, "dependencies": { "estree-walker": { @@ -7850,8 +7906,8 @@ "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", "dev": true, "requires": { - "estree-walker": "0.3.1", - "micromatch": "2.3.11" + "estree-walker": "^0.3.0", + "micromatch": "^2.3.11" }, "dependencies": { "estree-walker": { @@ -7870,11 +7926,11 @@ "integrity": "sha512-J5Ja0xgba4YqWthoui95TlLJLgcheh78vB0SXJTEyB2AfhspJEN6wFJHFzRStVYPtD0zIyg6A5H+2UhaX5bVcw==", "dev": true, "requires": { - "boxen": "1.3.0", - "colors": "1.1.2", - "deep-assign": "2.0.0", - "filesize": "3.5.11", - "gzip-size": "3.0.0" + "boxen": "^1.1.0", + "colors": "^1.1.2", + "deep-assign": "^2.0.0", + "filesize": "^3.5.6", + "gzip-size": "^3.0.0" }, "dependencies": { "colors": { @@ -7886,14 +7942,22 @@ } }, "rollup-plugin-node-resolve": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.3.tgz", - "integrity": "sha512-qJLXJ1aASV6p8SrEfRdQdHmb5OQmqXyIWIdVGcju8QFzftSsHcuL554Vy+n8mr0fZCC+ksO6aWJ7TAVl2F+Qwg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.3.0.tgz", + "integrity": "sha512-9zHGr3oUJq6G+X0oRMYlzid9fXicBdiydhwGChdyeNRGPcN/majtegApRKHLR5drboUvEWU+QeUmGTyEZQs3WA==", "dev": true, "requires": { - "builtin-modules": "1.1.1", - "is-module": "1.0.0", - "resolve": "1.5.0" + "builtin-modules": "^2.0.0", + "is-module": "^1.0.0", + "resolve": "^1.1.6" + }, + "dependencies": { + "builtin-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", + "integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", + "dev": true + } } }, "rollup-pluginutils": { @@ -7902,8 +7966,8 @@ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", "dev": true, "requires": { - "estree-walker": "0.2.1", - "minimatch": "3.0.4" + "estree-walker": "^0.2.1", + "minimatch": "^3.0.2" } }, "rst-selector-parser": { @@ -7912,8 +7976,8 @@ "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", "dev": true, "requires": { - "lodash.flattendeep": "4.4.0", - "nearley": "2.11.0" + "lodash.flattendeep": "^4.4.0", + "nearley": "^2.7.10" } }, "run-async": { @@ -7922,7 +7986,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -7937,7 +8001,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "rxjs": { @@ -7946,7 +8010,7 @@ "integrity": "sha512-fSNi+y+P9ss+EZuV0GcIIqPUK07DEaMRUtLJvdcvMyFjc9dizuDjere+A4V7JrLGnm9iCc+nagV/4QdMTkqC4A==", "dev": true, "requires": { - "symbol-observable": "1.2.0" + "symbol-observable": "^1.0.1" } }, "safe-buffer": { @@ -7961,14 +8025,14 @@ "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", "dev": true, "requires": { - "anymatch": "1.3.2", - "exec-sh": "0.2.1", - "fb-watchman": "2.0.0", - "fsevents": "1.1.3", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.18.0" + "anymatch": "^1.3.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^2.0.0", + "fsevents": "^1.1.1", + "minimatch": "^3.0.2", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.18.0" }, "dependencies": { "minimist": { @@ -7991,7 +8055,7 @@ "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "dev": true, "requires": { - "rafl": "1.2.2" + "rafl": "~1.2.1" } }, "semver": { @@ -8006,7 +8070,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.4.1" + "semver": "^5.0.3" } }, "set-blocking": { @@ -8033,7 +8097,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -8066,7 +8130,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, "sntp": { @@ -8075,7 +8139,7 @@ "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "source-map": { @@ -8090,7 +8154,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" } }, "spdx-correct": { @@ -8099,7 +8163,7 @@ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -8120,7 +8184,7 @@ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, "requires": { - "through": "2.3.8" + "through": "2" } }, "sprintf-js": { @@ -8135,14 +8199,14 @@ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "stifle": { @@ -8157,7 +8221,7 @@ "integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=", "dev": true, "requires": { - "any-observable": "0.2.0" + "any-observable": "^0.2.0" } }, "string-length": { @@ -8166,8 +8230,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "1.0.0", - "strip-ansi": "4.0.0" + "astral-regex": "^1.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -8182,7 +8246,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -8193,8 +8257,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" }, "dependencies": { "ansi-regex": { @@ -8209,7 +8273,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -8220,7 +8284,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -8235,7 +8299,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -8244,7 +8308,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -8277,8 +8341,8 @@ "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", "dev": true, "requires": { - "has-flag": "2.0.0", - "supports-color": "5.2.0" + "has-flag": "^2.0.0", + "supports-color": "^5.0.0" }, "dependencies": { "supports-color": { @@ -8287,7 +8351,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" }, "dependencies": { "has-flag": { @@ -8313,48 +8377,37 @@ "dev": true }, "table": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz", - "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "6.2.0", - "ajv-keywords": "3.1.0", - "chalk": "2.3.1", - "lodash": "4.17.4", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { - "ajv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.2.0.tgz", - "integrity": "sha1-r6wpW7qgFSRJ5SJ0LkVHwa6TKNI=", - "dev": true, - "requires": { - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -8364,12 +8417,12 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -8380,7 +8433,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "test-exclude": { @@ -8389,11 +8442,11 @@ "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "text-table": { @@ -8408,10 +8461,10 @@ "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", "dev": true, "requires": { - "brcast": "3.0.1", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "prop-types": "15.6.1" + "brcast": "^3.0.1", + "is-function": "^1.0.1", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.8" } }, "throat": { @@ -8438,7 +8491,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -8459,7 +8512,7 @@ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "dev": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tr46": { @@ -8486,7 +8539,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -8502,7 +8555,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "typedarray": { @@ -8512,9 +8565,9 @@ "dev": true }, "typescript": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.7.2.tgz", - "integrity": "sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.8.3.tgz", + "integrity": "sha512-K7g15Bb6Ra4lKf7Iq2l/I5/En+hLIHmxWZGq3D4DIRNFxMNV6j2SHSvDOqs2tGd4UvD/fJvrwopzQXjLrT7Itw==", "dev": true }, "ua-parser-js": { @@ -8529,9 +8582,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "yargs": { @@ -8541,9 +8594,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -8568,7 +8621,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "universalify": { @@ -8589,15 +8642,15 @@ "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.3.1", - "configstore": "3.1.1", - "import-lazy": "2.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -8606,7 +8659,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8615,9 +8668,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.0", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.2.0" } }, "has-flag": { @@ -8632,7 +8685,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -8643,7 +8696,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "user-home": { @@ -8670,7 +8723,7 @@ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "dev": true, "requires": { - "user-home": "1.1.1" + "user-home": "^1.1.1" } }, "validate-npm-package-license": { @@ -8679,8 +8732,8 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "verror": { @@ -8689,9 +8742,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vlq": { @@ -8706,7 +8759,7 @@ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "dev": true, "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "warning": { @@ -8715,7 +8768,7 @@ "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "dev": true, "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "watch": { @@ -8724,8 +8777,8 @@ "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "dev": true, "requires": { - "exec-sh": "0.2.1", - "minimist": "1.2.0" + "exec-sh": "^0.2.0", + "minimist": "^1.2.0" }, "dependencies": { "minimist": { @@ -8762,8 +8815,8 @@ "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "dev": true, "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" }, "dependencies": { "webidl-conversions": { @@ -8780,7 +8833,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -8795,7 +8848,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" } }, "window-size": { @@ -8817,8 +8870,8 @@ "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "dev": true, "requires": { - "errno": "0.1.6", - "xtend": "4.0.1" + "errno": "^0.1.4", + "xtend": "^4.0.1" } }, "wrap-ansi": { @@ -8827,8 +8880,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -8837,7 +8890,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -8846,9 +8899,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -8865,7 +8918,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -8874,9 +8927,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "xdg-basedir": { @@ -8915,19 +8968,19 @@ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" }, "dependencies": { "camelcase": { @@ -8942,9 +8995,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -8953,9 +9006,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -8966,7 +9019,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "load-json-file": { @@ -8975,10 +9028,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -8987,7 +9040,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -8996,9 +9049,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -9007,8 +9060,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "strip-bom": { @@ -9025,7 +9078,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { diff --git a/lib/package.json b/lib/package.json index 056cdf0d851072..0b9a9290d46dc9 100644 --- a/lib/package.json +++ b/lib/package.json @@ -45,8 +45,7 @@ }, "dependencies": { "babel-runtime": "^6.26.0", - "luxon": "^1.0.0", - "react-text-mask": "^5.1.0" + "react-text-mask": "^5.3.1" }, "scripts": { "test": "npm run test:moment && npm run test:date-fns && npm run test:luxon", @@ -72,20 +71,20 @@ }, "devDependencies": { "@types/classnames": "^2.2.3", - "@types/jest": "^22.2.2", - "@types/jss": "^9.3.0", - "@types/luxon": "^0.5.0", + "@types/jest": "^22.2.3", + "@types/jss": "^9.5.2", + "@types/luxon": "^0.5.2", "@types/moment": "^2.13.0", "@types/prop-types": "^15.5.2", - "@types/react": "^16.0.39", + "@types/react": "^16.3.13", "babel-cli": "^6.24.1", - "babel-core": "^6.24.1", - "babel-eslint": "^8.2.2", + "babel-core": "^6.26.2", + "babel-eslint": "^8.2.3", "babel-helpers": "^6.24.1", "babel-jest": "^21.2.0", "babel-plugin-external-helpers": "^6.22.0", "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", "babel-plugin-transform-object-rest-spread": "^6.23.0", "babel-plugin-transform-react-jsx": "^6.24.1", "babel-plugin-transform-runtime": "^6.23.0", @@ -93,31 +92,31 @@ "babel-preset-es2015": "^6.24.1", "babel-preset-latest": "^6.24.1", "classnames": "^2.2.5", - "cross-env": "^5.1.0", + "cross-env": "^5.1.4", "date-fns": "^2.0.0-alpha.7", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.0", - "eslint": "^4.18.1", + "eslint": "^4.19.1", "eslint-config-airbnb": "^16.0.0", - "eslint-plugin-import": "^2.9.0", + "eslint-plugin-import": "^2.11.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-react": "^7.7.0", "fs-extra": "^4.0.2", "full-icu": "^1.2.1", "glob": "^7.1.2", "jest": "^21.2.1", - "material-ui": "^1.0.0-beta.35", - "moment": "^2.19.2", + "material-ui": "^1.0.0-beta.43", + "moment": "^2.22.1", "np": "^2.20.1", "prop-types": "^15.6.1", - "react": "^16.2.0", - "react-dom": "^16.2.0", + "react": "^16.3.2", + "react-dom": "^16.3.2", "rollup": "^0.51.8", - "rollup-plugin-babel": "^3.0.2", - "rollup-plugin-commonjs": "^8.3.0", + "rollup-plugin-babel": "^3.0.4", + "rollup-plugin-commonjs": "^8.4.1", "rollup-plugin-filesize": "^1.5.0", - "rollup-plugin-node-resolve": "^3.0.3", - "typescript": "^2.7.2" + "rollup-plugin-node-resolve": "^3.3.0", + "typescript": "^2.8.3" }, "jest": { "setupTestFrameworkScriptFile": "/__tests__/setup.js", From 5be65f07a3af11d63e6222fd06049dcedb258385 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Apr 2018 12:31:01 +0300 Subject: [PATCH 0555/1801] Fix not includding of boundary years in getYearRange --- docs/src/App.js | 8 ++++---- docs/src/Examples/Demo/BasicDatePicker.jsx | 3 ++- lib/src/utils/moment-utils.js | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index d607d266374339..6563f72e8f4fcb 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; -import Utils from 'material-ui-pickers/utils/date-fns-utils'; +import Utils from 'material-ui-pickers/utils/moment-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; import { create } from 'jss'; @@ -17,10 +17,10 @@ import Layout from './layout/Layout'; import Routes from './Routes/Routes'; /* eslint-disable import/first */ -// import moment from 'moment'; -// import 'moment/locale/fr'; +import moment from 'moment'; +import 'moment/locale/fr'; -// moment.locale('fr'); +moment.locale('fr'); const jss = create({ plugins: [...preset().plugins, rtl()] }); jss.options.createGenerateClassName = createGenerateClassName; diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 642f53e32de34b..4d9a14d53f01fb 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -28,9 +28,10 @@ export default class BasicDatePicker extends PureComponent { diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index bc98d46f469de9..8347660f6aba93 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -144,8 +144,8 @@ export default class MomentUtils { } getYearRange(start, end) { - const startDate = this.moment(start); - const endDate = this.moment(end); + const startDate = this.moment(start).startOf('year'); + const endDate = this.moment(end).endOf('year'); const years = []; let current = startDate; From 769632c8bbd0d446413230ceb9fe0ee004c75f47 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Apr 2018 12:44:23 +0300 Subject: [PATCH 0556/1801] Remove moment from peer lib in the docs --- docs/src/App.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/src/App.js b/docs/src/App.js index 6563f72e8f4fcb..34fc5a2179fe09 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import { MuiThemeProvider, createMuiTheme } from 'material-ui'; -import Utils from 'material-ui-pickers/utils/moment-utils'; +import Utils from 'material-ui-pickers/utils/date-fns-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; import { create } from 'jss'; @@ -16,11 +16,11 @@ import { setPrismTheme } from './utils/prism'; import Layout from './layout/Layout'; import Routes from './Routes/Routes'; -/* eslint-disable import/first */ -import moment from 'moment'; -import 'moment/locale/fr'; +// /* eslint-disable import/first */ +// import moment from 'moment'; +// import 'moment/locale/fr'; -moment.locale('fr'); +// moment.locale('fr'); const jss = create({ plugins: [...preset().plugins, rtl()] }); jss.options.createGenerateClassName = createGenerateClassName; From 2e430933d09b840c5e69a80da78d83c671828eb3 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Apr 2018 12:45:45 +0300 Subject: [PATCH 0557/1801] Add dev dependency for luxon in lib --- lib/package-lock.json | 5 +++++ lib/package.json | 1 + 2 files changed, 6 insertions(+) diff --git a/lib/package-lock.json b/lib/package-lock.json index 64d25d0e640f84..ede7f108d75904 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -6235,6 +6235,11 @@ "yallist": "^2.1.2" } }, + "luxon": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.2.0.tgz", + "integrity": "sha512-OFqqtLlSo7OpjFuTCJf+LYtyX1xTc5tp0X3f1ynLafjAM2qjaO6LVe0EkdfdoH1hSeS+Jo9FeAs244MEZ7dcww==" + }, "magic-string": { "version": "0.22.5", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", diff --git a/lib/package.json b/lib/package.json index 0b9a9290d46dc9..8dfd2afafe5160 100644 --- a/lib/package.json +++ b/lib/package.json @@ -45,6 +45,7 @@ }, "dependencies": { "babel-runtime": "^6.26.0", + "luxon": "^1.2.0", "react-text-mask": "^5.3.1" }, "scripts": { From 46a88629a04b293131b8e457513e7c8d0fec56e6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Apr 2018 12:46:26 +0300 Subject: [PATCH 0558/1801] Remove testing properties --- docs/src/Examples/Demo/BasicDatePicker.jsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 4d9a14d53f01fb..642f53e32de34b 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -28,10 +28,9 @@ export default class BasicDatePicker extends PureComponent { From b58095f96d526c8fa586125a1149922df6c30a0a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 27 Apr 2018 14:55:35 +0300 Subject: [PATCH 0559/1801] Move luxon to peer dependencies --- lib/package-lock.json | 3 ++- lib/package.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/package-lock.json b/lib/package-lock.json index ede7f108d75904..103336acd8075f 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -6238,7 +6238,8 @@ "luxon": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.2.0.tgz", - "integrity": "sha512-OFqqtLlSo7OpjFuTCJf+LYtyX1xTc5tp0X3f1ynLafjAM2qjaO6LVe0EkdfdoH1hSeS+Jo9FeAs244MEZ7dcww==" + "integrity": "sha512-OFqqtLlSo7OpjFuTCJf+LYtyX1xTc5tp0X3f1ynLafjAM2qjaO6LVe0EkdfdoH1hSeS+Jo9FeAs244MEZ7dcww==", + "dev": true }, "magic-string": { "version": "0.22.5", diff --git a/lib/package.json b/lib/package.json index 8dfd2afafe5160..c5b9f748178c1b 100644 --- a/lib/package.json +++ b/lib/package.json @@ -45,7 +45,6 @@ }, "dependencies": { "babel-runtime": "^6.26.0", - "luxon": "^1.2.0", "react-text-mask": "^5.3.1" }, "scripts": { @@ -106,6 +105,7 @@ "full-icu": "^1.2.1", "glob": "^7.1.2", "jest": "^21.2.1", + "luxon": "^1.2.0", "material-ui": "^1.0.0-beta.43", "moment": "^2.22.1", "np": "^2.20.1", From 014e4ccdcdf74aa2e70989f41c04143bc3e012f2 Mon Sep 17 00:00:00 2001 From: Andrew Cherniavskii Date: Fri, 27 Apr 2018 15:46:18 +0300 Subject: [PATCH 0560/1801] Update PULL_REQUEST_TEMPLATE.md Use `closes` keyword, which will link PR with issue and close it as soon as code will be merged to master branch --- PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index 166cf59cc1c748..08e5d8d6af9c7c 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -4,6 +4,6 @@ - [ ] I have changed my target branch to **develop** :facepunch: -### Issue # +### Closes # ## Description From 970e4347836ec9e4698fd0b63679c530f1e970de Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 1 May 2018 16:23:32 +0300 Subject: [PATCH 0561/1801] Update version --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index c5b9f748178c1b..e3067d2dcfb60d 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.6", + "version": "1.0.0-rc.7", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From f2ed40aac85f8e69bb44e4f21c12ced40d1b11a5 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 4 May 2018 14:36:20 +0300 Subject: [PATCH 0562/1801] [#383] Migrate to React v16.3.0 context api --- lib/package.json | 4 ++-- lib/src/_shared/WithUtils.jsx | 18 ++++++------------ lib/src/utils/MuiPickersUtilsProvider.jsx | 21 ++++++++------------- 3 files changed, 16 insertions(+), 27 deletions(-) diff --git a/lib/package.json b/lib/package.json index e3067d2dcfb60d..6f4ccef5570f0b 100644 --- a/lib/package.json +++ b/lib/package.json @@ -35,8 +35,8 @@ "classnames": "^2.2.5", "material-ui": "^1.0.0-beta.33", "prop-types": "^15.6.0", - "react": "^16.2.0", - "react-dom": "^16.2.0" + "react": "^16.3.0", + "react-dom": "^16.3.0" }, "externalDependencies": { "moment": "^2.19.2", diff --git a/lib/src/_shared/WithUtils.jsx b/lib/src/_shared/WithUtils.jsx index 2d2952e3152039..696544e935a0c8 100644 --- a/lib/src/_shared/WithUtils.jsx +++ b/lib/src/_shared/WithUtils.jsx @@ -1,22 +1,16 @@ import React from 'react'; import PropTypes from 'prop-types'; +import { MuiPickersContextConsumer } from '../utils/MuiPickersUtilsProvider'; const withUtils = () => (Component) => { - const WithUtils = ({ pickerRef, ...other }, context) => { - if (!context.muiPickersDateUtils) { - // eslint-disable-next-line no-console - console.error('Utils should be provided'); - } - - return ; - }; + const WithUtils = ({ pickerRef, ...other }) => ( + + {utils => } + + ); WithUtils.displayName = `WithUtils(${Component.displayName || Component.name})`; - WithUtils.contextTypes = { - muiPickersDateUtils: PropTypes.object, - }; - WithUtils.propTypes = { pickerRef: PropTypes.func, }; diff --git a/lib/src/utils/MuiPickersUtilsProvider.jsx b/lib/src/utils/MuiPickersUtilsProvider.jsx index b65140bf9d3dc2..0ae147474e247b 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.jsx +++ b/lib/src/utils/MuiPickersUtilsProvider.jsx @@ -1,7 +1,10 @@ -import { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -export default class MuiPickersUtilsProvider extends Component { +const { Consumer, Provider } = React.createContext(); +export const MuiPickersContextConsumer = Consumer; + +export default class MuiPickersUtilsProvider extends PureComponent { static propTypes = { utils: PropTypes.func.isRequired, locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), @@ -14,18 +17,10 @@ export default class MuiPickersUtilsProvider extends Component { moment: undefined, } - static childContextTypes = { - muiPickersDateUtils: PropTypes.object, - } - - getChildContext() { + render() { const { utils: Utils, locale, moment } = this.props; - return { - muiPickersDateUtils: new Utils({ locale, moment }), - }; - } + const utils = new Utils({ locale, moment }); - render() { - return this.props.children; + return {this.props.children} ; } } From db1daf8733068dba96e97fecc256895ffd11b1c6 Mon Sep 17 00:00:00 2001 From: Jonathan Brito Date: Mon, 7 May 2018 13:52:48 -0400 Subject: [PATCH 0563/1801] Disable InputAdornment - add tests --- lib/__tests__/_shared/DateTextField.test.js | 16 ++++++++++++++++ lib/src/_shared/DateTextField.jsx | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/__tests__/_shared/DateTextField.test.js b/lib/__tests__/_shared/DateTextField.test.js index 1ebc45dc9dda6a..e35a58cc9f9f9d 100644 --- a/lib/__tests__/_shared/DateTextField.test.js +++ b/lib/__tests__/_shared/DateTextField.test.js @@ -14,6 +14,22 @@ describe('DateTextField', () => { // console.log(component.debug()); expect(component).toBeTruthy(); }); + + it('Should disable the TextField when disabled is true', () => { + component.setProps({ disabled: true }); + expect(component.find('TextField').props().disabled).toBe(true); + }); + + it('Should disable the InputAdornment and TextField when disabled and keyboard are true', () => { + component.setProps({ keyboard: true, disabled: true }); + + expect(component.find('TextField').props().disabled).toBe(true); + expect(component.dive() + .find('WithStyles(Input)') + .dive().dive() + .find('WithStyles(InputAdornment)') + .props().disabled).toBe(true); + }); }); describe('DateTextField with custom TextField', () => { diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index c8ff2eea944adc..fd1589d4cf240b 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -283,7 +283,7 @@ export class DateTextField extends PureComponent { if (keyboard) { localInputProps[`${adornmentPosition}Adornment`] = ( - + {keyboardIcon} ); From e01e2cf8ae2ac6bafe83c3fe9fdfa8d867c37fcd Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 10 May 2018 16:35:08 +0300 Subject: [PATCH 0564/1801] Disable touch events on clock mask --- lib/src/TimePicker/Clock.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index dfe894091c7322..2fb58218635675 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -140,6 +140,7 @@ const styles = theme => ({ position: 'absolute', pointerEvents: 'auto', outline: 'none', + touchActions: 'none', }, pin: { width: 6, From b0172fe1ec9571d1cb82b59d42b4389a8b424214 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 10 May 2018 16:51:20 +0300 Subject: [PATCH 0565/1801] Make utils class typing as generic class --- lib/src/DatePicker/Calendar.d.ts | 16 ++--- lib/src/DatePicker/CalendarHeader.d.ts | 2 +- lib/src/DatePicker/DatePicker.d.ts | 2 +- lib/src/DatePicker/DatePickerWrapper.d.ts | 2 +- lib/src/DatePicker/YearSelection.d.ts | 2 +- lib/src/DateTimePicker/DateTimePicker.d.ts | 2 +- .../DateTimePicker/DateTimePickerHeader.d.ts | 2 +- .../DateTimePicker/DateTimePickerWrapper.d.ts | 2 +- lib/src/TimePicker/HourView.d.ts | 2 +- lib/src/TimePicker/MinutesView.d.ts | 2 +- lib/src/TimePicker/TimePicker.d.ts | 2 +- lib/src/TimePicker/TimePickerWrapper.d.ts | 3 +- lib/src/typings/utils.d.ts | 72 +++++++++---------- lib/src/utils/MuiPickersUtilsProvider.d.ts | 6 +- lib/src/utils/date-fns-utils.d.ts | 51 +------------ lib/src/utils/luxon-utils.d.ts | 55 +------------- lib/src/utils/moment-utils.d.ts | 51 +------------ 17 files changed, 63 insertions(+), 211 deletions(-) diff --git a/lib/src/DatePicker/Calendar.d.ts b/lib/src/DatePicker/Calendar.d.ts index 0a6ec90833005d..75cd09f5b8a5f5 100644 --- a/lib/src/DatePicker/Calendar.d.ts +++ b/lib/src/DatePicker/Calendar.d.ts @@ -6,14 +6,12 @@ import { MaterialUiPickersDate } from '../typings/date' export type DayComponent = ReactElement; -export type RenderDay = - ( - day: MaterialUiPickersDate, - selectedDate: MaterialUiPickersDate, - dayInCurrentMonth: boolean, - dayComponent: DayComponent, - ) => ReactNode; - +export type RenderDay = ( + day: MaterialUiPickersDate, + selectedDate: MaterialUiPickersDate, + dayInCurrentMonth: boolean, + dayComponent: DayComponent, +) => ReactNode; export interface CalendarProps { date: MaterialUiPickersDate; @@ -25,7 +23,7 @@ export interface CalendarProps { leftArrowIcon?: ReactNode; rightArrowIcon?: ReactNode; renderDay?: RenderDay; - utils?: Utils; + utils?: Utils; shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } diff --git a/lib/src/DatePicker/CalendarHeader.d.ts b/lib/src/DatePicker/CalendarHeader.d.ts index 441964cf66504b..6ae50f52452ecd 100644 --- a/lib/src/DatePicker/CalendarHeader.d.ts +++ b/lib/src/DatePicker/CalendarHeader.d.ts @@ -9,7 +9,7 @@ export interface CalendarHeaderProps { rightArrowIcon?: ReactNode; disablePrevMonth?: boolean; disableNextMonth?: boolean; - utils?: Utils; + utils?: Utils; } declare const CalendarHeader: ComponentClass; diff --git a/lib/src/DatePicker/DatePicker.d.ts b/lib/src/DatePicker/DatePicker.d.ts index 94a51e947cd8bc..65cb4cd185739c 100644 --- a/lib/src/DatePicker/DatePicker.d.ts +++ b/lib/src/DatePicker/DatePicker.d.ts @@ -16,7 +16,7 @@ export interface DatePickerProps { leftArrowIcon?: ReactNode; rightArrowIcon?: ReactNode; renderDay?: RenderDay; - utils?: Utils; + utils?: Utils; shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } diff --git a/lib/src/DatePicker/DatePickerWrapper.d.ts b/lib/src/DatePicker/DatePickerWrapper.d.ts index 553910be7b1475..05dfaa1e48aa15 100644 --- a/lib/src/DatePicker/DatePickerWrapper.d.ts +++ b/lib/src/DatePicker/DatePickerWrapper.d.ts @@ -18,7 +18,7 @@ export interface DatePickerWrapperProps extends PickerBaseProps, leftArrowIcon?: ReactNode; rightArrowIcon?: ReactNode; renderDay?: RenderDay; - utils?: Utils; + utils?: Utils; shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } diff --git a/lib/src/DatePicker/YearSelection.d.ts b/lib/src/DatePicker/YearSelection.d.ts index 8f7fe2977984a8..8becf8210f7b1b 100644 --- a/lib/src/DatePicker/YearSelection.d.ts +++ b/lib/src/DatePicker/YearSelection.d.ts @@ -11,7 +11,7 @@ export interface YearSelectionProps { disablePast?: boolean; disableFuture?: boolean; animateYearScrolling?: boolean; - utils?: Utils; + utils?: Utils; } declare const YearSelection: ComponentClass; diff --git a/lib/src/DateTimePicker/DateTimePicker.d.ts b/lib/src/DateTimePicker/DateTimePicker.d.ts index 62fd46ec29a1c3..f3bd477447ad88 100644 --- a/lib/src/DateTimePicker/DateTimePicker.d.ts +++ b/lib/src/DateTimePicker/DateTimePicker.d.ts @@ -22,7 +22,7 @@ export interface DateTimePickerProps { dateRangeIcon?: ReactNode; timeIcon?: ReactNode; renderDay?: RenderDay; - utils?: Utils; + utils?: Utils; shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.d.ts b/lib/src/DateTimePicker/DateTimePickerHeader.d.ts index 86488e63201f81..dfb2f16d076135 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.d.ts +++ b/lib/src/DateTimePicker/DateTimePickerHeader.d.ts @@ -12,7 +12,7 @@ export interface DateTimePickerHeaderProps { onOpenViewChange: (view: DateTimePickerView) => void; setMeridiemMode: (mode: MeridiemMode) => void; ampm?: boolean; - utils?: Utils; + utils?: Utils; } declare const DateTimePickerHeader: ComponentClass; diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts b/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts index 61a2a0c164fc1d..ecc86debe6c5a4 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts @@ -23,7 +23,7 @@ export interface DateTimePickerWrapperProps extends PickerBaseProps, dateRangeIcon?: ReactNode; timeIcon?: ReactNode; renderDay?: RenderDay; - utils?: Utils; + utils?: Utils; shouldDisableDate?: (day: MaterialUiPickersDate) => boolean; } diff --git a/lib/src/TimePicker/HourView.d.ts b/lib/src/TimePicker/HourView.d.ts index ec48d02e0cd97a..a6b88e5301507b 100644 --- a/lib/src/TimePicker/HourView.d.ts +++ b/lib/src/TimePicker/HourView.d.ts @@ -6,7 +6,7 @@ export interface HourViewProps { date: MaterialUiPickersDate; onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; ampm?: boolean; - utils?: Utils; + utils?: Utils; } declare const HourView: ComponentClass; diff --git a/lib/src/TimePicker/MinutesView.d.ts b/lib/src/TimePicker/MinutesView.d.ts index aa0b3a27cce5e1..3c2e8464305597 100644 --- a/lib/src/TimePicker/MinutesView.d.ts +++ b/lib/src/TimePicker/MinutesView.d.ts @@ -5,7 +5,7 @@ import { MaterialUiPickersDate } from '../typings/date' export interface MinutesViewProps { date: MaterialUiPickersDate; onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; - utils?: Utils; + utils?: Utils; } declare const MinutesView: ComponentClass; diff --git a/lib/src/TimePicker/TimePicker.d.ts b/lib/src/TimePicker/TimePicker.d.ts index 70e63c5c2df5f2..7015ce8f7be449 100644 --- a/lib/src/TimePicker/TimePicker.d.ts +++ b/lib/src/TimePicker/TimePicker.d.ts @@ -6,7 +6,7 @@ export interface TimePickerProps { date: MaterialUiPickersDate; onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; ampm?: boolean; - utils?: Utils; + utils?: Utils; } declare const TimePicker: ComponentClass; diff --git a/lib/src/TimePicker/TimePickerWrapper.d.ts b/lib/src/TimePicker/TimePickerWrapper.d.ts index ed16189afd7892..9b0565ca9969c7 100644 --- a/lib/src/TimePicker/TimePickerWrapper.d.ts +++ b/lib/src/TimePicker/TimePickerWrapper.d.ts @@ -3,10 +3,11 @@ import { Utils } from '../typings/utils'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { PickerBaseProps } from '../_shared/PickerBase' import { Omit } from 'material-ui' +import { MaterialUiPickersDate } from '../typings/date'; export interface TimePickerWrapperProps extends PickerBaseProps, Omit { - utils?: Utils; + utils?: Utils; } declare const TimePickerWrapper: ComponentClass; diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 9389bbd126bdb2..82284900262288 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -1,52 +1,50 @@ -import { MaterialUiPickersDate } from './date' - -export class Utils { +export class Utils { locale: any; constructor (options?: { locale: any, moment: any }); - date(value: any): MaterialUiPickersDate; - addDays(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; - isValid(value: MaterialUiPickersDate): boolean; - isEqual(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isSameDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean + date(value: any): TDate; + addDays(value: TDate, count: number): TDate; + isValid(value: TDate): boolean; + isEqual(value: TDate, comparing: TDate): boolean; + isSameDay(value: TDate, comparing: TDate): boolean - isAfter(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isAfterDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isAfterYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isAfter(value: TDate, comparing: TDate): boolean; + isAfterDay(value: TDate, comparing: TDate): boolean; + isAfterYear(value: TDate, comparing: TDate): boolean; - isBeforeDay(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isBeforeYear(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; - isBefore(value: MaterialUiPickersDate, comparing: MaterialUiPickersDate): boolean; + isBeforeDay(value: TDate, comparing: TDate): boolean; + isBeforeYear(value: TDate, comparing: TDate): boolean; + isBefore(value: TDate, comparing: TDate): boolean; - startOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; - endOfDay(value: MaterialUiPickersDate): MaterialUiPickersDate; + startOfDay(value: TDate): TDate; + endOfDay(value: TDate): TDate; - format(value: MaterialUiPickersDate, formatString: string): string; + format(value: TDate, formatString: string): string; formatNumber(number: number): string; - getHours(value: MaterialUiPickersDate): number; - setHours(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; - getMinutes(value: MaterialUiPickersDate): number; - setMinutes(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate - getMonth(value: MaterialUiPickersDate): number; - getYear(value: MaterialUiPickersDate): number; - setYear(value: MaterialUiPickersDate, count: number): MaterialUiPickersDate; - - getStartOfMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; - getNextMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; - getPreviousMonth(value: MaterialUiPickersDate): MaterialUiPickersDate; + getHours(value: TDate): number; + setHours(value: TDate, count: number): TDate; + getMinutes(value: TDate): number; + setMinutes(value: TDate, count: number): TDate + getMonth(value: TDate): number; + getYear(value: TDate): number; + setYear(value: TDate, count: number): TDate; + + getStartOfMonth(value: TDate): TDate; + getNextMonth(value: TDate): TDate; + getPreviousMonth(value: TDate): TDate; getWeekdays(): string[]; - getWeekArray(date: MaterialUiPickersDate): MaterialUiPickersDate[]; - getYearRange(start: MaterialUiPickersDate, end: MaterialUiPickersDate): MaterialUiPickersDate[]; + getWeekArray(date: TDate): TDate[]; + getYearRange(start: TDate, end: TDate): TDate[]; // displaying methods getMeridiemText(ampm: 'am' | 'pm'): string; - getCalendarHeaderText(date: MaterialUiPickersDate): string; - getDatePickerHeaderText(date: MaterialUiPickersDate): string; - getDateTimePickerHeaderText(date: MaterialUiPickersDate): string; - getDayText(date: MaterialUiPickersDate): string; - getHourText(date: MaterialUiPickersDate, ampm: boolean): string; - getMinuteText(date: MaterialUiPickersDate): string; - getYearText(date: MaterialUiPickersDate): string; + getCalendarHeaderText(date: TDate): string; + getDatePickerHeaderText(date: TDate): string; + getDateTimePickerHeaderText(date: TDate): string; + getDayText(date: TDate): string; + getHourText(date: TDate, ampm: boolean): string; + getMinuteText(date: TDate): string; + getYearText(date: TDate): string; } \ No newline at end of file diff --git a/lib/src/utils/MuiPickersUtilsProvider.d.ts b/lib/src/utils/MuiPickersUtilsProvider.d.ts index fa40838fe0a4fe..61472aeea8aecc 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.d.ts +++ b/lib/src/utils/MuiPickersUtilsProvider.d.ts @@ -1,10 +1,12 @@ import { ComponentClass, ReactNode } from 'react'; import { DateTimePickerView } from '../constants/date-picker-view'; -import { Utils } from '../typings/utils'; import DateFnsUtils from './date-fns-utils'; +import { MaterialUiPickersDate } from '../typings/date'; +import MomentUtils from './moment-utils'; +import LuxonUtils from './luxon-utils'; export interface MuiPickersUtilsProviderProps { - utils: typeof Utils; + utils: typeof MomentUtils | typeof DateFnsUtils | typeof LuxonUtils; children: ReactNode; locale?: any; moment?: any; diff --git a/lib/src/utils/date-fns-utils.d.ts b/lib/src/utils/date-fns-utils.d.ts index fa3902d44f3365..09a7b2ab2ffb3e 100644 --- a/lib/src/utils/date-fns-utils.d.ts +++ b/lib/src/utils/date-fns-utils.d.ts @@ -1,54 +1,5 @@ import { Utils } from '../typings/utils' -declare class DateFnsUtils extends Utils { - locale: any; - constructor (options?: { locale: any }); - - date(value: any): Date; - addDays(value: Date, count: number): Date; - isValid(value: Date): boolean; - isEqual(value: Date, comparing: Date): boolean; - isSameDay(value: Date, comparing: Date): boolean - - isAfter(value: Date, comparing: Date): boolean; - isAfterDay(value: Date, comparing: Date): boolean; - isAfterYear(value: Date, comparing: Date): boolean; - - isBeforeDay(value: Date, comparing: Date): boolean; - isBeforeYear(value: Date, comparing: Date): boolean; - isBefore(value: Date, comparing: Date): boolean; - - startOfDay(value: Date): Date; - endOfDay(value: Date): Date; - - format(value: Date, formatString: string): string; - formatNumber(number: number): string; - - getHours(value: Date): number; - setHours(value: Date, count: number): Date; - getMinutes(value: Date): number; - setMinutes(value: Date, count: number): Date - getMonth(value: Date): number; - getYear(value: Date): number; - setYear(value: Date, count: number): Date; - - getStartOfMonth(value: Date): Date; - getNextMonth(value: Date): Date; - getPreviousMonth(value: Date): Date; - - getWeekdays(): string[]; - getWeekArray(): Date[]; - getYearRange(): Date[]; - - // displaying methods - getMeridiemText(ampm: 'am' | 'pm'): string; - getCalendarHeaderText(date: Date): string; - getDatePickerHeaderText(date: Date): string; - getDateTimePickerHeaderText(date: Date): string; - getDayText(date: Date): string; - getHourText(date: Date, ampm: boolean): string; - getMinuteText(date: Date): string; - getYearText(date: Date): string; -} +declare class DateFnsUtils extends Utils { } export default DateFnsUtils \ No newline at end of file diff --git a/lib/src/utils/luxon-utils.d.ts b/lib/src/utils/luxon-utils.d.ts index c793a7c9254ba1..7abb9fa7421b62 100644 --- a/lib/src/utils/luxon-utils.d.ts +++ b/lib/src/utils/luxon-utils.d.ts @@ -1,55 +1,6 @@ -import { DateTime } from 'luxon'; import { Utils } from '../typings/utils' +import { DateTime } from 'luxon'; -declare class LuxonUtils extends Utils { - locale: any; - constructor (options?: { locale: any }); - - date(value: DateTime | Date | string): DateTime; - addDays(value: DateTime, count: number): DateTime; - isValid(value: DateTime): boolean; - isEqual(value: DateTime, comparing: DateTime): boolean; - isSameDay(value: DateTime, comparing: DateTime): boolean - - isAfter(value: DateTime, comparing: DateTime): boolean; - isAfterDay(value: DateTime, comparing: DateTime): boolean; - isAfterYear(value: DateTime, comparing: DateTime): boolean; - - isBeforeDay(value: DateTime, comparing: DateTime): boolean; - isBeforeYear(value: DateTime, comparing: DateTime): boolean; - isBefore(value: DateTime, comparing: DateTime): boolean; - - startOfDay(value: DateTime): DateTime; - endOfDay(value: DateTime): DateTime; - - format(value: DateTime, formatString: string): string; - formatNumber(number: number): string; - - getHours(value: DateTime): number; - setHours(value: DateTime, count: number): DateTime; - getMinutes(value: DateTime): number; - setMinutes(value: DateTime, count: number): DateTime - getMonth(value: DateTime): number; - getYear(value: DateTime): number; - setYear(value: DateTime, year: number): DateTime; - - getStartOfMonth(value: DateTime): DateTime; - getNextMonth(value: DateTime): DateTime; - getPreviousMonth(value: DateTime): DateTime; - - getWeekdays(): string[]; - getWeekArray(date: DateTime): DateTime[]; - getYearRange(start: DateTime | string, end: DateTime | string): DateTime[]; - - // displaying methods - getMeridiemText(ampm: 'am' | 'pm'): string; - getCalendarHeaderText(date: DateTime): string; - getDatePickerHeaderText(date: DateTime): string; - getDateTimePickerHeaderText(date: DateTime): string; - getDayText(date: DateTime): string; - getHourText(date: DateTime, ampm: boolean): string; - getMinuteText(date: DateTime): string; - getYearText(date: DateTime): string; -} +declare class LuxonUtils extends Utils { } -export default LuxonUtils; +export default LuxonUtils \ No newline at end of file diff --git a/lib/src/utils/moment-utils.d.ts b/lib/src/utils/moment-utils.d.ts index 2c92c290b861b8..d4dbd6a1559131 100644 --- a/lib/src/utils/moment-utils.d.ts +++ b/lib/src/utils/moment-utils.d.ts @@ -1,55 +1,6 @@ import { Utils } from '../typings/utils' import { Moment } from 'moment' -declare class MomentUtils extends Utils { - locale: any; - constructor (options?: { locale: string, moment: Moment}); - - date(value: any): Moment; - addDays(value: Moment, count: number): Moment; - isValid(value: Moment): boolean; - isEqual(value: Moment, comparing: Moment): boolean; - isSameDay(value: Moment, comparing: Moment): boolean - - isAfter(value: Moment, comparing: Moment): boolean; - isAfterDay(value: Moment, comparing: Moment): boolean; - isAfterYear(value: Moment, comparing: Moment): boolean; - - isBeforeDay(value: Moment, comparing: Moment): boolean; - isBeforeYear(value: Moment, comparing: Moment): boolean; - isBefore(value: Moment, comparing: Moment): boolean; - - startOfDay(value: Moment): Moment; - endOfDay(value: Moment): Moment; - - format(value: Moment, formatString: string): string; - formatNumber(number: number): string; - - getHours(value: Moment): number; - setHours(value: Moment, count: number): Moment; - getMinutes(value: Moment): number; - setMinutes(value: Moment, count: number): Moment - getMonth(value: Moment): number; - getYear(value: Moment): number; - setYear(value: Moment, count: number): Moment; - - getStartOfMonth(value: Moment): Moment; - getNextMonth(value: Moment): Moment; - getPreviousMonth(value: Moment): Moment; - - getWeekdays(): string[]; - getWeekArray(): Moment[]; - getYearRange(): Moment[]; - - // displaying methods - getMeridiemText(ampm: 'am' | 'pm'): string; - getCalendarHeaderText(Moment: Moment): string; - getMomentPickerHeaderText(Moment: Moment): string; - getMomentTimePickerHeaderText(Moment: Moment): string; - getDayText(Moment: Moment): string; - getHourText(Moment: Moment, ampm: boolean): string; - getMinuteText(Moment: Moment): string; - getYearText(Moment: Moment): string; -} +declare class MomentUtils extends Utils { } export default MomentUtils \ No newline at end of file From a2a8d2cece71823261e264ffa539d6fadeae33c6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 10 May 2018 16:54:19 +0300 Subject: [PATCH 0566/1801] [#381] Add missing typeing for isNull and parse methods --- lib/src/typings/utils.d.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 82284900262288..1560fb709b0037 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -3,7 +3,9 @@ export class Utils { constructor (options?: { locale: any, moment: any }); date(value: any): TDate; - addDays(value: TDate, count: number): TDate; + parse(value: string): TDate | null; + + isNull(value: TDate): boolean; isValid(value: TDate): boolean; isEqual(value: TDate, comparing: TDate): boolean; isSameDay(value: TDate, comparing: TDate): boolean @@ -16,6 +18,7 @@ export class Utils { isBeforeYear(value: TDate, comparing: TDate): boolean; isBefore(value: TDate, comparing: TDate): boolean; + addDays(value: TDate, count: number): TDate; startOfDay(value: TDate): TDate; endOfDay(value: TDate): TDate; From 2479057999bf6be7bac713878b372035c7cebd1b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Fri, 11 May 2018 13:41:49 +0300 Subject: [PATCH 0567/1801] Change postinstall prompt message. Also fix global color changing for any other console output. --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index e3067d2dcfb60d..63fcf3e544c742 100644 --- a/lib/package.json +++ b/lib/package.json @@ -67,7 +67,7 @@ "postrelease": "npm run build && npm publish build", "lint": "eslint ./src/**/*.js*", "lint-fix": "npm run lint -- --fix", - "postinstall": "node -e \"console.log('\\u001b[35m\\u001b[1m Did not forget to install date-fns@next, luxon or moment?')\"" + "postinstall": "node -e \"console.log('\\u001b[35m\\u001b[1mHave you installed one of peer libraries?\\u001b[22m\\u001b[39m\\n > date-fns \\n > luxon \\n > moment')\"" }, "devDependencies": { "@types/classnames": "^2.2.3", From 2269505c96a2fc41ae4f0a4e59605c8563c80f2a Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 18:22:19 +0300 Subject: [PATCH 0568/1801] Auto select closest enabled date if currently selected date is disabled --- docs/src/Examples/Demo/BasicDatePicker.jsx | 1 - lib/package-lock.json | 2 +- lib/src/DatePicker/Calendar.jsx | 242 --------------------- lib/src/typings/utils.d.ts | 1 + lib/src/utils/date-fns-utils.js | 5 +- lib/src/utils/luxon-utils.js | 4 + lib/src/utils/moment-utils.js | 4 + 7 files changed, 14 insertions(+), 245 deletions(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 642f53e32de34b..00062b3bcca593 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -40,7 +40,6 @@ export default class BasicDatePicker extends PureComponent { false, - }; - - state = { - currentMonth: this.props.utils.getStartOfMonth(this.props.date), - }; - - componentWillReceiveProps(nextProps) { - this.setState({ - currentMonth: this.props.utils.getStartOfMonth(nextProps.date), - }); - } - - onDateSelect = (day) => { - const { date, utils } = this.props; - - const withHours = utils.setHours(day, utils.getHours(date)); - const withMinutes = utils.setMinutes(withHours, utils.getMinutes(date)); - - this.props.onChange(withMinutes); - }; - - handleChangeMonth = (newMonth) => { - this.setState({ currentMonth: newMonth }); - }; - - validateMinMaxDate = (day) => { - const { minDate, maxDate, utils } = this.props; - - return ( - (minDate && utils.isBeforeDay(day, utils.date(minDate))) || - (maxDate && utils.isAfterDay(day, utils.date(maxDate))) - ); - }; - - shouldDisablePrevMonth = () => { - const { utils, disablePast, minDate } = this.props; - const now = utils.date(); - return !utils.isBefore( - utils.getStartOfMonth(disablePast && utils.isAfter(now, minDate) - ? now - : utils.date(minDate)), - this.state.currentMonth, - ); - }; - - shouldDisableNextMonth = () => { - const { utils, disableFuture, maxDate } = this.props; - const now = utils.date(); - return !utils.isAfter( - utils.getStartOfMonth(disableFuture && utils.isBefore(now, maxDate) - ? now - : utils.date(maxDate)), - this.state.currentMonth, - ); - }; - - shouldDisableDate = (day) => { - const { - disablePast, disableFuture, shouldDisableDate, utils, - } = this.props; - - return ( - (disableFuture && utils.isAfterDay(day, utils.date())) || - (disablePast && utils.isBeforeDay(day, utils.date())) || - this.validateMinMaxDate(day) || - shouldDisableDate(day) - ); - }; - - moveToDay = (day) => { - if (day && !this.shouldDisableDate(day)) { - this.props.onChange(day); - } - } - - handleKeyDown = (event) => { - const { theme, date, utils } = this.props; - - switch (keycode(event)) { - case 'up': - this.moveToDay(utils.addDays(date, -7)); - break; - case 'down': - this.moveToDay(utils.addDays(date, 7)); - break; - case 'left': - theme.direction === 'ltr' - ? this.moveToDay(utils.addDays(date, -1)) - : this.moveToDay(utils.addDays(date, 1)); - break; - case 'right': - theme.direction === 'ltr' - ? this.moveToDay(utils.addDays(date, 1)) - : this.moveToDay(utils.addDays(date, -1)); - break; - default: - // if keycode is not handled, stop execution - return; - } - - // if event was handled prevent other side effects (e.g. page scroll) - event.preventDefault(); - }; - - renderWeeks = () => { - const { utils } = this.props; - const { currentMonth } = this.state; - const weeks = utils.getWeekArray(currentMonth); - - return weeks.map(week => ( -
- {this.renderDays(week)} -
- )); - } - - renderDays = (week) => { - const { date, renderDay, utils } = this.props; - - const selectedDate = utils.startOfDay(date); - const currentMonthNumber = utils.getMonth(this.state.currentMonth); - const now = utils.date(); - - return week.map((day) => { - const disabled = this.shouldDisableDate(day); - const dayInCurrentMonth = utils.getMonth(day) === currentMonthNumber; - - let dayComponent = ( - - ); - - if (renderDay) { - dayComponent = renderDay( - day, - selectedDate, - dayInCurrentMonth, - dayComponent, - ); - } - - return ( - - {dayComponent} - - ); - }); - }; - - render() { - const { currentMonth } = this.state; - const { classes, utils } = this.props; - - return ( - - - - - -
{this.renderWeeks()}
-
- ); - } -} - -const styles = theme => ({ - calendar: { - height: 36 * 6, - marginTop: theme.spacing.unit * 1.5, - }, - week: { - display: 'flex', - justifyContent: 'center', - }, -}); - -export default withStyles(styles, { - name: 'MuiPickersCalendar', - withTheme: true, -})(withUtils()(Calendar)); diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 1560fb709b0037..05bc529b96870f 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -7,6 +7,7 @@ export class Utils { isNull(value: TDate): boolean; isValid(value: TDate): boolean; + getDiff(value: TDate, comparing: TDate): number; isEqual(value: TDate, comparing: TDate): boolean; isSameDay(value: TDate, comparing: TDate): boolean diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index c803df629a6969..2ae06933fea0ce 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -11,7 +11,6 @@ import isAfter from 'date-fns/isAfter'; import isBefore from 'date-fns/isBefore'; import isSameDay from 'date-fns/isSameDay'; import isValid from 'date-fns/isValid'; -import eachDayOfInterval from 'date-fns/eachDayOfInterval'; import setHours from 'date-fns/setHours'; import setMinutes from 'date-fns/setMinutes'; import setYear from 'date-fns/setYear'; @@ -22,6 +21,8 @@ import startOfYear from 'date-fns/startOfYear'; import getHours from 'date-fns/getHours'; import getYear from 'date-fns/getYear'; import isEqual from 'date-fns/isEqual'; +import eachDayOfInterval from 'date-fns/eachDayOfInterval'; +import differenceInMilliseconds from 'date-fns/differenceInMilliseconds'; export default class DateFnsUtils { constructor({ locale } = {}) { @@ -58,6 +59,8 @@ export default class DateFnsUtils { isEqual = isEqual + getDiff = differenceInMilliseconds + isNull(date) { return date === null; } diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index f0da30c3fac956..6ac06e51f14959 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -71,6 +71,10 @@ export default class LuxonUtils { return diff.years < 0; } + getDiff(value, comparing) { + return value.diff(comparing, 'milliseconds'); + } + startOfDay(value) { return value.startOf('day'); } diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index 8347660f6aba93..d2209037627cc3 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -23,6 +23,10 @@ export default class MomentUtils { return date.parsingFlags().nullInput; } + getDiff(date, comparing) { + return date.diff(comparing); + } + isAfter(date, value) { return date.isAfter(value); } From e212df736acb03405f4c87d5d182ea50a010fb51 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 18:22:51 +0300 Subject: [PATCH 0569/1801] Commit date-utils file --- lib/src/_helpers/date-utils.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/src/_helpers/date-utils.js diff --git a/lib/src/_helpers/date-utils.js b/lib/src/_helpers/date-utils.js new file mode 100644 index 00000000000000..5e42a330fe3abb --- /dev/null +++ b/lib/src/_helpers/date-utils.js @@ -0,0 +1,24 @@ +/* eslint-disable import/prefer-default-export */ +export const findClosestEnabledDate = ({ + date, + utils, + minDate, + maxDate, + disableFuture, + disablePast, + shouldDisableDate, +}) => { + const now = utils.date(); + + if ((disableFuture || disablePast) && !shouldDisableDate(now)) { + return now; + } + + const diffFromMaxDate = Math.abs(utils.getDiff(date, maxDate)); + const diffFromMinDate = Math.abs(utils.getDiff(date, minDate)); + + return diffFromMaxDate < diffFromMinDate + ? utils.date(maxDate) + : utils.date(minDate); +}; + From d710ac5d7ea8846e2cf5536a6f3d9040aaaffee6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 19:20:03 +0300 Subject: [PATCH 0570/1801] Rollback deleted Calendar.jsx file --- lib/src/DatePicker/Calendar.jsx | 261 ++++++++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index e69de29bb2d1d6..83ec9ae7365330 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -0,0 +1,261 @@ +import React, { Component, Fragment } from 'react'; +import PropTypes from 'prop-types'; +import withStyles from 'material-ui/styles/withStyles'; + +import EventListener from 'react-event-listener'; +import keycode from 'keycode'; +import CalendarHeader from './CalendarHeader'; +import DomainPropTypes from '../constants/prop-types'; +import DayWrapper from './DayWrapper'; +import Day from './Day'; +import withUtils from '../_shared/WithUtils'; +import { findClosestEnabledDate } from '../_helpers/date-utils'; + +/* eslint-disable no-unused-expressions */ +export class Calendar extends Component { + static propTypes = { + date: PropTypes.object.isRequired, + minDate: DomainPropTypes.date, + maxDate: DomainPropTypes.date, + classes: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + disablePast: PropTypes.bool, + disableFuture: PropTypes.bool, + leftArrowIcon: PropTypes.node, + rightArrowIcon: PropTypes.node, + renderDay: PropTypes.func, + theme: PropTypes.object.isRequired, + shouldDisableDate: PropTypes.func, + utils: PropTypes.object.isRequired, + }; + + static defaultProps = { + minDate: '1900-01-01', + maxDate: '2100-01-01', + disablePast: false, + disableFuture: false, + leftArrowIcon: undefined, + rightArrowIcon: undefined, + renderDay: undefined, + shouldDisableDate: () => false, + }; + + state = { + currentMonth: this.props.utils.getStartOfMonth(this.props.date), + }; + + componentDidMount() { + const { + date, minDate, maxDate, utils, disableFuture, disablePast, + } = this.props; + + if (this.shouldDisableDate(date)) { + this.onDateSelect(findClosestEnabledDate({ + date, + utils, + minDate, + maxDate, + disablePast, + disableFuture, + shouldDisableDate: this.shouldDisableDate, + })); + } + } + + componentWillReceiveProps(nextProps) { + this.setState({ + currentMonth: this.props.utils.getStartOfMonth(nextProps.date), + }); + } + + onDateSelect = (day) => { + const { date, utils } = this.props; + + const withHours = utils.setHours(day, utils.getHours(date)); + const withMinutes = utils.setMinutes(withHours, utils.getMinutes(date)); + + this.props.onChange(withMinutes); + }; + + handleChangeMonth = (newMonth) => { + this.setState({ currentMonth: newMonth }); + }; + + validateMinMaxDate = (day) => { + const { minDate, maxDate, utils } = this.props; + + return ( + (minDate && utils.isBeforeDay(day, utils.date(minDate))) || + (maxDate && utils.isAfterDay(day, utils.date(maxDate))) + ); + }; + + shouldDisablePrevMonth = () => { + const { utils, disablePast, minDate } = this.props; + const now = utils.date(); + return !utils.isBefore( + utils.getStartOfMonth(disablePast && utils.isAfter(now, minDate) + ? now + : utils.date(minDate)), + this.state.currentMonth, + ); + }; + + shouldDisableNextMonth = () => { + const { utils, disableFuture, maxDate } = this.props; + const now = utils.date(); + return !utils.isAfter( + utils.getStartOfMonth(disableFuture && utils.isBefore(now, maxDate) + ? now + : utils.date(maxDate)), + this.state.currentMonth, + ); + }; + + shouldDisableDate = (day) => { + const { + disablePast, disableFuture, shouldDisableDate, utils, + } = this.props; + + return ( + (disableFuture && utils.isAfterDay(day, utils.date())) || + (disablePast && utils.isBeforeDay(day, utils.date())) || + this.validateMinMaxDate(day) || + shouldDisableDate(day) + ); + }; + + moveToDay = (day) => { + if (day && !this.shouldDisableDate(day)) { + this.props.onChange(day); + } + } + + handleKeyDown = (event) => { + const { theme, date, utils } = this.props; + + switch (keycode(event)) { + case 'up': + this.moveToDay(utils.addDays(date, -7)); + break; + case 'down': + this.moveToDay(utils.addDays(date, 7)); + break; + case 'left': + theme.direction === 'ltr' + ? this.moveToDay(utils.addDays(date, -1)) + : this.moveToDay(utils.addDays(date, 1)); + break; + case 'right': + theme.direction === 'ltr' + ? this.moveToDay(utils.addDays(date, 1)) + : this.moveToDay(utils.addDays(date, -1)); + break; + default: + // if keycode is not handled, stop execution + return; + } + + // if event was handled prevent other side effects (e.g. page scroll) + event.preventDefault(); + }; + + renderWeeks = () => { + const { utils } = this.props; + const { currentMonth } = this.state; + const weeks = utils.getWeekArray(currentMonth); + + return weeks.map(week => ( +
+ {this.renderDays(week)} +
+ )); + } + + renderDays = (week) => { + const { date, renderDay, utils } = this.props; + + const selectedDate = utils.startOfDay(date); + const currentMonthNumber = utils.getMonth(this.state.currentMonth); + const now = utils.date(); + + return week.map((day) => { + const disabled = this.shouldDisableDate(day); + const dayInCurrentMonth = utils.getMonth(day) === currentMonthNumber; + + let dayComponent = ( + + ); + + if (renderDay) { + dayComponent = renderDay( + day, + selectedDate, + dayInCurrentMonth, + dayComponent, + ); + } + + return ( + + {dayComponent} + + ); + }); + }; + + render() { + const { currentMonth } = this.state; + const { classes, utils } = this.props; + + return ( + + + + + +
{this.renderWeeks()}
+
+ ); + } +} + +const styles = theme => ({ + calendar: { + height: 36 * 6, + marginTop: theme.spacing.unit * 1.5, + }, + week: { + display: 'flex', + justifyContent: 'center', + }, +}); + +export default withStyles(styles, { + name: 'MuiPickersCalendar', + withTheme: true, +})(withUtils()(Calendar)); From 79584e34d058429d0c6557b36723d46c45e72ba6 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 19:36:02 +0300 Subject: [PATCH 0571/1801] Add unit tests for date-utils file --- lib/__tests__/_helpers/date-utils.test.js | 48 +++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lib/__tests__/_helpers/date-utils.test.js diff --git a/lib/__tests__/_helpers/date-utils.test.js b/lib/__tests__/_helpers/date-utils.test.js new file mode 100644 index 00000000000000..0a2f342fc6f7a4 --- /dev/null +++ b/lib/__tests__/_helpers/date-utils.test.js @@ -0,0 +1,48 @@ +import { utilsToUse } from '../test-utils'; +import { findClosestEnabledDate } from '../../src/_helpers/date-utils'; + +describe('findClosestEnabledDate', () => { + it('Should return now if its enabled and passed disablePast | disableFuture', () => { + const today = utilsToUse.format(utilsToUse.date(), 'YYYY-MM-DD'); + const result = findClosestEnabledDate({ + date: utilsToUse.date('2000-01-01'), + minDate: '2100-01-01', + maxDate: '2100-01-01', + utils: utilsToUse, + shouldDisableDate: () => false, + disableFuture: true, + disablePast: true, + }); + + expect(utilsToUse.format(result, 'YYYY-MM-DD')).toBe(today); + }); + + it('Should return min date if its closest to now', () => { + const result = findClosestEnabledDate({ + date: utilsToUse.date('2000-01-01'), + minDate: '2010-01-01', + maxDate: '2100-01-01', + utils: utilsToUse, + shouldDisableDate: () => false, + disableFuture: false, + disablePast: false, + }); + + expect(result).toEqual(utilsToUse.date('2010-01-01')); + }); + + it('Should return max date if its closest to now', () => { + const result = findClosestEnabledDate({ + date: utilsToUse.date('2000-01-01'), + minDate: '1900-01-01', + maxDate: '2010-01-01', + utils: utilsToUse, + shouldDisableDate: () => false, + disableFuture: false, + disablePast: false, + }); + + expect(result).toEqual(utilsToUse.date('2010-01-01')); + }); +}); + From d3804828ce4bcc78721684ce746f5d8a8fa65bc7 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 19:44:00 +0300 Subject: [PATCH 0572/1801] Add unit tests for Calendar.jsx component --- lib/__tests__/DatePicker/Calendar.test.js | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/__tests__/DatePicker/Calendar.test.js b/lib/__tests__/DatePicker/Calendar.test.js index 72163e7dd38352..b32b73f009b668 100644 --- a/lib/__tests__/DatePicker/Calendar.test.js +++ b/lib/__tests__/DatePicker/Calendar.test.js @@ -1,6 +1,6 @@ import React from 'react'; import moment from 'moment'; -import { shallow } from '../test-utils'; +import { shallow, utilsToUse } from '../test-utils'; import { Calendar } from '../../src/DatePicker/Calendar'; describe('Calendar', () => { @@ -15,3 +15,21 @@ describe('Calendar', () => { expect(component).toBeTruthy(); }); }); + +describe('Calendar - disabled selected date on mount', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should dispatch onDateSelect on mount', () => { + const { onChange } = component.instance().props; + expect(onChange).toHaveBeenCalledWith(utilsToUse.date('01-01-2018')); + }); +}); From a81568d80543bccc92ae3888c4c75668b3c06162 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 20:59:53 +0300 Subject: [PATCH 0573/1801] Sort imports in date-fns-utils --- docs/src/Examples/Demo/BasicDatePicker.jsx | 1 + lib/src/utils/date-fns-utils.js | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 642f53e32de34b..7fa1f5b8a4b05e 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -41,6 +41,7 @@ export default class BasicDatePicker extends PureComponent { label="With today button" showTodayButton disableFuture + maxDate="2019-01-01" maxDateMessage="Date must be less than today" value={selectedDate} onChange={this.handleDateChange} diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index c803df629a6969..59f5c50c8106ee 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -1,17 +1,20 @@ -import dateFnsParse from 'date-fns/parse'; import addDays from 'date-fns/addDays'; import addMonths from 'date-fns/addMonths'; import addYears from 'date-fns/addYears'; +import eachDayOfInterval from 'date-fns/eachDayOfInterval'; import endOfDay from 'date-fns/endOfDay'; import endOfMonth from 'date-fns/endOfMonth'; import endOfWeek from 'date-fns/endOfWeek'; import endOfYear from 'date-fns/endOfYear'; import format from 'date-fns/format'; +import getHours from 'date-fns/getHours'; +import getYear from 'date-fns/getYear'; import isAfter from 'date-fns/isAfter'; import isBefore from 'date-fns/isBefore'; +import isEqual from 'date-fns/isEqual'; import isSameDay from 'date-fns/isSameDay'; import isValid from 'date-fns/isValid'; -import eachDayOfInterval from 'date-fns/eachDayOfInterval'; +import dateFnsParse from 'date-fns/parse'; import setHours from 'date-fns/setHours'; import setMinutes from 'date-fns/setMinutes'; import setYear from 'date-fns/setYear'; @@ -19,9 +22,6 @@ import startOfDay from 'date-fns/startOfDay'; import startOfMonth from 'date-fns/startOfMonth'; import startOfWeek from 'date-fns/startOfWeek'; import startOfYear from 'date-fns/startOfYear'; -import getHours from 'date-fns/getHours'; -import getYear from 'date-fns/getYear'; -import isEqual from 'date-fns/isEqual'; export default class DateFnsUtils { constructor({ locale } = {}) { From 86dd937bc18ac301d57d52b32bde364308d52e80 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sat, 12 May 2018 21:11:09 +0300 Subject: [PATCH 0574/1801] [#399] [date-fns] Fix not including boundary years --- docs/src/Examples/Demo/BasicDatePicker.jsx | 1 - lib/src/utils/date-fns-utils.js | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index 7fa1f5b8a4b05e..a8a909a5936573 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -40,7 +40,6 @@ export default class BasicDatePicker extends PureComponent { Date: Sat, 12 May 2018 21:13:09 +0300 Subject: [PATCH 0575/1801] Remove testing props from docs example --- docs/src/Examples/Demo/BasicDatePicker.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/Examples/Demo/BasicDatePicker.jsx b/docs/src/Examples/Demo/BasicDatePicker.jsx index a8a909a5936573..642f53e32de34b 100644 --- a/docs/src/Examples/Demo/BasicDatePicker.jsx +++ b/docs/src/Examples/Demo/BasicDatePicker.jsx @@ -40,7 +40,7 @@ export default class BasicDatePicker extends PureComponent { Date: Sun, 13 May 2018 08:32:02 +0300 Subject: [PATCH 0576/1801] Merge conflicts --- lib/src/utils/date-fns-utils.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index 2ae06933fea0ce..b8d5b94ff7abb6 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -1,16 +1,21 @@ -import dateFnsParse from 'date-fns/parse'; import addDays from 'date-fns/addDays'; import addMonths from 'date-fns/addMonths'; import addYears from 'date-fns/addYears'; +import differenceInMilliseconds from 'date-fns/differenceInMilliseconds'; +import eachDayOfInterval from 'date-fns/eachDayOfInterval'; import endOfDay from 'date-fns/endOfDay'; import endOfMonth from 'date-fns/endOfMonth'; import endOfWeek from 'date-fns/endOfWeek'; import endOfYear from 'date-fns/endOfYear'; import format from 'date-fns/format'; +import getHours from 'date-fns/getHours'; +import getYear from 'date-fns/getYear'; import isAfter from 'date-fns/isAfter'; import isBefore from 'date-fns/isBefore'; +import isEqual from 'date-fns/isEqual'; import isSameDay from 'date-fns/isSameDay'; import isValid from 'date-fns/isValid'; +import dateFnsParse from 'date-fns/parse'; import setHours from 'date-fns/setHours'; import setMinutes from 'date-fns/setMinutes'; import setYear from 'date-fns/setYear'; @@ -18,11 +23,6 @@ import startOfDay from 'date-fns/startOfDay'; import startOfMonth from 'date-fns/startOfMonth'; import startOfWeek from 'date-fns/startOfWeek'; import startOfYear from 'date-fns/startOfYear'; -import getHours from 'date-fns/getHours'; -import getYear from 'date-fns/getYear'; -import isEqual from 'date-fns/isEqual'; -import eachDayOfInterval from 'date-fns/eachDayOfInterval'; -import differenceInMilliseconds from 'date-fns/differenceInMilliseconds'; export default class DateFnsUtils { constructor({ locale } = {}) { From 08b254de384731ed057baa1d3c7ac3822cc9fc6b Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 13 May 2018 12:00:18 +0300 Subject: [PATCH 0577/1801] Fix selecting clock numbers text on selecting time, add cursor type for selection dragging --- lib/src/TimePicker/Clock.jsx | 4 ++++ lib/src/TimePicker/ClockNumber.jsx | 1 + 2 files changed, 5 insertions(+) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 2fb58218635675..7d5177e6a4cc2a 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -141,6 +141,10 @@ const styles = theme => ({ pointerEvents: 'auto', outline: 'none', touchActions: 'none', + userSelect: 'none', + '&:active': { + cursor: 'move', + }, }, pin: { width: 6, diff --git a/lib/src/TimePicker/ClockNumber.jsx b/lib/src/TimePicker/ClockNumber.jsx index 90463e3d191744..2a07a302d58453 100644 --- a/lib/src/TimePicker/ClockNumber.jsx +++ b/lib/src/TimePicker/ClockNumber.jsx @@ -80,6 +80,7 @@ const styles = (theme) => { clockNumber: { width: size, height: size, + userSelect: 'none', position: 'absolute', left: `calc(50% - ${size / 2}px)`, display: 'inline-flex', From 1395a4c7a095e92c7ee4f714fc8bf5eed098c6af Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 13 May 2018 17:34:27 +0300 Subject: [PATCH 0578/1801] Fix docs inconveninces for css overrides and utils interface --- docs/src/Examples/Guides/CssTheme.jsx | 4 +--- docs/src/Routes/Guides/FormatsCustomization.jsx | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/src/Examples/Guides/CssTheme.jsx b/docs/src/Examples/Guides/CssTheme.jsx index 0ef71c6e1ed31f..472f550be4c44c 100644 --- a/docs/src/Examples/Guides/CssTheme.jsx +++ b/docs/src/Examples/Guides/CssTheme.jsx @@ -30,9 +30,7 @@ const materialTheme = createMuiTheme({ }, MuiPickersModal: { dialogAction: { - '& > button': { - color: lightBlue['400'], - }, + color: lightBlue['400'], }, }, }, diff --git a/docs/src/Routes/Guides/FormatsCustomization.jsx b/docs/src/Routes/Guides/FormatsCustomization.jsx index 8071702ef50908..216dd435bc5bce 100644 --- a/docs/src/Routes/Guides/FormatsCustomization.jsx +++ b/docs/src/Routes/Guides/FormatsCustomization.jsx @@ -35,7 +35,7 @@ const FormatCustomization = () => ( - MaterialUiPickersDate - date object passed from state (moment or native Date) + Where TDate - date object passed from state (moment, native Date or Luxon`s DateTime) From 87290fba705f458a74cbc16237afefb46800dad7 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Sun, 13 May 2018 17:34:49 +0300 Subject: [PATCH 0579/1801] Update version to rc.8 --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index 63fcf3e544c742..e1ab6b134c1cb7 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.7", + "version": "1.0.0-rc.8", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From f5005344c7ff8bd7481774649d3bf21f17a43af6 Mon Sep 17 00:00:00 2001 From: David Narbutovich Date: Mon, 14 May 2018 16:29:54 +0300 Subject: [PATCH 0580/1801] Update material-ui to RC --- .../DatePicker/DatePickerWrapper.usage.tsx | 2 +- .../DatePicker/PatchedUtils.usage.tsx | 2 +- .../DateTimePickerWrapper.usage.tsx | 4 +- lib/__tests__/_shared/DateTextField.test.js | 2 +- lib/package-lock.json | 167 +++++++++++------- lib/package.json | 4 +- lib/src/DatePicker/Calendar.d.ts | 2 +- lib/src/DatePicker/Calendar.jsx | 2 +- lib/src/DatePicker/CalendarHeader.jsx | 8 +- lib/src/DatePicker/DatePickerWrapper.d.ts | 2 +- lib/src/DatePicker/Day.jsx | 4 +- lib/src/DatePicker/Year.jsx | 4 +- lib/src/DatePicker/YearSelection.jsx | 2 +- lib/src/DateTimePicker/DateTimePicker.jsx | 2 +- .../DateTimePicker/DateTimePickerHeader.jsx | 2 +- lib/src/DateTimePicker/DateTimePickerTabs.jsx | 12 +- lib/src/DateTimePicker/DateTimePickerView.jsx | 4 +- .../DateTimePicker/DateTimePickerWrapper.d.ts | 2 +- .../DateTimePicker/DateTimePickerWrapper.jsx | 2 +- lib/src/TimePicker/Clock.jsx | 2 +- lib/src/TimePicker/ClockNumber.jsx | 4 +- lib/src/TimePicker/ClockPointer.jsx | 2 +- lib/src/TimePicker/TimePicker.jsx | 4 +- lib/src/TimePicker/TimePickerWrapper.d.ts | 2 +- lib/src/_shared/DateTextField.d.ts | 4 +- lib/src/_shared/DateTextField.jsx | 10 +- lib/src/_shared/ModalDialog.d.ts | 4 +- lib/src/_shared/ModalDialog.jsx | 10 +- lib/src/_shared/PickerToolbar.jsx | 4 +- lib/src/_shared/ToolbarButton.jsx | 4 +- 30 files changed, 159 insertions(+), 120 deletions(-) diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx index 00401abc8470ef..a857a587cc2202 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx +++ b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx @@ -2,7 +2,7 @@ import * as React from 'react' import * as PropTypes from 'prop-types'; import { Fragment, Component } from 'react'; import DatePickerWrapper from '../../src/DatePicker'; -import { IconButton } from 'material-ui' +import { IconButton } from '@material-ui/core' import * as classNames from 'classnames'; import { Moment } from 'moment' import { DayComponent } from '../../src/DatePicker/Calendar' diff --git a/lib/__tests__/DatePicker/PatchedUtils.usage.tsx b/lib/__tests__/DatePicker/PatchedUtils.usage.tsx index 80f5bd0c5eae19..a545cc29900b8c 100644 --- a/lib/__tests__/DatePicker/PatchedUtils.usage.tsx +++ b/lib/__tests__/DatePicker/PatchedUtils.usage.tsx @@ -4,7 +4,7 @@ import * as classNames from 'classnames'; import * as format from 'date-fns/format' import { Fragment, Component } from 'react'; -import { IconButton } from 'material-ui' +import { IconButton } from '@material-ui/core' import { Moment } from 'moment' import { DayComponent } from '../../src/DatePicker/Calendar' import DatePickerWrapper from '../../src/DatePicker'; diff --git a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx index 7ea96a60c1d5ec..c08c15481401e7 100644 --- a/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx +++ b/lib/__tests__/DateTimePicker/DateTimePickerWrapper.usage.tsx @@ -1,7 +1,7 @@ import * as React from 'react' import { Fragment, Component } from 'react'; -import { IconButton, Typography, Icon } from 'material-ui'; -import InputAdornment from 'material-ui/Input/InputAdornment'; +import { IconButton, Typography, Icon } from '@material-ui/core'; +import InputAdornment from '@material-ui/core/InputAdornment'; import DateTimePickerWrapper from '../../src/DateTimePicker'; import * as classNames from 'classnames' import { Moment } from 'moment' diff --git a/lib/__tests__/_shared/DateTextField.test.js b/lib/__tests__/_shared/DateTextField.test.js index e35a58cc9f9f9d..83c15ba55fd1f0 100644 --- a/lib/__tests__/_shared/DateTextField.test.js +++ b/lib/__tests__/_shared/DateTextField.test.js @@ -1,5 +1,5 @@ import React from 'react'; -import { createMount } from 'material-ui/test-utils'; +import { createMount } from '@material-ui/core/test-utils'; import { shallow, utilsToUse } from '../test-utils'; import { DateTextField } from '../../src/_shared/DateTextField'; diff --git a/lib/package-lock.json b/lib/package-lock.json index e3f7cbdda094f7..f9d108e74b76b8 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.7", + "version": "1.0.0-rc.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -111,6 +111,24 @@ } } }, + "@babel/runtime": { + "version": "7.0.0-beta.46", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.46.tgz", + "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", + "dev": true, + "requires": { + "core-js": "^2.5.3", + "regenerator-runtime": "^0.11.1" + }, + "dependencies": { + "core-js": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.6.tgz", + "integrity": "sha512-lQUVfQi0aLix2xpyjrrJEvfuYCqPc/HwmTKsC/VNf8q0zsjX7SQZtp4+oRONN5Tsur9GDETPjj+Ub2iDiGZfSQ==", + "dev": true + } + } + }, "@babel/template": { "version": "7.0.0-beta.44", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", @@ -191,6 +209,53 @@ } } }, + "@material-ui/core": { + "version": "1.0.0-rc.0", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.0.0-rc.0.tgz", + "integrity": "sha512-F8j4eaBj1rfaDLagy90+f9EnzwOpQdOmR8oHSrwPPw4LmU+UAXgkZum/wx5HTiquz9wWSXAX3wI2m6atmr0/xA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0-beta.42", + "@types/jss": "^9.5.3", + "@types/react-transition-group": "^2.0.8", + "brcast": "^3.0.1", + "classnames": "^2.2.5", + "deepmerge": "^2.0.1", + "dom-helpers": "^3.2.1", + "hoist-non-react-statics": "^2.5.0", + "jss": "^9.3.3", + "jss-camel-case": "^6.0.0", + "jss-default-unit": "^8.0.2", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-vendor-prefixer": "^7.0.0", + "keycode": "^2.1.9", + "lodash": "^4.2.0", + "normalize-scroll-left": "^0.1.2", + "prop-types": "^15.6.0", + "react-event-listener": "^0.5.1", + "react-jss": "^8.1.0", + "react-popper": "^0.10.0", + "react-scrollbar-size": "^2.0.2", + "react-transition-group": "^2.2.1", + "recompose": "^0.26.0 || ^0.27.0", + "scroll": "^2.0.3", + "warning": "^3.0.0" + }, + "dependencies": { + "@types/jss": { + "version": "9.5.3", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.3.tgz", + "integrity": "sha512-RQWhcpOVyIhGryKpnUyZARwsgmp+tB82O7c75lC4Tjbmr3hPiCnM1wc+pJipVEOsikYXW0IHgeiQzmxQXbnAIA==", + "dev": true, + "requires": { + "csstype": "^2.0.0", + "indefinite-observable": "^1.0.1" + } + } + } + }, "@types/classnames": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.3.tgz", @@ -3168,7 +3233,8 @@ "buffer-shims": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "caseless": { "version": "0.12.0", @@ -3185,12 +3251,14 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "combined-stream": { "version": "1.0.5", "bundled": true, "dev": true, + "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -3203,12 +3271,14 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "cryptiles": { "version": "2.0.5", @@ -3253,7 +3323,8 @@ "delayed-stream": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "delegates": { "version": "1.0.0", @@ -3285,7 +3356,8 @@ "extsprintf": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "forever-agent": { "version": "0.6.1", @@ -3468,7 +3540,8 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "isstream": { "version": "0.1.2", @@ -3958,7 +4031,7 @@ "integrity": "sha512-E2s1b4GVbt8PyG+iaRN6ks8N0Oy2LOJz7SIMUwWWWx7Mr5Z08hKkfpkKQbOtOGqzkFpckDJHjjZ8qfigN2W86A==", "dev": true, "requires": { - "icu4c-data": "^0.59.2" + "icu4c-data": "^0.61.2" } }, "function-bind": { @@ -4296,9 +4369,9 @@ "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "icu4c-data": { - "version": "0.59.2", - "resolved": "https://registry.npmjs.org/icu4c-data/-/icu4c-data-0.59.2.tgz", - "integrity": "sha1-Xf97e+4H/fp6ybtgHMe4gEaha+Y=", + "version": "0.61.2", + "resolved": "https://registry.npmjs.org/icu4c-data/-/icu4c-data-0.61.2.tgz", + "integrity": "sha512-OrIR8R6XtBhBVVp/4SILT2SGvxpqfBbvyrg7J6DrhcurRZDma4skSRHk/VQt4xwEtH/3edzYflbz7Q+HY3vs5g==", "dev": true }, "ignore": { @@ -5752,9 +5825,9 @@ "dev": true }, "jss-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.1.0.tgz", - "integrity": "sha512-WTxmNipgj0V8kr8gc8Gc6Et7uQZH60H7FFNG9zZHjR6TPJoj7TDK+/EBxwRHtCRQD4B8RTwoa7MyEKD4ReKfXw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.3.0.tgz", + "integrity": "sha512-NiM4TbDVE0ykXSAw6dfFmB1LIqXP/jdd0ZMnlvlGgEMkMt+weJIl8Ynq1DsuBY9WwkNyzWktdqcEW2VN0RAtQg==", "dev": true }, "jss-extend": { @@ -5782,15 +5855,15 @@ } }, "jss-preset-default": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.3.0.tgz", - "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz", + "integrity": "sha512-qZbpRVtHT7hBPpZEBPFfafZKWmq3tA/An5RNqywDsZQGrlinIF/mGD9lmj6jGqu8GrED2SMHZ3pPKLmjCZoiaQ==", "dev": true, "requires": { "jss-camel-case": "^6.1.0", "jss-compose": "^5.0.0", "jss-default-unit": "^8.0.2", - "jss-expand": "^5.1.0", + "jss-expand": "^5.3.0", "jss-extend": "^6.2.0", "jss-global": "^3.0.0", "jss-nested": "^6.0.1", @@ -6282,42 +6355,6 @@ "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", "dev": true }, - "material-ui": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.43.tgz", - "integrity": "sha512-6prcG6pwOBAH3s44GJg1WiylByz/TSL6oXlDXnBW1Sb0mSjL1ezfdZj4nSO2qjrPyfDm9sjwxaR9ZoVIHxU17g==", - "dev": true, - "requires": { - "@types/jss": "^9.3.0", - "@types/react-transition-group": "^2.0.8", - "babel-runtime": "^6.26.0", - "brcast": "^3.0.1", - "classnames": "^2.2.5", - "deepmerge": "^2.0.1", - "dom-helpers": "^3.2.1", - "hoist-non-react-statics": "^2.5.0", - "jss": "^9.3.3", - "jss-camel-case": "^6.0.0", - "jss-default-unit": "^8.0.2", - "jss-global": "^3.0.0", - "jss-nested": "^6.0.1", - "jss-props-sort": "^6.0.0", - "jss-vendor-prefixer": "^7.0.0", - "keycode": "^2.1.9", - "lodash": "^4.2.0", - "normalize-scroll-left": "^0.1.2", - "prop-types": "^15.6.0", - "react-event-listener": "^0.5.1", - "react-jss": "^8.1.0", - "react-lifecycles-compat": "^2.0.0", - "react-popper": "^0.10.0", - "react-scrollbar-size": "^2.0.2", - "react-transition-group": "^2.2.1", - "recompose": "^0.26.0", - "scroll": "^2.0.3", - "warning": "^3.0.0" - } - }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -7484,15 +7521,15 @@ } }, "react-lifecycles-compat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.2.tgz", - "integrity": "sha512-BPksUj7VMAAFhcCw79sZA0Ow/LTAEjs3Sio1AQcuwLeOP+ua0f/08Su2wyiW+JjDDH6fRqNy3h5CLXh21u1mVg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==", "dev": true }, "react-popper": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.1.tgz", - "integrity": "sha1-ah8llfr/2ncQW+1OiezyJgekxFI=", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.4.tgz", + "integrity": "sha1-rypBXqIike3VBGeNev2opu4ylao=", "dev": true, "requires": { "popper.js": "^1.14.1", @@ -7624,14 +7661,16 @@ } }, "recompose": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", - "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.27.0.tgz", + "integrity": "sha512-hivr1EopLhzjchhv2Y7VcLA2H5NGztwV/qfYqmIAhTkNowNQ9PyXdfq9Q8QCa0TMrPM1NtStlUyi5I/p8XfUNQ==", "dev": true, "requires": { + "babel-runtime": "^6.26.0", "change-emitter": "^0.1.2", "fbjs": "^0.8.1", "hoist-non-react-statics": "^2.3.1", + "react-lifecycles-compat": "^3.0.2", "symbol-observable": "^1.0.4" } }, diff --git a/lib/package.json b/lib/package.json index e1ab6b134c1cb7..8a316d1322ceb1 100644 --- a/lib/package.json +++ b/lib/package.json @@ -33,7 +33,7 @@ }, "peerDependencies": { "classnames": "^2.2.5", - "material-ui": "^1.0.0-beta.33", + "@material-ui/core": "^1.0.0-rc.0", "prop-types": "^15.6.0", "react": "^16.2.0", "react-dom": "^16.2.0" @@ -70,6 +70,7 @@ "postinstall": "node -e \"console.log('\\u001b[35m\\u001b[1mHave you installed one of peer libraries?\\u001b[22m\\u001b[39m\\n > date-fns \\n > luxon \\n > moment')\"" }, "devDependencies": { + "@material-ui/core": "^1.0.0-rc.0", "@types/classnames": "^2.2.3", "@types/jest": "^22.2.3", "@types/jss": "^9.5.2", @@ -106,7 +107,6 @@ "glob": "^7.1.2", "jest": "^21.2.1", "luxon": "^1.2.0", - "material-ui": "^1.0.0-beta.43", "moment": "^2.22.1", "np": "^2.20.1", "prop-types": "^15.6.1", diff --git a/lib/src/DatePicker/Calendar.d.ts b/lib/src/DatePicker/Calendar.d.ts index 75cd09f5b8a5f5..8a58364ce1605d 100644 --- a/lib/src/DatePicker/Calendar.d.ts +++ b/lib/src/DatePicker/Calendar.d.ts @@ -1,5 +1,5 @@ import { ComponentClass, ReactElement, ReactNode } from 'react'; -import { IconButtonProps } from 'material-ui/IconButton'; +import { IconButtonProps } from '@material-ui/core/IconButton'; import { DateType } from '../constants/prop-types'; import { Utils } from '../typings/utils'; import { MaterialUiPickersDate } from '../typings/date' diff --git a/lib/src/DatePicker/Calendar.jsx b/lib/src/DatePicker/Calendar.jsx index 83ec9ae7365330..bc20d900ad9713 100644 --- a/lib/src/DatePicker/Calendar.jsx +++ b/lib/src/DatePicker/Calendar.jsx @@ -1,6 +1,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import EventListener from 'react-event-listener'; import keycode from 'keycode'; diff --git a/lib/src/DatePicker/CalendarHeader.jsx b/lib/src/DatePicker/CalendarHeader.jsx index b4b4c32ec96020..7beb15470ac308 100644 --- a/lib/src/DatePicker/CalendarHeader.jsx +++ b/lib/src/DatePicker/CalendarHeader.jsx @@ -1,9 +1,9 @@ import React from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; -import Typography from 'material-ui/Typography'; -import IconButton from 'material-ui/IconButton'; -import Icon from 'material-ui/Icon'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Typography from '@material-ui/core/Typography'; +import IconButton from '@material-ui/core/IconButton'; +import Icon from '@material-ui/core/Icon'; import withUtils from '../_shared/WithUtils'; export const CalendarHeader = (props) => { diff --git a/lib/src/DatePicker/DatePickerWrapper.d.ts b/lib/src/DatePicker/DatePickerWrapper.d.ts index 05dfaa1e48aa15..3236428b32ffbe 100644 --- a/lib/src/DatePicker/DatePickerWrapper.d.ts +++ b/lib/src/DatePicker/DatePickerWrapper.d.ts @@ -5,7 +5,7 @@ import { RenderDay } from './Calendar'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { MaterialUiPickersDate } from '../typings/date' import { PickerBaseProps } from '../_shared/PickerBase' -import { Omit } from 'material-ui' +import { Omit } from '@material-ui/core' export interface DatePickerWrapperProps extends PickerBaseProps, Omit { diff --git a/lib/src/DatePicker/Day.jsx b/lib/src/DatePicker/Day.jsx index bb420357c39da1..0c3f033d6129f4 100644 --- a/lib/src/DatePicker/Day.jsx +++ b/lib/src/DatePicker/Day.jsx @@ -1,8 +1,8 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import withStyles from 'material-ui/styles/withStyles'; -import IconButton from 'material-ui/IconButton'; +import withStyles from '@material-ui/core/styles/withStyles'; +import IconButton from '@material-ui/core/IconButton'; class Day extends PureComponent { static propTypes = { diff --git a/lib/src/DatePicker/Year.jsx b/lib/src/DatePicker/Year.jsx index 15679405e19f3c..72da1bb00e3133 100644 --- a/lib/src/DatePicker/Year.jsx +++ b/lib/src/DatePicker/Year.jsx @@ -1,8 +1,8 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import withStyles from 'material-ui/styles/withStyles'; -import Typography from 'material-ui/Typography'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Typography from '@material-ui/core/Typography'; export class Year extends PureComponent { static propTypes = { diff --git a/lib/src/DatePicker/YearSelection.jsx b/lib/src/DatePicker/YearSelection.jsx index f3ed6f743e4d76..a0b76b0b0c242f 100644 --- a/lib/src/DatePicker/YearSelection.jsx +++ b/lib/src/DatePicker/YearSelection.jsx @@ -1,7 +1,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { findDOMNode } from 'react-dom'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; import withUtils from '../_shared/WithUtils'; import Year from './Year'; diff --git a/lib/src/DateTimePicker/DateTimePicker.jsx b/lib/src/DateTimePicker/DateTimePicker.jsx index 2121f4340bfb0f..3d3ab9ac477ef1 100644 --- a/lib/src/DateTimePicker/DateTimePicker.jsx +++ b/lib/src/DateTimePicker/DateTimePicker.jsx @@ -1,6 +1,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import View from './DateTimePickerView'; import YearSelection from '../DatePicker/YearSelection'; diff --git a/lib/src/DateTimePicker/DateTimePickerHeader.jsx b/lib/src/DateTimePicker/DateTimePickerHeader.jsx index 0b4418e12b5cd5..f7aebba87739be 100644 --- a/lib/src/DateTimePicker/DateTimePickerHeader.jsx +++ b/lib/src/DateTimePicker/DateTimePickerHeader.jsx @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import withUtils from '../_shared/WithUtils'; diff --git a/lib/src/DateTimePicker/DateTimePickerTabs.jsx b/lib/src/DateTimePicker/DateTimePickerTabs.jsx index b8459dbfb95b3b..130ade387e8ae6 100644 --- a/lib/src/DateTimePicker/DateTimePickerTabs.jsx +++ b/lib/src/DateTimePicker/DateTimePickerTabs.jsx @@ -1,11 +1,11 @@ import React from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; -import withTheme from 'material-ui/styles/withTheme'; -import Paper from 'material-ui/Paper'; -import Tabs from 'material-ui/Tabs'; -import Tab from 'material-ui/Tabs/Tab'; -import Icon from 'material-ui/Icon'; +import withStyles from '@material-ui/core/styles/withStyles'; +import withTheme from '@material-ui/core/styles/withTheme'; +import Paper from '@material-ui/core/Paper'; +import Tabs from '@material-ui/core/Tabs'; +import Tab from '@material-ui/core/Tab'; +import Icon from '@material-ui/core/Icon'; import * as viewType from '../constants/date-picker-view'; const viewToTabIndex = (openView) => { diff --git a/lib/src/DateTimePicker/DateTimePickerView.jsx b/lib/src/DateTimePicker/DateTimePickerView.jsx index 0f194480abfb78..3d221212f023c2 100644 --- a/lib/src/DateTimePicker/DateTimePickerView.jsx +++ b/lib/src/DateTimePicker/DateTimePickerView.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; -import Fade from 'material-ui/transitions/Fade'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Fade from '@material-ui/core/Fade'; export const DateTimePickerView = (props) => { const { diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts b/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts index ecc86debe6c5a4..2c9858ab3e1058 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.d.ts @@ -6,7 +6,7 @@ import { RenderDay } from '../DatePicker/Calendar'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { MaterialUiPickersDate } from '../typings/date' import { PickerBaseProps } from '../_shared/PickerBase' -import { Omit } from 'material-ui' +import { Omit } from '@material-ui/core' export interface DateTimePickerWrapperProps extends PickerBaseProps, Omit { diff --git a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx index faa676887492d7..fd29321f381e0f 100644 --- a/lib/src/DateTimePicker/DateTimePickerWrapper.jsx +++ b/lib/src/DateTimePicker/DateTimePickerWrapper.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; import ModalWrapper from '../wrappers/ModalWrapper'; diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index 7d5177e6a4cc2a..f43d1adf6bf34c 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import ClockPointer from './ClockPointer'; import * as clockType from '../constants/clock-types'; diff --git a/lib/src/TimePicker/ClockNumber.jsx b/lib/src/TimePicker/ClockNumber.jsx index 2a07a302d58453..b71b55b5fc42fd 100644 --- a/lib/src/TimePicker/ClockNumber.jsx +++ b/lib/src/TimePicker/ClockNumber.jsx @@ -1,8 +1,8 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import withStyles from 'material-ui/styles/withStyles'; -import Typography from 'material-ui/Typography'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Typography from '@material-ui/core/Typography'; const positions = { 0: [0, 40], diff --git a/lib/src/TimePicker/ClockPointer.jsx b/lib/src/TimePicker/ClockPointer.jsx index 08be295f754176..ede04657597973 100644 --- a/lib/src/TimePicker/ClockPointer.jsx +++ b/lib/src/TimePicker/ClockPointer.jsx @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; +import withStyles from '@material-ui/core/styles/withStyles'; import classnames from 'classnames'; export class ClockPointer extends Component { diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 8890a53fa4c6c7..d8fe074af15c8f 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -1,7 +1,7 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; -import withStyles from 'material-ui/styles/withStyles'; -import Fade from 'material-ui/transitions/Fade'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Fade from '@material-ui/core/Fade'; import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; diff --git a/lib/src/TimePicker/TimePickerWrapper.d.ts b/lib/src/TimePicker/TimePickerWrapper.d.ts index 9b0565ca9969c7..c9b6c2e95ef587 100644 --- a/lib/src/TimePicker/TimePickerWrapper.d.ts +++ b/lib/src/TimePicker/TimePickerWrapper.d.ts @@ -2,7 +2,7 @@ import { ComponentClass } from 'react'; import { Utils } from '../typings/utils'; import { ModalWrapperProps } from '../wrappers/ModalWrapper'; import { PickerBaseProps } from '../_shared/PickerBase' -import { Omit } from 'material-ui' +import { Omit } from '@material-ui/core' import { MaterialUiPickersDate } from '../typings/date'; export interface TimePickerWrapperProps extends PickerBaseProps, diff --git a/lib/src/_shared/DateTextField.d.ts b/lib/src/_shared/DateTextField.d.ts index 80be32c955d113..2b89c623da06ee 100644 --- a/lib/src/_shared/DateTextField.d.ts +++ b/lib/src/_shared/DateTextField.d.ts @@ -1,7 +1,7 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types' -import { TextFieldProps } from 'material-ui/TextField'; -import { Omit } from 'material-ui' +import { TextFieldProps } from '@material-ui/core/TextField'; +import { Omit } from '@material-ui/core' import { MaterialUiPickersDate } from '../typings/date' export interface DateTextFieldProps extends Omit { diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index fd1589d4cf240b..3baf1e41d30c68 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -1,10 +1,10 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -import Icon from 'material-ui/Icon'; -import InputAdornment from 'material-ui/Input/InputAdornment'; -import TextField from 'material-ui/TextField'; -import IconButton from 'material-ui/IconButton'; -import withStyles from 'material-ui/styles/withStyles'; +import Icon from '@material-ui/core/Icon'; +import InputAdornment from '@material-ui/core/InputAdornment'; +import TextField from '@material-ui/core/TextField'; +import IconButton from '@material-ui/core/IconButton'; +import withStyles from '@material-ui/core/styles/withStyles'; import DomainPropTypes from '../constants/prop-types'; import MaskedInput from './MaskedInput'; diff --git a/lib/src/_shared/ModalDialog.d.ts b/lib/src/_shared/ModalDialog.d.ts index 09744390b6a5af..b6fe54da85017a 100644 --- a/lib/src/_shared/ModalDialog.d.ts +++ b/lib/src/_shared/ModalDialog.d.ts @@ -1,8 +1,8 @@ import { ComponentClass, ReactNode } from 'react'; import { DateType } from '../constants/prop-types'; import { Utils } from '../typings/utils'; -import { DialogProps } from 'material-ui/Dialog'; -import { ButtonProps } from 'material-ui/Button'; +import { DialogProps } from '@material-ui/core/Dialog'; +import { ButtonProps } from '@material-ui/core/Button'; export interface DateTextFieldProps extends DialogProps { onAccept: ButtonProps['onClick']; diff --git a/lib/src/_shared/ModalDialog.jsx b/lib/src/_shared/ModalDialog.jsx index 49425a6f1b8c33..486b5323147991 100644 --- a/lib/src/_shared/ModalDialog.jsx +++ b/lib/src/_shared/ModalDialog.jsx @@ -2,11 +2,11 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; import EventListener from 'react-event-listener'; -import withStyles from 'material-ui/styles/withStyles'; -import Button from 'material-ui/Button'; -import Dialog from 'material-ui/Dialog/Dialog'; -import DialogActions from 'material-ui/Dialog/DialogActions'; -import DialogContent from 'material-ui/Dialog/DialogContent'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Button from '@material-ui/core/Button'; +import Dialog from '@material-ui/core/Dialog'; +import DialogActions from '@material-ui/core/DialogActions'; +import DialogContent from '@material-ui/core/DialogContent'; const dialogWidth = 310; const styles = { diff --git a/lib/src/_shared/PickerToolbar.jsx b/lib/src/_shared/PickerToolbar.jsx index 2098e01e22a440..9ac516f6b12e07 100644 --- a/lib/src/_shared/PickerToolbar.jsx +++ b/lib/src/_shared/PickerToolbar.jsx @@ -1,8 +1,8 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import withStyles from 'material-ui/styles/withStyles'; -import Toolbar from 'material-ui/Toolbar'; +import withStyles from '@material-ui/core/styles/withStyles'; +import Toolbar from '@material-ui/core/Toolbar'; const PickerToolbar = (props) => { const { diff --git a/lib/src/_shared/ToolbarButton.jsx b/lib/src/_shared/ToolbarButton.jsx index 237e9584881db3..2a9a1f1762349c 100644 --- a/lib/src/_shared/ToolbarButton.jsx +++ b/lib/src/_shared/ToolbarButton.jsx @@ -1,8 +1,8 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import Typography from 'material-ui/Typography'; -import withStyles from 'material-ui/styles/withStyles'; +import Typography from '@material-ui/core/Typography'; +import withStyles from '@material-ui/core/styles/withStyles'; const ToolbarButton = (props) => { const { From b10fc99d4f7023ba569a9028ef8a84c1e50da30d Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 15 May 2018 16:09:59 +0300 Subject: [PATCH 0581/1801] Move utils creation to getDerivedStateFromProps --- lib/src/utils/MuiPickersUtilsProvider.jsx | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/src/utils/MuiPickersUtilsProvider.jsx b/lib/src/utils/MuiPickersUtilsProvider.jsx index 0ae147474e247b..15c80cd993e172 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.jsx +++ b/lib/src/utils/MuiPickersUtilsProvider.jsx @@ -6,9 +6,13 @@ export const MuiPickersContextConsumer = Consumer; export default class MuiPickersUtilsProvider extends PureComponent { static propTypes = { + /* eslint-disable react/no-unused-prop-types */ utils: PropTypes.func.isRequired, locale: PropTypes.oneOfType([PropTypes.object, PropTypes.string]), - children: PropTypes.element.isRequired, + children: PropTypes.oneOfType([ + PropTypes.element.isRequired, + PropTypes.arrayOf(PropTypes.element.isRequired), + ]).isRequired, moment: PropTypes.func, } @@ -17,10 +21,17 @@ export default class MuiPickersUtilsProvider extends PureComponent { moment: undefined, } - render() { - const { utils: Utils, locale, moment } = this.props; - const utils = new Utils({ locale, moment }); + static getDerivedStateFromProps({ utils: Utils, locale, moment }) { + return { + utils: new Utils({ locale, moment }), + }; + } - return {this.props.children} ; + state = { + utils: null, + } + + render() { + return {this.props.children} ; } } From 4ac512326bb5a59279cf1992dd69cb4e266768b9 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 15 May 2018 16:22:49 +0300 Subject: [PATCH 0582/1801] Forward ref in withUtuls hoc via React.forwardRef api --- .../Guides/ControllingProgrammatically.jsx | 2 +- lib/src/_shared/WithUtils.jsx | 25 ++++++------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/docs/src/Examples/Guides/ControllingProgrammatically.jsx b/docs/src/Examples/Guides/ControllingProgrammatically.jsx index 13f2b5c6f5bd1e..ecb8d35f66283b 100644 --- a/docs/src/Examples/Guides/ControllingProgrammatically.jsx +++ b/docs/src/Examples/Guides/ControllingProgrammatically.jsx @@ -31,7 +31,7 @@ class ControllingProgrammaticallyExample extends PureComponent {
{ this.picker = node; }} + ref={(node) => { this.picker = node; }} label="Localization done right" format="D MMM YYYY" value={selectedDate} diff --git a/lib/src/_shared/WithUtils.jsx b/lib/src/_shared/WithUtils.jsx index 696544e935a0c8..7ab09015acd708 100644 --- a/lib/src/_shared/WithUtils.jsx +++ b/lib/src/_shared/WithUtils.jsx @@ -1,25 +1,16 @@ import React from 'react'; -import PropTypes from 'prop-types'; import { MuiPickersContextConsumer } from '../utils/MuiPickersUtilsProvider'; -const withUtils = () => (Component) => { - const WithUtils = ({ pickerRef, ...other }) => ( +const WithUtils = () => (Component) => { + const withUtils = React.forwardRef((props, ref) => ( - {utils => } + {utils => } - ); + )); - WithUtils.displayName = `WithUtils(${Component.displayName || Component.name})`; - - WithUtils.propTypes = { - pickerRef: PropTypes.func, - }; - - WithUtils.defaultProps = { - pickerRef: undefined, - }; - - return WithUtils; + withUtils.displayName = `WithUtils(${Component.displayName || Component.name})`; + return withUtils; }; -export default withUtils; +export default WithUtils; + From cb4498bf4022530d6eab82eacea172a9cb6ec14c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 15 May 2018 16:33:28 +0300 Subject: [PATCH 0583/1801] [#406] [typescript] Make utils prop of MuiPickersUtilsProvider typed as any --- .../DatePicker/DatePickerWrapper.usage.tsx | 7 +++--- lib/package-lock.json | 24 +++++++------------ lib/src/utils/MuiPickersUtilsProvider.d.ts | 6 ++--- 3 files changed, 13 insertions(+), 24 deletions(-) diff --git a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx index a857a587cc2202..d7e7f8bf1a7e48 100644 --- a/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx +++ b/lib/__tests__/DatePicker/DatePickerWrapper.usage.tsx @@ -53,10 +53,9 @@ class CustomElements extends Component<{classes: any}, {selectedDate: Date}> { return ''; } - return date && date.isValid() ? - `Week of ${date.clone().startOf('week').format('MMM Do')}` - : - invalidLabel; + return date && date.isValid() + ? `Week of ${date.clone().startOf('week').format('MMM Do')}` + : invalidLabel; } renderWrappedDefaultDay = (day: Moment, selectedDate: Moment, dayInCurrentMonth: boolean, dayComponent: DayComponent) => { diff --git a/lib/package-lock.json b/lib/package-lock.json index f9d108e74b76b8..a868ce633b2c97 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -3233,8 +3233,7 @@ "buffer-shims": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "caseless": { "version": "0.12.0", @@ -3251,14 +3250,12 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "combined-stream": { "version": "1.0.5", "bundled": true, "dev": true, - "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -3271,14 +3268,12 @@ "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "cryptiles": { "version": "2.0.5", @@ -3323,8 +3318,7 @@ "delayed-stream": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "delegates": { "version": "1.0.0", @@ -3356,8 +3350,7 @@ "extsprintf": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "forever-agent": { "version": "0.6.1", @@ -3540,8 +3533,7 @@ "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "isstream": { "version": "0.1.2", @@ -4031,7 +4023,7 @@ "integrity": "sha512-E2s1b4GVbt8PyG+iaRN6ks8N0Oy2LOJz7SIMUwWWWx7Mr5Z08hKkfpkKQbOtOGqzkFpckDJHjjZ8qfigN2W86A==", "dev": true, "requires": { - "icu4c-data": "^0.61.2" + "icu4c-data": "^0.59.2" } }, "function-bind": { diff --git a/lib/src/utils/MuiPickersUtilsProvider.d.ts b/lib/src/utils/MuiPickersUtilsProvider.d.ts index 61472aeea8aecc..08b46f6bf8f8fb 100644 --- a/lib/src/utils/MuiPickersUtilsProvider.d.ts +++ b/lib/src/utils/MuiPickersUtilsProvider.d.ts @@ -1,12 +1,10 @@ import { ComponentClass, ReactNode } from 'react'; import { DateTimePickerView } from '../constants/date-picker-view'; -import DateFnsUtils from './date-fns-utils'; import { MaterialUiPickersDate } from '../typings/date'; -import MomentUtils from './moment-utils'; -import LuxonUtils from './luxon-utils'; +import { Utils } from '../typings/utils'; export interface MuiPickersUtilsProviderProps { - utils: typeof MomentUtils | typeof DateFnsUtils | typeof LuxonUtils; + utils: any; children: ReactNode; locale?: any; moment?: any; From 506586eb89d0e29a4a7b740a6ae6b9e6ca6a406e Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 15 May 2018 22:02:24 +0300 Subject: [PATCH 0584/1801] Rollback forwardRef usage for withStyles hoc --- .../Guides/ControllingProgrammatically.jsx | 2 +- lib/src/_shared/WithUtils.jsx | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/src/Examples/Guides/ControllingProgrammatically.jsx b/docs/src/Examples/Guides/ControllingProgrammatically.jsx index ecb8d35f66283b..13f2b5c6f5bd1e 100644 --- a/docs/src/Examples/Guides/ControllingProgrammatically.jsx +++ b/docs/src/Examples/Guides/ControllingProgrammatically.jsx @@ -31,7 +31,7 @@ class ControllingProgrammaticallyExample extends PureComponent {
{ this.picker = node; }} + pickerRef={(node) => { this.picker = node; }} label="Localization done right" format="D MMM YYYY" value={selectedDate} diff --git a/lib/src/_shared/WithUtils.jsx b/lib/src/_shared/WithUtils.jsx index 7ab09015acd708..4395cda2f78d2a 100644 --- a/lib/src/_shared/WithUtils.jsx +++ b/lib/src/_shared/WithUtils.jsx @@ -1,14 +1,24 @@ import React from 'react'; +import PropTypes from 'prop-types'; import { MuiPickersContextConsumer } from '../utils/MuiPickersUtilsProvider'; const WithUtils = () => (Component) => { - const withUtils = React.forwardRef((props, ref) => ( + const withUtils = ({ pickerRef, ...props }) => ( - {utils => } + {utils => } - )); + ); withUtils.displayName = `WithUtils(${Component.displayName || Component.name})`; + + withUtils.propTypes = { + pickerRef: PropTypes.func, + }; + + withUtils.defaultProps = { + pickerRef: undefined, + }; + return withUtils; }; From 75e6e2a4357c81917977c2cb45a36dae3d659730 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Tue, 15 May 2018 22:04:45 +0300 Subject: [PATCH 0585/1801] Update version --- lib/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/package.json b/lib/package.json index 19a405f27cd6d0..a2f335ebb9e297 100644 --- a/lib/package.json +++ b/lib/package.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.8", + "version": "1.0.0-rc.9", "private": true, "description": "React components, that implements material design pickers for material-ui v1", "main": "build/dist/material-ui-pickers.cjs.js", From 96d8b9efdbfb877e796c9a8eb695b5364be0c5b8 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 17 May 2018 10:13:58 +0200 Subject: [PATCH 0586/1801] mention date-fns version in docs --- docs/src/Routes/GettingStarted/Installation.jsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/docs/src/Routes/GettingStarted/Installation.jsx b/docs/src/Routes/GettingStarted/Installation.jsx index cb03f094d47948..327cb415a59782 100644 --- a/docs/src/Routes/GettingStarted/Installation.jsx +++ b/docs/src/Routes/GettingStarted/Installation.jsx @@ -6,7 +6,7 @@ import { Typography } from 'material-ui'; import muiPickerProviderCode from '!raw-loader!Examples/CodeSnippets/MuiPickerProviderCode'; const installLibCode = -`npm i -s date-fns@next +`npm i -s date-fns@2.0.0-alpha.7 // or npm i -s moment // or @@ -29,8 +29,14 @@ const Installation = () => ( luxon. If you are not using moment in the project (or dont have it in the bundle already) we suggest using date-fns, - because it much more lightweight and will be correctly tree-shaked from the bundle. + because it is much more lightweight and will be correctly tree-shaken from the bundle. + + Note, that we support only 2.0.0-alpha.7 version of date-fns for now (see +  #414 + ). + Stay tuned! + From 4125bbeddb5c63ef67a4f0e80ad741567fb37a94 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 17 May 2018 10:15:04 +0200 Subject: [PATCH 0587/1801] fix linter error --- docs/src/Routes/GettingStarted/Installation.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/Routes/GettingStarted/Installation.jsx b/docs/src/Routes/GettingStarted/Installation.jsx index 327cb415a59782..d4ee22da78608a 100644 --- a/docs/src/Routes/GettingStarted/Installation.jsx +++ b/docs/src/Routes/GettingStarted/Installation.jsx @@ -36,7 +36,7 @@ const Installation = () => (  #414 ). Stay tuned! - + From a4954c46b5724fba8ab3e825da1510a69a7fc958 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 17 May 2018 10:20:28 +0200 Subject: [PATCH 0588/1801] make date-fns version strict in package.json --- docs/package-lock.json | 4888 ++++++++++++++++++++-------------------- docs/package.json | 2 +- lib/package-lock.json | 3270 +++++++++++++-------------- lib/package.json | 4 +- 4 files changed, 4083 insertions(+), 4081 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 90c56e1a20cd82..9aa25b670e4ad0 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,8 +9,8 @@ "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.2.tgz", "integrity": "sha512-EX87yNYcisXO5BU9tT7stB7OGuDJyV3JwtMwhfUprrmHwYKWh9a3vchAy6DYzUSbmTA7bD46h8qata5jP1V7Zw==", "requires": { - "csstype": "^2.0.0", - "indefinite-observable": "^1.0.1" + "csstype": "2.4.1", + "indefinite-observable": "1.0.1" } }, "@types/react": { @@ -18,7 +18,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.13.tgz", "integrity": "sha512-YMFH/E9ryjUm2AoOy8KdTuG1SufaMuYmO/5xACROl0pm9dRmE2RN3d2zjv/eHALF6LGRZPVb7G9kqP0n5dWttQ==", "requires": { - "csstype": "^2.2.0" + "csstype": "2.4.1" } }, "@types/react-transition-group": { @@ -26,7 +26,7 @@ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.9.tgz", "integrity": "sha512-Id2MtQcmOgLymqqLqg1VjzNpN7O5vGoF47h3s7jxhzqWdMCtk2GwxFUqcKbGrRmHzzQGyRatfG8yahonIys74Q==", "requires": { - "@types/react": "*" + "@types/react": "16.3.13" } }, "abab": { @@ -39,7 +39,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", "requires": { - "mime-types": "~2.1.16", + "mime-types": "2.1.17", "negotiator": "0.6.1" } }, @@ -53,7 +53,7 @@ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", "requires": { - "acorn": "^4.0.3" + "acorn": "4.0.13" }, "dependencies": { "acorn": { @@ -68,7 +68,7 @@ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "requires": { - "acorn": "^4.0.4" + "acorn": "4.0.13" }, "dependencies": { "acorn": { @@ -84,7 +84,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "^3.0.4" + "acorn": "3.3.0" }, "dependencies": { "acorn": { @@ -105,10 +105,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -121,9 +121,9 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "alphanum-sort": { @@ -141,7 +141,7 @@ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" } }, "ansi-escapes": { @@ -169,8 +169,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "append-transform": { @@ -178,7 +178,7 @@ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "argparse": { @@ -186,7 +186,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "aria-query": { @@ -196,7 +196,7 @@ "dev": true, "requires": { "ast-types-flow": "0.0.7", - "commander": "^2.11.0" + "commander": "2.14.1" } }, "arr-diff": { @@ -204,7 +204,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -243,8 +243,8 @@ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "1.1.2", + "es-abstract": "1.10.0" } }, "array-map": { @@ -262,7 +262,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -295,9 +295,9 @@ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" } }, "assert": { @@ -329,7 +329,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { - "lodash": "^4.14.0" + "lodash": "4.17.5" } }, "async-each": { @@ -347,12 +347,12 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz", "integrity": "sha512-C9yv/UF3X+eJTi/zvfxuyfxmLibYrntpF3qoJYrMeQwgUJOZrZvpJiMG2FMQ3qnhWtF/be4pYONBBw95ZGe3vA==", "requires": { - "browserslist": "^2.5.1", - "caniuse-lite": "^1.0.30000748", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^6.0.13", - "postcss-value-parser": "^3.2.3" + "browserslist": "2.11.3", + "caniuse-lite": "1.0.30000808", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.17", + "postcss-value-parser": "3.3.0" } }, "aws-sign2": { @@ -379,9 +379,9 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "chalk": { @@ -389,11 +389,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -401,7 +401,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -411,25 +411,25 @@ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.0", - "debug": "^2.6.8", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.7", - "slash": "^1.0.0", - "source-map": "^0.5.6" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -444,10 +444,10 @@ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", "requires": { - "babel-code-frame": "^6.22.0", - "babel-traverse": "^6.23.1", - "babel-types": "^6.23.0", - "babylon": "^6.17.0" + "babel-code-frame": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0" } }, "babel-generator": { @@ -455,14 +455,14 @@ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.5", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "source-map": { @@ -477,9 +477,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-builder-react-jsx": { @@ -487,9 +487,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" } }, "babel-helper-call-delegate": { @@ -497,10 +497,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-define-map": { @@ -508,10 +508,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" } }, "babel-helper-explode-assignable-expression": { @@ -519,9 +519,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -529,11 +529,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -541,8 +541,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -550,8 +550,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-optimise-call-expression": { @@ -559,8 +559,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -568,9 +568,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" } }, "babel-helper-remap-async-to-generator": { @@ -578,11 +578,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-replace-supers": { @@ -590,12 +590,12 @@ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -603,8 +603,8 @@ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-jest": { @@ -612,9 +612,9 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", "requires": { - "babel-core": "^6.0.0", - "babel-plugin-istanbul": "^4.0.0", - "babel-preset-jest": "^20.0.3" + "babel-core": "6.26.0", + "babel-plugin-istanbul": "4.1.5", + "babel-preset-jest": "20.0.3" } }, "babel-loader": { @@ -622,9 +622,9 @@ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" } }, "babel-messages": { @@ -632,7 +632,7 @@ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -640,7 +640,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-dynamic-import-node": { @@ -648,9 +648,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.1.0.tgz", "integrity": "sha512-tTfZbM9Ecwj3GK50mnPrUpinTwA4xXmDiQGCk/aBYbvl1+X8YqldK86wZ1owVJ4u3mrKbRlXMma80J18qwiaTQ==", "requires": { - "babel-plugin-syntax-dynamic-import": "^6.18.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-istanbul": { @@ -658,9 +658,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", "requires": { - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.7.5", - "test-exclude": "^4.1.1" + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.9.1", + "test-exclude": "4.1.1" } }, "babel-plugin-jest-hoist": { @@ -713,9 +713,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-class-properties": { @@ -723,10 +723,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -734,7 +734,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -742,7 +742,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -750,11 +750,11 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.5" } }, "babel-plugin-transform-es2015-classes": { @@ -762,15 +762,15 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -778,8 +778,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -787,7 +787,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -795,8 +795,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-for-of": { @@ -804,7 +804,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -812,9 +812,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-literals": { @@ -822,7 +822,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -830,9 +830,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -840,10 +840,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -851,9 +851,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -861,9 +861,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-object-super": { @@ -871,8 +871,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -880,12 +880,12 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -893,8 +893,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -902,7 +902,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -910,9 +910,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-template-literals": { @@ -920,7 +920,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -928,7 +928,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -936,9 +936,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -946,9 +946,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-flow-strip-types": { @@ -956,8 +956,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -965,8 +965,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-constant-elements": { @@ -974,7 +974,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz", "integrity": "sha1-LxGb9NLN1F65uqrldAU8YE9hR90=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-display-name": { @@ -982,7 +982,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx": { @@ -990,9 +990,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "requires": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx-self": { @@ -1000,8 +1000,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1009,8 +1009,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-regenerator": { @@ -1018,7 +1018,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "requires": { - "regenerator-transform": "^0.10.0" + "regenerator-transform": "0.10.1" } }, "babel-plugin-transform-runtime": { @@ -1026,7 +1026,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -1034,8 +1034,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-preset-env": { @@ -1043,36 +1043,36 @@ "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^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.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.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.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.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.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^2.1.2", - "invariant": "^2.2.2", - "semver": "^5.3.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "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.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.11.3", + "invariant": "2.2.2", + "semver": "5.4.1" } }, "babel-preset-flow": { @@ -1080,7 +1080,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "requires": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" + "babel-plugin-transform-flow-strip-types": "6.22.0" } }, "babel-preset-jest": { @@ -1088,7 +1088,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", "requires": { - "babel-plugin-jest-hoist": "^20.0.3" + "babel-plugin-jest-hoist": "20.0.3" } }, "babel-preset-react": { @@ -1096,12 +1096,12 @@ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", "requires": { - "babel-plugin-syntax-jsx": "^6.3.13", - "babel-plugin-transform-react-display-name": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.24.1", - "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-plugin-syntax-jsx": "6.18.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "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-preset-react-app": { @@ -1129,13 +1129,13 @@ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.5", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" } }, "babel-runtime": { @@ -1143,8 +1143,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -1152,11 +1152,11 @@ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.5" } }, "babel-traverse": { @@ -1164,15 +1164,15 @@ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.5" }, "dependencies": { "globals": { @@ -1187,10 +1187,10 @@ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.5", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -1219,7 +1219,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "big.js": { @@ -1248,15 +1248,15 @@ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", + "depd": "1.1.2", + "http-errors": "1.6.2", "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "~1.6.15" + "type-is": "1.6.15" } }, "bonjour": { @@ -1264,12 +1264,12 @@ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" } }, "boolbase": { @@ -1282,7 +1282,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.0" } }, "boxen": { @@ -1290,13 +1290,13 @@ "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.3.2", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-styles": { @@ -1304,7 +1304,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "camelcase": { @@ -1317,9 +1317,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" } }, "supports-color": { @@ -1327,7 +1327,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1337,7 +1337,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -1346,9 +1346,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "brcast": { @@ -1381,12 +1381,12 @@ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "browserify-cipher": { @@ -1394,9 +1394,9 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "browserify-aes": "1.1.1", + "browserify-des": "1.0.0", + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -1404,9 +1404,9 @@ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" } }, "browserify-rsa": { @@ -1414,8 +1414,8 @@ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -1423,13 +1423,13 @@ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.0" } }, "browserify-zlib": { @@ -1437,7 +1437,7 @@ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "requires": { - "pako": "~1.0.5" + "pako": "1.0.6" } }, "browserslist": { @@ -1445,8 +1445,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "requires": { - "caniuse-lite": "^1.0.30000792", - "electron-to-chromium": "^1.3.30" + "caniuse-lite": "1.0.30000808", + "electron-to-chromium": "1.3.33" } }, "bser": { @@ -1454,7 +1454,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } }, "buffer": { @@ -1462,9 +1462,9 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "1.2.1", + "ieee754": "1.1.8", + "isarray": "1.0.0" } }, "buffer-from": { @@ -1504,7 +1504,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -1518,8 +1518,8 @@ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" + "no-case": "2.3.2", + "upper-case": "1.1.3" } }, "camelcase": { @@ -1532,8 +1532,8 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" }, "dependencies": { "camelcase": { @@ -1548,10 +1548,10 @@ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000808", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" }, "dependencies": { "browserslist": { @@ -1559,8 +1559,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" + "caniuse-db": "1.0.30000808", + "electron-to-chromium": "1.3.33" } } } @@ -1595,8 +1595,8 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -1604,11 +1604,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "strip-ansi": { @@ -1616,7 +1616,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -1636,15 +1636,15 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" } }, "ci-info": { @@ -1657,8 +1657,8 @@ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "circular-json": { @@ -1672,7 +1672,7 @@ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "requires": { - "chalk": "^1.1.3" + "chalk": "1.1.3" }, "dependencies": { "chalk": { @@ -1680,11 +1680,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -1692,7 +1692,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -1707,7 +1707,7 @@ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", "requires": { - "source-map": "0.5.x" + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -1727,7 +1727,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -1741,9 +1741,9 @@ "integrity": "sha512-gXzHBlzEVqCk2b8Wpkil89S0WSMAX7eZho2zANX+EEEa9LMutGe9ICU+wHRzsH7cCHaCbUzj900P+AXOM0FE3A==", "optional": true, "requires": { - "good-listener": "^1.2.2", - "select": "^1.1.2", - "tiny-emitter": "^2.0.0" + "good-listener": "1.2.2", + "select": "1.1.2", + "tiny-emitter": "2.0.2" } }, "cliui": { @@ -1751,8 +1751,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -1778,7 +1778,7 @@ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "requires": { - "q": "^1.1.2" + "q": "1.5.1" } }, "code-point-at": { @@ -1791,9 +1791,9 @@ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" + "clone": "1.0.3", + "color-convert": "1.9.1", + "color-string": "0.3.0" } }, "color-convert": { @@ -1801,7 +1801,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { - "color-name": "^1.1.1" + "color-name": "1.1.3" } }, "color-name": { @@ -1814,7 +1814,7 @@ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "requires": { - "color-name": "^1.0.0" + "color-name": "1.1.3" } }, "colormin": { @@ -1822,9 +1822,9 @@ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "requires": { - "color": "^0.11.0", + "color": "0.11.4", "css-color-names": "0.0.4", - "has": "^1.0.1" + "has": "1.0.1" } }, "colors": { @@ -1837,7 +1837,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -1855,9 +1855,9 @@ "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.24.0.tgz", "integrity": "sha1-uA3gGCxUY1VkOqFdsSv7KCNoJ48=", "requires": { - "entities": "~ 1.1.1", - "mdurl": "~ 1.0.1", - "string.prototype.repeat": "^0.2.0" + "entities": "1.1.1", + "mdurl": "1.0.1", + "string.prototype.repeat": "0.2.0" } }, "commonmark-react-renderer": { @@ -1865,10 +1865,10 @@ "resolved": "https://registry.npmjs.org/commonmark-react-renderer/-/commonmark-react-renderer-4.3.4.tgz", "integrity": "sha512-+/Rzo3sI37NR8LaVdkUiqBH3+CEW75hc86shwY4E9eEERg78VCy4rSkaP/p7OG5bTvosUMkvhn5d1ZJ5iyt/ag==", "requires": { - "lodash.assign": "^4.2.0", - "lodash.isplainobject": "^4.0.6", - "pascalcase": "^0.1.1", - "xss-filters": "^1.2.6" + "lodash.assign": "4.2.0", + "lodash.isplainobject": "4.0.6", + "pascalcase": "0.1.1", + "xss-filters": "1.2.7" } }, "compressible": { @@ -1876,7 +1876,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "requires": { - "mime-db": ">= 1.30.0 < 2" + "mime-db": "1.30.0" } }, "compression": { @@ -1884,13 +1884,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.4", "bytes": "3.0.0", - "compressible": "~2.0.11", + "compressible": "2.0.12", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.1", - "vary": "~1.1.2" + "vary": "1.1.2" } }, "concat-map": { @@ -1904,10 +1904,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.4", + "typedarray": "0.0.6" } }, "configstore": { @@ -1915,12 +1915,12 @@ "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.1.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "connect-history-api-fallback": { @@ -1933,7 +1933,7 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "requires": { - "date-now": "^0.1.4" + "date-now": "0.1.4" } }, "constants-browserify": { @@ -1992,13 +1992,13 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", "requires": { - "is-directory": "^0.3.1", - "js-yaml": "^3.4.3", - "minimist": "^1.2.0", - "object-assign": "^4.1.0", - "os-homedir": "^1.0.1", - "parse-json": "^2.2.0", - "require-from-string": "^1.1.0" + "is-directory": "0.3.1", + "js-yaml": "3.10.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" }, "dependencies": { "minimist": { @@ -2013,8 +2013,8 @@ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "bn.js": "4.11.8", + "elliptic": "6.4.0" } }, "create-error-class": { @@ -2022,7 +2022,7 @@ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "create-hash": { @@ -2030,10 +2030,10 @@ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "sha.js": "^2.4.0" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "sha.js": "2.4.10" } }, "create-hmac": { @@ -2041,12 +2041,12 @@ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cipher-base": "1.0.4", + "create-hash": "1.1.3", + "inherits": "2.0.3", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" } }, "cross-env": { @@ -2055,8 +2055,8 @@ "integrity": "sha512-Mx8mw6JWhfpYoEk7PGvHxJMLQwQHORAs8+2bX+C1lGQ4h3GkDb1zbzC2Nw85YH9ZQMlO0BHZxMacgrfPmMFxbg==", "dev": true, "requires": { - "cross-spawn": "^5.1.0", - "is-windows": "^1.0.0" + "cross-spawn": "5.1.0", + "is-windows": "1.0.1" } }, "cross-spawn": { @@ -2064,9 +2064,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } }, "cryptiles": { @@ -2074,7 +2074,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.x.x" + "boom": "5.2.0" }, "dependencies": { "boom": { @@ -2082,7 +2082,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.0" } } } @@ -2092,17 +2092,17 @@ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "1.0.0", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.0", + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "diffie-hellman": "5.0.2", + "inherits": "2.0.3", + "pbkdf2": "3.0.14", + "public-encrypt": "4.0.0", + "randombytes": "2.0.6", + "randomfill": "1.0.3" } }, "crypto-random-string": { @@ -2120,20 +2120,20 @@ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz", "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==", "requires": { - "babel-code-frame": "^6.11.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": ">=2.6.1 <4", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.0.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.0.0", - "postcss-modules-local-by-default": "^1.0.1", - "postcss-modules-scope": "^1.0.0", - "postcss-modules-values": "^1.1.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.1.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" }, "dependencies": { "chalk": { @@ -2141,11 +2141,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -2165,10 +2165,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -2181,7 +2181,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -2189,7 +2189,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -2199,10 +2199,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", + "boolbase": "1.0.0", + "css-what": "2.1.0", "domutils": "1.5.1", - "nth-check": "~1.0.1" + "nth-check": "1.0.1" } }, "css-selector-tokenizer": { @@ -2210,9 +2210,9 @@ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" }, "dependencies": { "regexpu-core": { @@ -2220,9 +2220,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } } } @@ -2232,7 +2232,7 @@ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", "requires": { - "is-in-browser": "^1.0.2" + "is-in-browser": "1.1.3" } }, "css-what": { @@ -2250,38 +2250,38 @@ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.1", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.2", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" }, "dependencies": { "autoprefixer": { @@ -2289,12 +2289,12 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000808", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "browserslist": { @@ -2302,8 +2302,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" + "caniuse-db": "1.0.30000808", + "electron-to-chromium": "1.3.33" } }, "chalk": { @@ -2311,11 +2311,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -2335,10 +2335,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -2351,7 +2351,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -2359,7 +2359,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -2369,8 +2369,8 @@ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" + "clap": "1.2.3", + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -2390,7 +2390,7 @@ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "requires": { - "cssom": "0.3.x" + "cssom": "0.3.2" } }, "csstype": { @@ -2403,7 +2403,7 @@ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "d": { @@ -2411,7 +2411,7 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.37" } }, "damerau-levenshtein": { @@ -2425,7 +2425,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-fns": { @@ -2476,7 +2476,7 @@ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-properties": { @@ -2484,8 +2484,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.11" } }, "defined": { @@ -2498,13 +2498,13 @@ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" } }, "delayed-stream": { @@ -2528,8 +2528,8 @@ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" } }, "destroy": { @@ -2542,7 +2542,7 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "detect-node": { @@ -2555,8 +2555,8 @@ "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "requires": { - "address": "^1.0.1", - "debug": "^2.6.0" + "address": "1.0.3", + "debug": "2.6.9" } }, "diff": { @@ -2569,9 +2569,9 @@ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "dns-equal": { @@ -2584,8 +2584,8 @@ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "ip": "1.1.5", + "safe-buffer": "5.1.1" } }, "dns-txt": { @@ -2593,7 +2593,7 @@ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "requires": { - "buffer-indexof": "^1.0.0" + "buffer-indexof": "1.1.1" } }, "doctrine": { @@ -2601,7 +2601,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-converter": { @@ -2609,7 +2609,7 @@ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "requires": { - "utila": "~0.3" + "utila": "0.3.3" }, "dependencies": { "utila": { @@ -2629,8 +2629,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -2645,7 +2645,7 @@ "resolved": "https://registry.npmjs.org/dom-urls/-/dom-urls-1.1.0.tgz", "integrity": "sha1-AB3fgWKM0ecGElxxdvU8zsVdkY4=", "requires": { - "urijs": "^1.16.1" + "urijs": "1.19.1" } }, "dom-walk": { @@ -2668,7 +2668,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -2676,8 +2676,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -2685,7 +2685,7 @@ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "dotenv": { @@ -2714,7 +2714,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ee-first": { @@ -2732,13 +2732,13 @@ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.3", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" } }, "emoji-regex": { @@ -2762,7 +2762,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.19" } }, "enhanced-resolve": { @@ -2770,10 +2770,10 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "object-assign": "^4.0.1", - "tapable": "^0.2.7" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" } }, "entities": { @@ -2786,7 +2786,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error-ex": { @@ -2794,7 +2794,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -2802,11 +2802,11 @@ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -2814,9 +2814,9 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -2824,8 +2824,8 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "requires": { - "es6-iterator": "~2.0.1", - "es6-symbol": "~3.1.1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "es6-iterator": { @@ -2833,9 +2833,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-symbol": "3.1.1" } }, "es6-map": { @@ -2843,12 +2843,12 @@ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", - "es6-set": "~0.1.5", - "es6-symbol": "~3.1.1", - "event-emitter": "~0.3.5" + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-promise": { @@ -2861,11 +2861,11 @@ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "requires": { - "d": "1", - "es5-ext": "~0.10.14", - "es6-iterator": "~2.0.1", + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", - "event-emitter": "~0.3.5" + "event-emitter": "0.3.5" } }, "es6-symbol": { @@ -2873,8 +2873,8 @@ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.37" } }, "es6-weak-map": { @@ -2882,10 +2882,10 @@ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.37", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escape-html": { @@ -2903,11 +2903,11 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.5.6" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" }, "dependencies": { "esprima": { @@ -2928,10 +2928,10 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "requires": { - "es6-map": "^0.1.3", - "es6-weak-map": "^2.0.1", - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.0", + "estraverse": "4.2.0" } }, "eslint": { @@ -2940,44 +2940,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.3.2", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.0", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.4.0", + "ignore": "3.3.7", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.10.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.0.1", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", "table": "4.0.2", - "text-table": "~0.2.0" + "text-table": "0.2.0" }, "dependencies": { "ansi-styles": { @@ -2986,7 +2986,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -2995,9 +2995,9 @@ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" } }, "debug": { @@ -3015,7 +3015,7 @@ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -3026,7 +3026,7 @@ "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "^12.1.0" + "eslint-config-airbnb-base": "12.1.0" } }, "eslint-config-airbnb-base": { @@ -3035,7 +3035,7 @@ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { - "eslint-restricted-globals": "^0.1.1" + "eslint-restricted-globals": "0.1.1" } }, "eslint-config-react-app": { @@ -3049,8 +3049,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" + "debug": "2.6.9", + "resolve": "1.5.0" } }, "eslint-import-resolver-webpack": { @@ -3059,17 +3059,17 @@ "integrity": "sha512-b6JxR57ruiMxq2tIu4T/SrYED5RKJfeBEs8u3+JWF+O2RxDmFpUH84c5uS1T5qiP0K4r0SL7CXhvd41hXdDlAg==", "dev": true, "requires": { - "array-find": "^1.0.0", - "debug": "^2.6.8", - "enhanced-resolve": "~0.9.0", - "find-root": "^0.1.1", - "has": "^1.0.1", - "interpret": "^1.0.0", - "is-absolute": "^0.2.3", - "lodash.get": "^3.7.0", - "node-libs-browser": "^1.0.0 || ^2.0.0", - "resolve": "^1.2.0", - "semver": "^5.3.0" + "array-find": "1.0.0", + "debug": "2.6.9", + "enhanced-resolve": "0.9.1", + "find-root": "0.1.2", + "has": "1.0.1", + "interpret": "1.1.0", + "is-absolute": "0.2.6", + "lodash.get": "3.7.0", + "node-libs-browser": "2.1.0", + "resolve": "1.5.0", + "semver": "5.4.1" }, "dependencies": { "enhanced-resolve": { @@ -3078,9 +3078,9 @@ "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.2.0", - "tapable": "^0.1.8" + "graceful-fs": "4.1.11", + "memory-fs": "0.2.0", + "tapable": "0.1.10" } }, "memory-fs": { @@ -3102,11 +3102,11 @@ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz", "integrity": "sha512-40aN976qSNPyb9ejTqjEthZITpls1SVKtwguahmH1dzGCwQU/vySE+xX33VZmD8csU0ahVNCtFlsPgKqRBiqgg==", "requires": { - "loader-fs-cache": "^1.0.0", - "loader-utils": "^1.0.2", - "object-assign": "^4.0.1", - "object-hash": "^1.1.4", - "rimraf": "^2.6.1" + "loader-fs-cache": "1.0.1", + "loader-utils": "1.1.0", + "object-assign": "4.1.1", + "object-hash": "1.2.0", + "rimraf": "2.6.2" } }, "eslint-module-utils": { @@ -3115,8 +3115,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "^2.6.8", - "pkg-dir": "^1.0.0" + "debug": "2.6.9", + "pkg-dir": "1.0.0" }, "dependencies": { "find-up": { @@ -3125,8 +3125,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -3135,7 +3135,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "pkg-dir": { @@ -3144,7 +3144,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" } } } @@ -3154,7 +3154,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.39.1.tgz", "integrity": "sha512-RiQv+7Z9QDJuzt+NO8sYgkLGT+h+WeCrxP7y8lI7wpU41x3x/2o3PGtHk9ck8QnA9/mlbNcy/hG0eKvmd7npaA==", "requires": { - "lodash": "^4.15.0" + "lodash": "4.17.5" } }, "eslint-plugin-import": { @@ -3163,16 +3163,16 @@ "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=", "dev": true, "requires": { - "contains-path": "^0.1.0", - "debug": "^2.6.8", + "contains-path": "0.1.0", + "debug": "2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.1", - "eslint-module-utils": "^2.2.0", - "has": "^1.0.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.3", - "read-pkg-up": "^2.0.0", - "resolve": "^1.6.0" + "eslint-import-resolver-node": "0.3.2", + "eslint-module-utils": "2.2.0", + "has": "1.0.1", + "lodash": "4.17.5", + "minimatch": "3.0.4", + "read-pkg-up": "2.0.0", + "resolve": "1.7.1" }, "dependencies": { "doctrine": { @@ -3181,8 +3181,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "2.0.2", + "isarray": "1.0.0" } }, "load-json-file": { @@ -3191,10 +3191,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "path-type": { @@ -3203,7 +3203,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -3212,9 +3212,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -3223,8 +3223,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "resolve": { @@ -3233,7 +3233,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } }, "strip-bom": { @@ -3250,13 +3250,13 @@ "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", "dev": true, "requires": { - "aria-query": "^0.7.0", - "array-includes": "^3.0.3", + "aria-query": "0.7.1", + "array-includes": "3.0.3", "ast-types-flow": "0.0.7", - "axobject-query": "^0.1.0", - "damerau-levenshtein": "^1.0.0", - "emoji-regex": "^6.1.0", - "jsx-ast-utils": "^2.0.0" + "axobject-query": "0.1.0", + "damerau-levenshtein": "1.0.4", + "emoji-regex": "6.5.1", + "jsx-ast-utils": "2.0.1" } }, "eslint-plugin-react": { @@ -3265,10 +3265,10 @@ "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", "dev": true, "requires": { - "doctrine": "^2.0.2", - "has": "^1.0.1", - "jsx-ast-utils": "^2.0.1", - "prop-types": "^15.6.0" + "doctrine": "2.1.0", + "has": "1.0.1", + "jsx-ast-utils": "2.0.1", + "prop-types": "15.6.1" } }, "eslint-restricted-globals": { @@ -3283,8 +3283,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.0", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -3299,8 +3299,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "5.5.3", + "acorn-jsx": "3.0.1" }, "dependencies": { "acorn": { @@ -3322,7 +3322,7 @@ "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -3330,8 +3330,8 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "requires": { - "estraverse": "^4.1.0", - "object-assign": "^4.0.1" + "estraverse": "4.2.0", + "object-assign": "4.1.1" } }, "estraverse": { @@ -3354,8 +3354,8 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.37" } }, "eventemitter3": { @@ -3373,7 +3373,7 @@ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "requires": { - "original": ">=0.0.5" + "original": "1.0.0" } }, "evp_bytestokey": { @@ -3381,8 +3381,8 @@ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" } }, "exec-sh": { @@ -3390,7 +3390,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "requires": { - "merge": "^1.1.3" + "merge": "1.2.0" } }, "execa": { @@ -3398,13 +3398,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -3412,7 +3412,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -3420,7 +3420,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "expand-tilde": { @@ -3428,7 +3428,7 @@ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "requires": { - "homedir-polyfill": "^1.0.1" + "homedir-polyfill": "1.0.1" } }, "express": { @@ -3436,36 +3436,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.4", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.1", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.0", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.2", + "proxy-addr": "2.0.2", "qs": "6.5.1", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.1", "send": "0.16.1", "serve-static": "1.13.1", "setprototypeof": "1.1.0", - "statuses": "~1.3.1", - "type-is": "~1.6.15", + "statuses": "1.3.1", + "type-is": "1.6.15", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "array-flatten": { @@ -3490,9 +3490,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" } }, "extglob": { @@ -3500,7 +3500,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extract-text-webpack-plugin": { @@ -3508,10 +3508,10 @@ "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" + "async": "2.6.0", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.1.0" } }, "extsprintf": { @@ -3544,7 +3544,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } }, "fb-watchman": { @@ -3552,7 +3552,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "^2.0.0" + "bser": "2.0.0" } }, "fbjs": { @@ -3560,13 +3560,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "^1.0.0", - "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" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.17" }, "dependencies": { "core-js": { @@ -3579,7 +3579,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } } } @@ -3589,7 +3589,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -3598,8 +3598,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "file-loader": { @@ -3607,8 +3607,8 @@ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.5.tgz", "integrity": "sha512-RzGHDatcVNpGISTvCpfUfOGpYuSR7HSsSg87ki+wF6rw1Hm0RALPTiAdsxAq1UwLf0RRhbe22/eHK6nhXspiOQ==", "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.3.0" + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" } }, "filename-regex": { @@ -3621,8 +3621,8 @@ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "glob": "7.1.2", + "minimatch": "3.0.4" } }, "filesize": { @@ -3635,11 +3635,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" }, "dependencies": { "isobject": { @@ -3658,12 +3658,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.3.1", + "unpipe": "1.0.0" } }, "find-cache-dir": { @@ -3671,9 +3671,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.1.0", + "pkg-dir": "2.0.0" } }, "find-root": { @@ -3687,7 +3687,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -3696,10 +3696,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "flatten": { @@ -3717,7 +3717,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -3735,9 +3735,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" } }, "form-urlencoded": { @@ -3760,9 +3760,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^3.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "3.0.1", + "universalify": "0.1.1" } }, "fs.realpath": { @@ -3776,8 +3776,8 @@ "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", "optional": true, "requires": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.39" + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" }, "dependencies": { "abbrev": { @@ -3790,8 +3790,8 @@ "bundled": true, "optional": true, "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" + "co": "4.6.0", + "json-stable-stringify": "1.0.1" } }, "ansi-regex": { @@ -3808,8 +3808,8 @@ "bundled": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.2.9" } }, "asn1": { @@ -3846,28 +3846,28 @@ "bundled": true, "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "block-stream": { "version": "0.0.9", "bundled": true, "requires": { - "inherits": "~2.0.0" + "inherits": "2.0.3" } }, "boom": { "version": "2.10.1", "bundled": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "brace-expansion": { "version": "1.1.7", "bundled": true, "requires": { - "balanced-match": "^0.4.1", + "balanced-match": "0.4.2", "concat-map": "0.0.1" } }, @@ -3893,7 +3893,7 @@ "version": "1.0.5", "bundled": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "concat-map": { @@ -3912,7 +3912,7 @@ "version": "2.0.5", "bundled": true, "requires": { - "boom": "2.x.x" + "boom": "2.10.1" } }, "dashdash": { @@ -3920,7 +3920,7 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -3962,7 +3962,7 @@ "bundled": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "extend": { @@ -3997,10 +3997,10 @@ "version": "1.0.11", "bundled": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" } }, "fstream-ignore": { @@ -4008,9 +4008,9 @@ "bundled": true, "optional": true, "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" } }, "gauge": { @@ -4018,14 +4018,14 @@ "bundled": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "getpass": { @@ -4033,7 +4033,7 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -4047,12 +4047,12 @@ "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -4082,10 +4082,10 @@ "version": "3.1.3", "bundled": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "hoek": { @@ -4097,17 +4097,17 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4145,7 +4145,7 @@ "bundled": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "jsbn": { @@ -4163,7 +4163,7 @@ "bundled": true, "optional": true, "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -4233,17 +4233,17 @@ "bundled": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", + "detect-libc": "1.0.2", "hawk": "3.1.3", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.0.2", - "rc": "^1.1.7", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", "request": "2.81.0", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^2.2.1", - "tar-pack": "^3.4.0" + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" } }, "nopt": { @@ -4251,8 +4251,8 @@ "bundled": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.0", + "osenv": "0.1.4" } }, "npmlog": { @@ -4260,10 +4260,10 @@ "bundled": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -4284,7 +4284,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -4302,8 +4302,8 @@ "bundled": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -4334,10 +4334,10 @@ "bundled": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -4351,13 +4351,13 @@ "version": "2.2.9", "bundled": true, "requires": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" } }, "request": { @@ -4365,35 +4365,35 @@ "bundled": true, "optional": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "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": "~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", - "oauth-sign": "~0.8.1", - "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.6.0", - "uuid": "^3.0.0" + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" } }, "rimraf": { "version": "2.6.1", "bundled": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -4419,7 +4419,7 @@ "version": "1.0.9", "bundled": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "sshpk": { @@ -4427,15 +4427,15 @@ "bundled": true, "optional": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" }, "dependencies": { "assert-plus": { @@ -4449,16 +4449,16 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.0.1", "bundled": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.0.1" } }, "stringstream": { @@ -4470,7 +4470,7 @@ "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -4482,9 +4482,9 @@ "version": "2.2.1", "bundled": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" } }, "tar-pack": { @@ -4492,14 +4492,14 @@ "bundled": true, "optional": true, "requires": { - "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.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" } }, "tough-cookie": { @@ -4507,7 +4507,7 @@ "bundled": true, "optional": true, "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "tunnel-agent": { @@ -4515,7 +4515,7 @@ "bundled": true, "optional": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.0.1" } }, "tweetnacl": { @@ -4550,7 +4550,7 @@ "bundled": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -4590,7 +4590,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -4598,12 +4598,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -4611,8 +4611,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -4620,7 +4620,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "global": { @@ -4628,8 +4628,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "global-dirs": { @@ -4637,7 +4637,7 @@ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "global-modules": { @@ -4645,9 +4645,9 @@ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "global-prefix": "1.0.2", + "is-windows": "1.0.1", + "resolve-dir": "1.0.1" } }, "global-prefix": { @@ -4655,11 +4655,11 @@ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" + "expand-tilde": "2.0.2", + "homedir-polyfill": "1.0.1", + "ini": "1.3.5", + "is-windows": "1.0.1", + "which": "1.3.0" } }, "globals": { @@ -4673,12 +4673,12 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "good-listener": { @@ -4687,7 +4687,7 @@ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", "optional": true, "requires": { - "delegate": "^3.1.2" + "delegate": "3.2.0" } }, "got": { @@ -4695,17 +4695,17 @@ "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } }, "graceful-fs": { @@ -4723,7 +4723,7 @@ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", "requires": { - "duplexer": "^0.1.1" + "duplexer": "0.1.1" } }, "handle-thing": { @@ -4736,10 +4736,10 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -4752,7 +4752,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } }, "uglify-js": { @@ -4761,9 +4761,9 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "source-map": { @@ -4780,9 +4780,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -4798,8 +4798,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -4807,7 +4807,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "requires": { - "function-bind": "^1.0.2" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4815,7 +4815,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -4828,7 +4828,7 @@ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "requires": { - "inherits": "^2.0.1" + "inherits": "2.0.3" } }, "hash.js": { @@ -4836,8 +4836,8 @@ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" } }, "hawk": { @@ -4845,10 +4845,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" } }, "he": { @@ -4861,11 +4861,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "^2.2.1", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "value-equal": "^0.4.0", - "warning": "^3.0.0" + "invariant": "2.2.2", + "loose-envify": "1.3.1", + "resolve-pathname": "2.2.0", + "value-equal": "0.4.0", + "warning": "3.0.0" } }, "hmac-drbg": { @@ -4873,9 +4873,9 @@ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "1.1.3", + "minimalistic-assert": "1.0.0", + "minimalistic-crypto-utils": "1.0.1" } }, "hoek": { @@ -4893,8 +4893,8 @@ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "homedir-polyfill": { @@ -4902,7 +4902,7 @@ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "requires": { - "parse-passwd": "^1.0.0" + "parse-passwd": "1.0.0" } }, "hosted-git-info": { @@ -4915,10 +4915,10 @@ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "inherits": "2.0.3", + "obuf": "1.1.1", + "readable-stream": "2.3.4", + "wbuf": "1.7.2" } }, "html-comment-regex": { @@ -4931,7 +4931,7 @@ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "1.0.3" } }, "html-entities": { @@ -4944,14 +4944,14 @@ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.9.tgz", "integrity": "sha512-EZqO91XJwkj8BeLx9C12sKB/AHoTANaZax39vEOP9f/X/9jgJ3r1O2+neabuHqpz5kJO71TapP9JrtCY39su1A==", "requires": { - "camel-case": "3.0.x", - "clean-css": "4.1.x", - "commander": "2.14.x", - "he": "1.1.x", - "ncname": "1.0.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.3.x" + "camel-case": "3.0.0", + "clean-css": "4.1.9", + "commander": "2.14.1", + "he": "1.1.1", + "ncname": "1.0.0", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.3.10" } }, "html-webpack-plugin": { @@ -4959,12 +4959,12 @@ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz", "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=", "requires": { - "bluebird": "^3.4.7", - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "toposort": "^1.0.0" + "bluebird": "3.5.1", + "html-minifier": "3.5.9", + "loader-utils": "0.2.17", + "lodash": "4.17.5", + "pretty-error": "2.1.1", + "toposort": "1.0.6" }, "dependencies": { "loader-utils": { @@ -4972,10 +4972,10 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" } } } @@ -4985,10 +4985,10 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "requires": { - "domelementtype": "1", - "domhandler": "2.1", - "domutils": "1.1", - "readable-stream": "1.0" + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" }, "dependencies": { "domutils": { @@ -4996,7 +4996,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "isarray": { @@ -5009,10 +5009,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "string_decoder": { @@ -5035,7 +5035,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "statuses": "1.3.1" }, "dependencies": { "depd": { @@ -5060,8 +5060,8 @@ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", "requires": { - "eventemitter3": "1.x.x", - "requires-port": "1.x.x" + "eventemitter3": "1.2.0", + "requires-port": "1.0.0" } }, "http-proxy-middleware": { @@ -5069,10 +5069,10 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", "requires": { - "http-proxy": "^1.16.2", - "is-glob": "^3.1.0", - "lodash": "^4.17.2", - "micromatch": "^2.3.11" + "http-proxy": "1.16.2", + "is-glob": "3.1.0", + "lodash": "4.17.5", + "micromatch": "2.3.11" }, "dependencies": { "is-extglob": { @@ -5085,7 +5085,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -5095,9 +5095,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" } }, "https-browserify": { @@ -5125,7 +5125,7 @@ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.17" } }, "ieee754": { @@ -5149,8 +5149,8 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -5178,7 +5178,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "indexes-of": { @@ -5196,8 +5196,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -5215,20 +5215,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.0.0", + "chalk": "2.3.2", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.5", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-styles": { @@ -5236,7 +5236,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5244,9 +5244,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" } }, "supports-color": { @@ -5254,7 +5254,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -5264,7 +5264,7 @@ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "requires": { - "meow": "^3.3.0" + "meow": "3.7.0" } }, "interpret": { @@ -5277,7 +5277,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -5301,8 +5301,8 @@ "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", "dev": true, "requires": { - "is-relative": "^0.2.1", - "is-windows": "^0.2.0" + "is-relative": "0.2.1", + "is-windows": "0.2.0" }, "dependencies": { "is-windows": { @@ -5328,7 +5328,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -5341,7 +5341,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -5354,7 +5354,7 @@ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.2" } }, "is-date-object": { @@ -5377,7 +5377,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -5395,7 +5395,7 @@ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -5413,7 +5413,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-in-browser": { @@ -5426,8 +5426,8 @@ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-npm": { @@ -5440,7 +5440,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-obj": { @@ -5458,7 +5458,7 @@ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -5466,7 +5466,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -5479,7 +5479,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-posix-bracket": { @@ -5507,7 +5507,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "requires": { - "has": "^1.0.1" + "has": "1.0.1" } }, "is-relative": { @@ -5516,7 +5516,7 @@ "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", "dev": true, "requires": { - "is-unc-path": "^0.1.1" + "is-unc-path": "0.1.2" } }, "is-resolvable": { @@ -5545,7 +5545,7 @@ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "requires": { - "html-comment-regex": "^1.1.0" + "html-comment-regex": "1.1.1" } }, "is-symbol": { @@ -5564,7 +5564,7 @@ "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", "dev": true, "requires": { - "unc-path-regex": "^0.1.0" + "unc-path-regex": "0.1.2" } }, "is-utf8": { @@ -5602,8 +5602,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" } }, "isstream": { @@ -5616,17 +5616,17 @@ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" + "async": "2.6.0", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "js-yaml": "3.10.0", + "mkdirp": "0.5.1", + "once": "1.4.0" } }, "istanbul-lib-coverage": { @@ -5639,7 +5639,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -5647,13 +5647,13 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.1", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { @@ -5661,10 +5661,10 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -5677,7 +5677,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -5687,11 +5687,11 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -5714,7 +5714,7 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "jalaali-js": { @@ -5727,7 +5727,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-20.0.4.tgz", "integrity": "sha1-PdJgwpidba1nix6cxNkZRPbWAqw=", "requires": { - "jest-cli": "^20.0.4" + "jest-cli": "20.0.4" }, "dependencies": { "ansi-escapes": { @@ -5745,11 +5745,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "jest-cli": { @@ -5757,36 +5757,36 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", "requires": { - "ansi-escapes": "^1.4.0", - "callsites": "^2.0.0", - "chalk": "^1.1.3", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "istanbul-api": "^1.1.1", - "istanbul-lib-coverage": "^1.0.1", - "istanbul-lib-instrument": "^1.4.2", - "istanbul-lib-source-maps": "^1.1.0", - "jest-changed-files": "^20.0.3", - "jest-config": "^20.0.4", - "jest-docblock": "^20.0.3", - "jest-environment-jsdom": "^20.0.3", - "jest-haste-map": "^20.0.4", - "jest-jasmine2": "^20.0.4", - "jest-message-util": "^20.0.3", - "jest-regex-util": "^20.0.3", - "jest-resolve-dependencies": "^20.0.3", - "jest-runtime": "^20.0.4", - "jest-snapshot": "^20.0.3", - "jest-util": "^20.0.3", - "micromatch": "^2.3.11", - "node-notifier": "^5.0.2", - "pify": "^2.3.0", - "slash": "^1.0.0", - "string-length": "^1.0.1", - "throat": "^3.0.0", - "which": "^1.2.12", - "worker-farm": "^1.3.1", - "yargs": "^7.0.2" + "ansi-escapes": "1.4.0", + "callsites": "2.0.0", + "chalk": "1.1.3", + "graceful-fs": "4.1.11", + "is-ci": "1.1.0", + "istanbul-api": "1.2.1", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-source-maps": "1.2.2", + "jest-changed-files": "20.0.3", + "jest-config": "20.0.4", + "jest-docblock": "20.0.3", + "jest-environment-jsdom": "20.0.3", + "jest-haste-map": "20.0.5", + "jest-jasmine2": "20.0.4", + "jest-message-util": "20.0.3", + "jest-regex-util": "20.0.3", + "jest-resolve-dependencies": "20.0.3", + "jest-runtime": "20.0.4", + "jest-snapshot": "20.0.3", + "jest-util": "20.0.3", + "micromatch": "2.3.11", + "node-notifier": "5.2.1", + "pify": "2.3.0", + "slash": "1.0.0", + "string-length": "1.0.1", + "throat": "3.2.0", + "which": "1.3.0", + "worker-farm": "1.5.2", + "yargs": "7.1.0" } }, "strip-ansi": { @@ -5794,7 +5794,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -5809,16 +5809,16 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", "requires": { - "chalk": "^1.1.3", - "glob": "^7.1.1", - "jest-environment-jsdom": "^20.0.3", - "jest-environment-node": "^20.0.3", - "jest-jasmine2": "^20.0.4", - "jest-matcher-utils": "^20.0.3", - "jest-regex-util": "^20.0.3", - "jest-resolve": "^20.0.4", - "jest-validate": "^20.0.3", - "pretty-format": "^20.0.3" + "chalk": "1.1.3", + "glob": "7.1.2", + "jest-environment-jsdom": "20.0.3", + "jest-environment-node": "20.0.3", + "jest-jasmine2": "20.0.4", + "jest-matcher-utils": "20.0.3", + "jest-regex-util": "20.0.3", + "jest-resolve": "20.0.4", + "jest-validate": "20.0.3", + "pretty-format": "20.0.3" }, "dependencies": { "chalk": { @@ -5826,11 +5826,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -5838,7 +5838,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -5848,10 +5848,10 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", "requires": { - "chalk": "^1.1.3", - "diff": "^3.2.0", - "jest-matcher-utils": "^20.0.3", - "pretty-format": "^20.0.3" + "chalk": "1.1.3", + "diff": "3.4.0", + "jest-matcher-utils": "20.0.3", + "pretty-format": "20.0.3" }, "dependencies": { "chalk": { @@ -5859,11 +5859,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -5871,7 +5871,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -5886,9 +5886,9 @@ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", "requires": { - "jest-mock": "^20.0.3", - "jest-util": "^20.0.3", - "jsdom": "^9.12.0" + "jest-mock": "20.0.3", + "jest-util": "20.0.3", + "jsdom": "9.12.0" } }, "jest-environment-node": { @@ -5896,8 +5896,8 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", "requires": { - "jest-mock": "^20.0.3", - "jest-util": "^20.0.3" + "jest-mock": "20.0.3", + "jest-util": "20.0.3" } }, "jest-haste-map": { @@ -5905,12 +5905,12 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==", "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^20.0.3", - "micromatch": "^2.3.11", - "sane": "~1.6.0", - "worker-farm": "^1.3.1" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "20.0.3", + "micromatch": "2.3.11", + "sane": "1.6.0", + "worker-farm": "1.5.2" } }, "jest-jasmine2": { @@ -5918,15 +5918,15 @@ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", "requires": { - "chalk": "^1.1.3", - "graceful-fs": "^4.1.11", - "jest-diff": "^20.0.3", - "jest-matcher-utils": "^20.0.3", - "jest-matchers": "^20.0.3", - "jest-message-util": "^20.0.3", - "jest-snapshot": "^20.0.3", - "once": "^1.4.0", - "p-map": "^1.1.1" + "chalk": "1.1.3", + "graceful-fs": "4.1.11", + "jest-diff": "20.0.3", + "jest-matcher-utils": "20.0.3", + "jest-matchers": "20.0.3", + "jest-message-util": "20.0.3", + "jest-snapshot": "20.0.3", + "once": "1.4.0", + "p-map": "1.2.0" }, "dependencies": { "chalk": { @@ -5934,11 +5934,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -5946,7 +5946,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -5956,8 +5956,8 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", "requires": { - "chalk": "^1.1.3", - "pretty-format": "^20.0.3" + "chalk": "1.1.3", + "pretty-format": "20.0.3" }, "dependencies": { "chalk": { @@ -5965,11 +5965,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -5977,7 +5977,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -5987,10 +5987,10 @@ "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", "requires": { - "jest-diff": "^20.0.3", - "jest-matcher-utils": "^20.0.3", - "jest-message-util": "^20.0.3", - "jest-regex-util": "^20.0.3" + "jest-diff": "20.0.3", + "jest-matcher-utils": "20.0.3", + "jest-message-util": "20.0.3", + "jest-regex-util": "20.0.3" } }, "jest-message-util": { @@ -5998,9 +5998,9 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", "requires": { - "chalk": "^1.1.3", - "micromatch": "^2.3.11", - "slash": "^1.0.0" + "chalk": "1.1.3", + "micromatch": "2.3.11", + "slash": "1.0.0" }, "dependencies": { "chalk": { @@ -6008,11 +6008,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -6020,7 +6020,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -6040,9 +6040,9 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", "requires": { - "browser-resolve": "^1.11.2", - "is-builtin-module": "^1.0.0", - "resolve": "^1.3.2" + "browser-resolve": "1.11.2", + "is-builtin-module": "1.0.0", + "resolve": "1.5.0" } }, "jest-resolve-dependencies": { @@ -6050,7 +6050,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", "requires": { - "jest-regex-util": "^20.0.3" + "jest-regex-util": "20.0.3" } }, "jest-runtime": { @@ -6058,21 +6058,21 @@ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^20.0.3", - "babel-plugin-istanbul": "^4.0.0", - "chalk": "^1.1.3", - "convert-source-map": "^1.4.0", - "graceful-fs": "^4.1.11", - "jest-config": "^20.0.4", - "jest-haste-map": "^20.0.4", - "jest-regex-util": "^20.0.3", - "jest-resolve": "^20.0.4", - "jest-util": "^20.0.3", - "json-stable-stringify": "^1.0.1", - "micromatch": "^2.3.11", + "babel-core": "6.26.0", + "babel-jest": "20.0.3", + "babel-plugin-istanbul": "4.1.5", + "chalk": "1.1.3", + "convert-source-map": "1.5.1", + "graceful-fs": "4.1.11", + "jest-config": "20.0.4", + "jest-haste-map": "20.0.5", + "jest-regex-util": "20.0.3", + "jest-resolve": "20.0.4", + "jest-util": "20.0.3", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", "strip-bom": "3.0.0", - "yargs": "^7.0.2" + "yargs": "7.1.0" }, "dependencies": { "chalk": { @@ -6080,11 +6080,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -6092,7 +6092,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -6107,12 +6107,12 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", "requires": { - "chalk": "^1.1.3", - "jest-diff": "^20.0.3", - "jest-matcher-utils": "^20.0.3", - "jest-util": "^20.0.3", - "natural-compare": "^1.4.0", - "pretty-format": "^20.0.3" + "chalk": "1.1.3", + "jest-diff": "20.0.3", + "jest-matcher-utils": "20.0.3", + "jest-util": "20.0.3", + "natural-compare": "1.4.0", + "pretty-format": "20.0.3" }, "dependencies": { "chalk": { @@ -6120,11 +6120,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -6132,7 +6132,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -6142,13 +6142,13 @@ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", "requires": { - "chalk": "^1.1.3", - "graceful-fs": "^4.1.11", - "jest-message-util": "^20.0.3", - "jest-mock": "^20.0.3", - "jest-validate": "^20.0.3", - "leven": "^2.1.0", - "mkdirp": "^0.5.1" + "chalk": "1.1.3", + "graceful-fs": "4.1.11", + "jest-message-util": "20.0.3", + "jest-mock": "20.0.3", + "jest-validate": "20.0.3", + "leven": "2.1.0", + "mkdirp": "0.5.1" }, "dependencies": { "chalk": { @@ -6156,11 +6156,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -6168,7 +6168,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -6178,10 +6178,10 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", "requires": { - "chalk": "^1.1.3", - "jest-matcher-utils": "^20.0.3", - "leven": "^2.1.0", - "pretty-format": "^20.0.3" + "chalk": "1.1.3", + "jest-matcher-utils": "20.0.3", + "leven": "2.1.0", + "pretty-format": "20.0.3" }, "dependencies": { "chalk": { @@ -6189,11 +6189,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "strip-ansi": { @@ -6201,7 +6201,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -6221,8 +6221,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.9", + "esprima": "4.0.0" } }, "jsbn": { @@ -6236,25 +6236,25 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "requires": { - "abab": "^1.0.3", - "acorn": "^4.0.4", - "acorn-globals": "^3.1.0", - "array-equal": "^1.0.0", - "content-type-parser": "^1.0.1", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": ">= 0.2.37 < 0.3.0", - "escodegen": "^1.6.1", - "html-encoding-sniffer": "^1.0.1", - "nwmatcher": ">= 1.3.9 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.79.0", - "sax": "^1.2.1", - "symbol-tree": "^3.2.1", - "tough-cookie": "^2.3.2", - "webidl-conversions": "^4.0.0", - "whatwg-encoding": "^1.0.1", - "whatwg-url": "^4.3.0", - "xml-name-validator": "^2.0.1" + "abab": "1.0.4", + "acorn": "4.0.13", + "acorn-globals": "3.1.0", + "array-equal": "1.0.0", + "content-type-parser": "1.0.2", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.9.0", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.3", + "parse5": "1.5.1", + "request": "2.83.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.3", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "4.8.0", + "xml-name-validator": "2.0.1" }, "dependencies": { "acorn": { @@ -6289,7 +6289,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -6323,7 +6323,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -6347,9 +6347,9 @@ "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.1.tgz", "integrity": "sha512-a9dXInEPTRmdSmzw3LNhbAwdQVZgCRmFU7dFzrpLTMAcdolHXNamhxQ6J+PNIqUtWa9yRbZIzWX6aUlI55LZ/A==", "requires": { - "is-in-browser": "^1.1.3", - "symbol-observable": "^1.1.0", - "warning": "^3.0.0" + "is-in-browser": "1.1.3", + "symbol-observable": "1.2.0", + "warning": "3.0.0" } }, "jss-camel-case": { @@ -6357,7 +6357,7 @@ "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", "requires": { - "hyphenate-style-name": "^1.0.2" + "hyphenate-style-name": "1.0.2" } }, "jss-compose": { @@ -6365,7 +6365,7 @@ "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-default-unit": { @@ -6383,7 +6383,7 @@ "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-global": { @@ -6396,7 +6396,7 @@ "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-preset-default": { @@ -6404,16 +6404,16 @@ "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.3.0.tgz", "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==", "requires": { - "jss-camel-case": "^6.1.0", - "jss-compose": "^5.0.0", - "jss-default-unit": "^8.0.2", - "jss-expand": "^5.1.0", - "jss-extend": "^6.2.0", - "jss-global": "^3.0.0", - "jss-nested": "^6.0.1", - "jss-props-sort": "^6.0.0", - "jss-template": "^1.0.1", - "jss-vendor-prefixer": "^7.0.0" + "jss-camel-case": "6.1.0", + "jss-compose": "5.0.0", + "jss-default-unit": "8.0.2", + "jss-expand": "5.1.0", + "jss-extend": "6.2.0", + "jss-global": "3.0.0", + "jss-nested": "6.0.1", + "jss-props-sort": "6.0.0", + "jss-template": "1.0.1", + "jss-vendor-prefixer": "7.0.0" } }, "jss-props-sort": { @@ -6426,7 +6426,7 @@ "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.3.tgz", "integrity": "sha512-c9yOhTWldABdx+dds0XSXIbUcEWajBv+e7fl3zaiHCwOqbq4QiAdDTw7l4l5nqHAaGV6+33zMoS//KMMGpPA1A==", "requires": { - "rtl-css-js": "^1.8.0" + "rtl-css-js": "1.9.0" } }, "jss-template": { @@ -6434,7 +6434,7 @@ "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-vendor-prefixer": { @@ -6442,7 +6442,7 @@ "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", "requires": { - "css-vendor": "^0.3.8" + "css-vendor": "0.3.8" } }, "jsx-ast-utils": { @@ -6451,7 +6451,7 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "^3.0.3" + "array-includes": "3.0.3" } }, "keycode": { @@ -6469,7 +6469,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "klaw": { @@ -6477,7 +6477,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "latest-version": { @@ -6485,7 +6485,7 @@ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -6498,7 +6498,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "leven": { @@ -6511,8 +6511,8 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -6520,11 +6520,11 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "loader-fs-cache": { @@ -6532,7 +6532,7 @@ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=", "requires": { - "find-cache-dir": "^0.1.1", + "find-cache-dir": "0.1.1", "mkdirp": "0.5.1" }, "dependencies": { @@ -6541,9 +6541,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "requires": { - "commondir": "^1.0.1", - "mkdirp": "^0.5.1", - "pkg-dir": "^1.0.0" + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" } }, "find-up": { @@ -6551,8 +6551,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -6560,7 +6560,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "pkg-dir": { @@ -6568,7 +6568,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" } } } @@ -6583,9 +6583,9 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, "locate-path": { @@ -6593,8 +6593,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -6619,7 +6619,7 @@ "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", "dev": true, "requires": { - "lodash.isarray": "^3.0.0" + "lodash.isarray": "3.0.4" } }, "lodash.assign": { @@ -6643,8 +6643,8 @@ "integrity": "sha1-POaK4skWg7KBzFOUEoMDy/deaR8=", "dev": true, "requires": { - "lodash._baseget": "^3.0.0", - "lodash._topath": "^3.0.0" + "lodash._baseget": "3.7.2", + "lodash._topath": "3.8.1" } }, "lodash.isarray": { @@ -6668,8 +6668,8 @@ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", "requires": { - "lodash._reinterpolate": "~3.0.0", - "lodash.templatesettings": "^4.0.0" + "lodash._reinterpolate": "3.0.0", + "lodash.templatesettings": "4.1.0" } }, "lodash.templatesettings": { @@ -6677,7 +6677,7 @@ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", "requires": { - "lodash._reinterpolate": "~3.0.0" + "lodash._reinterpolate": "3.0.0" } }, "lodash.uniq": { @@ -6700,7 +6700,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -6708,8 +6708,8 @@ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lower-case": { @@ -6727,8 +6727,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "luxon": { @@ -6746,7 +6746,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" }, "dependencies": { "pify": { @@ -6761,7 +6761,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.4" } }, "map-obj": { @@ -6774,34 +6774,34 @@ "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.43.tgz", "integrity": "sha512-6prcG6pwOBAH3s44GJg1WiylByz/TSL6oXlDXnBW1Sb0mSjL1ezfdZj4nSO2qjrPyfDm9sjwxaR9ZoVIHxU17g==", "requires": { - "@types/jss": "^9.3.0", - "@types/react-transition-group": "^2.0.8", - "babel-runtime": "^6.26.0", - "brcast": "^3.0.1", - "classnames": "^2.2.5", - "deepmerge": "^2.0.1", - "dom-helpers": "^3.2.1", - "hoist-non-react-statics": "^2.5.0", - "jss": "^9.3.3", - "jss-camel-case": "^6.0.0", - "jss-default-unit": "^8.0.2", - "jss-global": "^3.0.0", - "jss-nested": "^6.0.1", - "jss-props-sort": "^6.0.0", - "jss-vendor-prefixer": "^7.0.0", - "keycode": "^2.1.9", - "lodash": "^4.2.0", - "normalize-scroll-left": "^0.1.2", - "prop-types": "^15.6.0", - "react-event-listener": "^0.5.1", - "react-jss": "^8.1.0", - "react-lifecycles-compat": "^2.0.0", - "react-popper": "^0.10.0", - "react-scrollbar-size": "^2.0.2", - "react-transition-group": "^2.2.1", - "recompose": "^0.26.0", - "scroll": "^2.0.3", - "warning": "^3.0.0" + "@types/jss": "9.5.2", + "@types/react-transition-group": "2.0.9", + "babel-runtime": "6.26.0", + "brcast": "3.0.1", + "classnames": "2.2.5", + "deepmerge": "2.1.0", + "dom-helpers": "3.3.1", + "hoist-non-react-statics": "2.5.0", + "jss": "9.8.1", + "jss-camel-case": "6.1.0", + "jss-default-unit": "8.0.2", + "jss-global": "3.0.0", + "jss-nested": "6.0.1", + "jss-props-sort": "6.0.0", + "jss-vendor-prefixer": "7.0.0", + "keycode": "2.2.0", + "lodash": "4.17.5", + "normalize-scroll-left": "0.1.2", + "prop-types": "15.6.1", + "react-event-listener": "0.5.3", + "react-jss": "8.4.0", + "react-lifecycles-compat": "2.0.2", + "react-popper": "0.10.1", + "react-scrollbar-size": "2.1.0", + "react-transition-group": "2.3.1", + "recompose": "0.26.0", + "scroll": "2.0.3", + "warning": "3.0.0" }, "dependencies": { "hoist-non-react-statics": { @@ -6816,9 +6816,9 @@ "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.4.0.tgz", "integrity": "sha512-oo4LuFq9KYn3YwQWOL5Q06UxCaEweRraC/YUEsRt0veiA/m/IO7waddiM5cmyZFpuh4CZmX7jG879wgKnzO/KA==", "requires": { - "moment": "^2.21.0", - "moment-jalaali": "^0.7.2", - "moment-range": "^3.1.1" + "moment": "2.21.0", + "moment-jalaali": "0.7.2", + "moment-range": "3.1.1" }, "dependencies": { "moment": { @@ -6838,8 +6838,8 @@ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" }, "dependencies": { "hash-base": { @@ -6847,8 +6847,8 @@ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } } } @@ -6868,7 +6868,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "memory-fs": { @@ -6876,8 +6876,8 @@ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "errno": "0.1.6", + "readable-stream": "2.3.4" } }, "meow": { @@ -6885,16 +6885,16 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "minimist": { @@ -6924,19 +6924,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "miller-rabin": { @@ -6944,8 +6944,8 @@ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "mime": { @@ -6963,7 +6963,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "~1.30.0" + "mime-db": "1.30.0" } }, "mimic-fn": { @@ -6976,7 +6976,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "minimalistic-assert": { @@ -6994,7 +6994,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -7020,9 +7020,9 @@ "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.7.2.tgz", "integrity": "sha512-CO9FG+vuuhzcyboqmocubwmVj0d0Z1QvnU1uNUzuO9ZyyMT7oJAAj1oGC1JvN9PA5GcAhDcrEQkGWim1lfRYYQ==", "requires": { - "jalaali-js": "^1.0.0", - "moment": "^2.18.1", - "rimraf": "^2.6.1" + "jalaali-js": "1.1.0", + "moment": "2.22.1", + "rimraf": "2.6.2" } }, "moment-range": { @@ -7030,7 +7030,7 @@ "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.1.1.tgz", "integrity": "sha1-XFLPn6sp253ZvNhtN+UrBKenJxo=", "requires": { - "es6-symbol": "^3.1.0" + "es6-symbol": "3.1.1" } }, "ms": { @@ -7043,8 +7043,8 @@ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "dns-packet": "1.3.1", + "thunky": "1.0.2" } }, "multicast-dns-service-types": { @@ -7073,7 +7073,7 @@ "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", "requires": { - "xml-char-classes": "^1.0.0" + "xml-char-classes": "1.0.0" } }, "negotiator": { @@ -7086,7 +7086,7 @@ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "requires": { - "lower-case": "^1.1.1" + "lower-case": "1.1.4" } }, "node-dir": { @@ -7094,7 +7094,7 @@ "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", "requires": { - "minimatch": "^3.0.2" + "minimatch": "3.0.4" } }, "node-fetch": { @@ -7102,8 +7102,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-forge": { @@ -7121,28 +7121,28 @@ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.4", + "stream-browserify": "2.0.1", + "stream-http": "2.8.0", + "string_decoder": "1.0.3", + "timers-browserify": "2.0.6", "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", + "url": "0.11.0", + "util": "0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -7158,10 +7158,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "^1.3.0", - "semver": "^5.4.1", - "shellwords": "^0.1.1", - "which": "^1.3.0" + "growly": "1.3.0", + "semver": "5.4.1", + "shellwords": "0.1.1", + "which": "1.3.0" } }, "normalize-package-data": { @@ -7169,10 +7169,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { @@ -7180,7 +7180,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-range": { @@ -7198,10 +7198,10 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" } }, "npm-run-path": { @@ -7209,7 +7209,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "nth-check": { @@ -7217,7 +7217,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { - "boolbase": "~1.0.0" + "boolbase": "1.0.0" } }, "num2fraction": { @@ -7260,8 +7260,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "obuf": { @@ -7287,7 +7287,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -7295,7 +7295,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -7303,7 +7303,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", "requires": { - "is-wsl": "^1.1.0" + "is-wsl": "1.1.0" } }, "optimist": { @@ -7311,8 +7311,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" }, "dependencies": { "wordwrap": { @@ -7327,12 +7327,12 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "original": { @@ -7340,7 +7340,7 @@ "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", "requires": { - "url-parse": "1.0.x" + "url-parse": "1.0.5" }, "dependencies": { "url-parse": { @@ -7348,8 +7348,8 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", "requires": { - "querystringify": "0.0.x", - "requires-port": "1.0.x" + "querystringify": "0.0.4", + "requires-port": "1.0.0" } } } @@ -7369,7 +7369,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "os-tmpdir": { @@ -7392,7 +7392,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "p-map": { @@ -7405,10 +7405,10 @@ "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.4.1" } }, "pako": { @@ -7421,7 +7421,7 @@ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "requires": { - "no-case": "^2.2.0" + "no-case": "2.3.2" } }, "parse-asn1": { @@ -7429,11 +7429,11 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "asn1.js": "4.9.2", + "browserify-aes": "1.1.1", + "create-hash": "1.1.3", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.14" } }, "parse-glob": { @@ -7441,10 +7441,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -7452,7 +7452,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "parse-passwd": { @@ -7525,9 +7525,9 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "patreon": { @@ -7535,11 +7535,11 @@ "resolved": "https://registry.npmjs.org/patreon/-/patreon-0.4.0.tgz", "integrity": "sha512-ne5n35WOJ7HvJi54tYyQK3hDipXRqJokbGVyGNPbEJN3E4igLQezKJwgXUn+nxmRffiC5Wu9fiTa0w496cyj5Q==", "requires": { - "form-urlencoded": "^2.0.4", - "is-plain-object": "^2.0.4", - "isomorphic-fetch": "^2.2.1", - "jsonapi-datastore": "^0.4.0-beta", - "verror": "^1.10.0" + "form-urlencoded": "2.0.4", + "is-plain-object": "2.0.4", + "isomorphic-fetch": "2.2.1", + "jsonapi-datastore": "0.4.0-beta", + "verror": "1.10.0" } }, "pbkdf2": { @@ -7547,11 +7547,11 @@ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "1.1.3", + "create-hmac": "1.1.6", + "ripemd160": "2.0.1", + "safe-buffer": "5.1.1", + "sha.js": "2.4.10" } }, "performance-now": { @@ -7574,7 +7574,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -7582,7 +7582,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "pluralize": { @@ -7601,9 +7601,9 @@ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" }, "dependencies": { "async": { @@ -7618,9 +7618,9 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", "requires": { - "chalk": "^2.3.0", - "source-map": "^0.6.1", - "supports-color": "^5.1.0" + "chalk": "2.3.2", + "source-map": "0.6.1", + "supports-color": "5.2.0" }, "dependencies": { "ansi-styles": { @@ -7628,7 +7628,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -7636,9 +7636,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" }, "dependencies": { "supports-color": { @@ -7646,7 +7646,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -7656,7 +7656,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -7666,9 +7666,9 @@ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" }, "dependencies": { "chalk": { @@ -7676,11 +7676,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -7700,10 +7700,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -7716,7 +7716,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -7724,7 +7724,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -7734,9 +7734,9 @@ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -7744,11 +7744,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -7768,10 +7768,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -7784,7 +7784,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -7792,7 +7792,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -7802,8 +7802,8 @@ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -7811,11 +7811,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -7835,10 +7835,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -7851,7 +7851,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -7859,7 +7859,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -7869,7 +7869,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "requires": { - "postcss": "^5.0.14" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -7877,11 +7877,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -7901,10 +7901,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -7917,7 +7917,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -7925,7 +7925,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -7935,7 +7935,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "requires": { - "postcss": "^5.0.4" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -7943,11 +7943,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -7967,10 +7967,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -7983,7 +7983,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -7991,7 +7991,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8001,7 +8001,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "requires": { - "postcss": "^5.0.14" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -8009,11 +8009,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8033,10 +8033,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8049,7 +8049,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8057,7 +8057,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8067,7 +8067,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "requires": { - "postcss": "^5.0.16" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -8075,11 +8075,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8099,10 +8099,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8115,7 +8115,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8123,7 +8123,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8133,8 +8133,8 @@ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" + "postcss": "5.2.18", + "uniqs": "2.0.0" }, "dependencies": { "chalk": { @@ -8142,11 +8142,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8166,10 +8166,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8182,7 +8182,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8190,7 +8190,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8200,8 +8200,8 @@ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "requires": { - "postcss": "^5.0.4", - "uniqid": "^4.0.0" + "postcss": "5.2.18", + "uniqid": "4.1.1" }, "dependencies": { "chalk": { @@ -8209,11 +8209,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8233,10 +8233,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8249,7 +8249,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8257,7 +8257,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8267,7 +8267,7 @@ "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.2.0.tgz", "integrity": "sha512-0AuD9HG1Ey3/3nqPWu9yqf7rL0KCPu5VgjDsjf5mzEcuo9H/z8nco/fljKgjsOUrZypa95MI0kS4xBZeBzz2lw==", "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.17" } }, "postcss-load-config": { @@ -8275,10 +8275,10 @@ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0", - "postcss-load-options": "^1.2.0", - "postcss-load-plugins": "^2.3.0" + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1", + "postcss-load-options": "1.2.0", + "postcss-load-plugins": "2.3.0" } }, "postcss-load-options": { @@ -8286,8 +8286,8 @@ "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", "requires": { - "cosmiconfig": "^2.1.0", - "object-assign": "^4.1.0" + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" } }, "postcss-load-plugins": { @@ -8295,8 +8295,8 @@ "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", "requires": { - "cosmiconfig": "^2.1.1", - "object-assign": "^4.1.0" + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" } }, "postcss-loader": { @@ -8304,10 +8304,10 @@ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.8.tgz", "integrity": "sha512-KtXBiQ/r/WYW8LxTSJK7h8wLqvCMSub/BqmRnud/Mu8RzwflW9cmXxwsMwbn15TNv287Hcufdb3ZSs7xHKnG8Q==", "requires": { - "loader-utils": "^1.1.0", - "postcss": "^6.0.0", - "postcss-load-config": "^1.2.0", - "schema-utils": "^0.3.0" + "loader-utils": "1.1.0", + "postcss": "6.0.17", + "postcss-load-config": "1.2.0", + "schema-utils": "0.3.0" } }, "postcss-merge-idents": { @@ -8315,9 +8315,9 @@ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -8325,11 +8325,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8349,10 +8349,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8365,7 +8365,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8373,7 +8373,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8383,7 +8383,7 @@ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "requires": { - "postcss": "^5.0.4" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -8391,11 +8391,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8415,10 +8415,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8431,7 +8431,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8439,7 +8439,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8449,11 +8449,11 @@ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.1" }, "dependencies": { "browserslist": { @@ -8461,8 +8461,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" + "caniuse-db": "1.0.30000808", + "electron-to-chromium": "1.3.33" } }, "chalk": { @@ -8470,11 +8470,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8494,10 +8494,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8510,7 +8510,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8518,7 +8518,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8533,9 +8533,9 @@ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -8543,11 +8543,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8567,10 +8567,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8583,7 +8583,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8591,7 +8591,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8601,8 +8601,8 @@ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -8610,11 +8610,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8634,10 +8634,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8650,7 +8650,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8658,7 +8658,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8668,10 +8668,10 @@ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" }, "dependencies": { "chalk": { @@ -8679,11 +8679,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8703,10 +8703,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8719,7 +8719,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8727,7 +8727,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8737,10 +8737,10 @@ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" + "alphanum-sort": "1.0.2", + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" }, "dependencies": { "chalk": { @@ -8748,11 +8748,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8772,10 +8772,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8788,7 +8788,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8796,7 +8796,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8806,7 +8806,7 @@ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.17" } }, "postcss-modules-local-by-default": { @@ -8814,8 +8814,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.17" } }, "postcss-modules-scope": { @@ -8823,8 +8823,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.17" } }, "postcss-modules-values": { @@ -8832,8 +8832,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.17" } }, "postcss-normalize-charset": { @@ -8841,7 +8841,7 @@ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "requires": { - "postcss": "^5.0.5" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -8849,11 +8849,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8873,10 +8873,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8889,7 +8889,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8897,7 +8897,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8907,10 +8907,10 @@ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -8918,11 +8918,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -8942,10 +8942,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -8958,7 +8958,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -8966,7 +8966,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -8976,8 +8976,8 @@ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -8985,11 +8985,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9009,10 +9009,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9025,7 +9025,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9033,7 +9033,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9043,8 +9043,8 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -9052,11 +9052,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9076,10 +9076,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9092,7 +9092,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9100,7 +9100,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9110,7 +9110,7 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "requires": { - "postcss": "^5.0.4" + "postcss": "5.2.18" }, "dependencies": { "chalk": { @@ -9118,11 +9118,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9142,10 +9142,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9158,7 +9158,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9166,7 +9166,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9176,9 +9176,9 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "chalk": { @@ -9186,11 +9186,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9210,10 +9210,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9226,7 +9226,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9234,7 +9234,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9244,9 +9244,9 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" } }, "postcss-svgo": { @@ -9254,10 +9254,10 @@ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" }, "dependencies": { "chalk": { @@ -9265,11 +9265,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9289,10 +9289,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9305,7 +9305,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9313,7 +9313,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9323,9 +9323,9 @@ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" }, "dependencies": { "chalk": { @@ -9333,11 +9333,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9357,10 +9357,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9373,7 +9373,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9381,7 +9381,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9396,9 +9396,9 @@ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" + "has": "1.0.1", + "postcss": "5.2.18", + "uniqs": "2.0.0" }, "dependencies": { "chalk": { @@ -9406,11 +9406,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -9430,10 +9430,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" } }, "source-map": { @@ -9446,7 +9446,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -9454,7 +9454,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -9484,8 +9484,8 @@ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" + "renderkid": "2.0.1", + "utila": "0.4.0" } }, "pretty-format": { @@ -9493,8 +9493,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", "requires": { - "ansi-regex": "^2.1.1", - "ansi-styles": "^3.0.0" + "ansi-regex": "2.1.1", + "ansi-styles": "3.2.0" }, "dependencies": { "ansi-styles": { @@ -9502,7 +9502,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } } } @@ -9512,7 +9512,7 @@ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.14.0.tgz", "integrity": "sha512-sa2s4m60bXs+kU3jcuUwx3ZCrUH7o0kuqnOOINbODqlRrDB7KY8SRx+xR/D7nHLlgfDdG7zXbRO8wJ+su5Ls0A==", "requires": { - "clipboard": "^2.0.0" + "clipboard": "2.0.0" } }, "private": { @@ -9541,7 +9541,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prop-types": { @@ -9549,9 +9549,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" } }, "proxy-addr": { @@ -9559,7 +9559,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.5.2" } }, @@ -9578,11 +9578,11 @@ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.1.3", + "parse-asn1": "5.1.0", + "randombytes": "2.0.6" } }, "punycode": { @@ -9605,8 +9605,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "querystring": { @@ -9629,7 +9629,7 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "^2.1.0" + "performance-now": "2.1.0" } }, "rafl": { @@ -9637,7 +9637,7 @@ "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", "requires": { - "global": "~4.3.0" + "global": "4.3.2" } }, "randomatic": { @@ -9645,8 +9645,8 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -9654,7 +9654,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -9662,7 +9662,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -9672,7 +9672,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -9682,7 +9682,7 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.1" } }, "randomfill": { @@ -9690,8 +9690,8 @@ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" } }, "range-parser": { @@ -9721,10 +9721,10 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -9739,10 +9739,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-dev-utils": { @@ -9762,7 +9762,7 @@ "inquirer": "3.3.0", "is-root": "1.0.0", "opn": "5.2.0", - "react-error-overlay": "^4.0.0", + "react-error-overlay": "4.0.0", "recursive-readdir": "2.2.1", "shell-quote": "1.6.1", "sockjs-client": "1.1.4", @@ -9775,7 +9775,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -9785,13 +9785,13 @@ "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-2.20.1.tgz", "integrity": "sha512-NYmD8nDPMWpIpqWqhSZjQ3P5iQml55IMkDG0ZInyWP7JD2ljaNhrxNWZnXPrOezUu6bYlcZUCxjw19s7zhE2uw==", "requires": { - "async": "^2.1.4", - "babel-runtime": "^6.9.2", - "babylon": "~5.8.3", - "commander": "^2.9.0", - "doctrine": "^2.0.0", - "node-dir": "^0.1.10", - "recast": "^0.12.6" + "async": "2.6.0", + "babel-runtime": "6.26.0", + "babylon": "5.8.38", + "commander": "2.14.1", + "doctrine": "2.1.0", + "node-dir": "0.1.17", + "recast": "0.12.9" }, "dependencies": { "babylon": { @@ -9806,10 +9806,10 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-error-overlay": { @@ -9822,10 +9822,10 @@ "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz", "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", "requires": { - "babel-runtime": "^6.26.0", - "fbjs": "^0.8.16", - "prop-types": "^15.6.0", - "warning": "^3.0.0" + "babel-runtime": "6.26.0", + "fbjs": "0.8.16", + "prop-types": "15.6.1", + "warning": "3.0.0" } }, "react-jss": { @@ -9833,11 +9833,11 @@ "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.4.0.tgz", "integrity": "sha512-yIi4udcTIIh5u4KJ47wsL3UZYMuSrp5xR1YBvPeRNshpCdRoJxt5BWmCu1RA3LIa+//dnRsAtAQmMAYeg1W9oQ==", "requires": { - "hoist-non-react-statics": "^2.3.1", - "jss": "^9.7.0", - "jss-preset-default": "^4.3.0", - "prop-types": "^15.6.0", - "theming": "^1.3.0" + "hoist-non-react-statics": "2.3.1", + "jss": "9.8.1", + "jss-preset-default": "4.3.0", + "prop-types": "15.6.1", + "theming": "1.3.0" } }, "react-lifecycles-compat": { @@ -9850,9 +9850,9 @@ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.5.1.tgz", "integrity": "sha512-N5xMde42RrclLIdF16bckTApFM56vkn4q3GoZlLkuE8IK23GOIqJsuE62RTrkgq//pAt4dovVgZcgawh7YtN4w==", "requires": { - "commonmark": "^0.24.0", - "commonmark-react-renderer": "^4.3.4", - "prop-types": "^15.5.1" + "commonmark": "0.24.0", + "commonmark-react-renderer": "4.3.4", + "prop-types": "15.6.1" } }, "react-popper": { @@ -9860,8 +9860,8 @@ "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.1.tgz", "integrity": "sha1-ah8llfr/2ncQW+1OiezyJgekxFI=", "requires": { - "popper.js": "^1.14.1", - "prop-types": "^15.6.1" + "popper.js": "1.14.3", + "prop-types": "15.6.1" } }, "react-router": { @@ -9869,13 +9869,13 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { - "history": "^4.7.2", - "hoist-non-react-statics": "^2.3.0", - "invariant": "^2.2.2", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.5.4", - "warning": "^3.0.0" + "history": "4.7.2", + "hoist-non-react-statics": "2.3.1", + "invariant": "2.2.2", + "loose-envify": "1.3.1", + "path-to-regexp": "1.7.0", + "prop-types": "15.6.1", + "warning": "3.0.0" } }, "react-router-dom": { @@ -9883,12 +9883,12 @@ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { - "history": "^4.7.2", - "invariant": "^2.2.2", - "loose-envify": "^1.3.1", - "prop-types": "^15.5.4", - "react-router": "^4.2.0", - "warning": "^3.0.0" + "history": "4.7.2", + "invariant": "2.2.2", + "loose-envify": "1.3.1", + "prop-types": "15.6.1", + "react-router": "4.2.0", + "warning": "3.0.0" } }, "react-scrollbar-size": { @@ -9896,10 +9896,10 @@ "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz", "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", "requires": { - "babel-runtime": "^6.26.0", - "prop-types": "^15.6.0", - "react-event-listener": "^0.5.1", - "stifle": "^1.0.2" + "babel-runtime": "6.26.0", + "prop-types": "15.6.1", + "react-event-listener": "0.5.3", + "stifle": "1.0.4" } }, "react-transition-group": { @@ -9907,9 +9907,9 @@ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.1.tgz", "integrity": "sha512-hu4/LAOFSKjWt1+1hgnOv3ldxmt6lvZGTWz4KUkFrqzXrNDIVSu6txIcPszw7PNduR8en9YTN55JLRyd/L1ZiQ==", "requires": { - "dom-helpers": "^3.3.1", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.1" + "dom-helpers": "3.3.1", + "loose-envify": "1.3.1", + "prop-types": "15.6.1" } }, "read-pkg": { @@ -9917,9 +9917,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -9927,8 +9927,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -9936,8 +9936,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -9945,7 +9945,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } } } @@ -9955,13 +9955,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -9969,10 +9969,10 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.4", + "set-immediate-shim": "1.0.1" } }, "recast": { @@ -9981,10 +9981,10 @@ "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", "requires": { "ast-types": "0.10.1", - "core-js": "^2.4.1", - "esprima": "~4.0.0", - "private": "~0.1.5", - "source-map": "~0.6.1" + "core-js": "2.5.3", + "esprima": "4.0.0", + "private": "0.1.8", + "source-map": "0.6.1" } }, "recompose": { @@ -9992,10 +9992,10 @@ "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", "requires": { - "change-emitter": "^0.1.2", - "fbjs": "^0.8.1", - "hoist-non-react-statics": "^2.3.1", - "symbol-observable": "^1.0.4" + "change-emitter": "0.1.6", + "fbjs": "0.8.16", + "hoist-non-react-statics": "2.3.1", + "symbol-observable": "1.2.0" } }, "recursive-readdir": { @@ -10011,7 +10011,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", "requires": { - "brace-expansion": "^1.0.0" + "brace-expansion": "1.1.8" } } } @@ -10021,8 +10021,8 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, "reduce-css-calc": { @@ -10030,9 +10030,9 @@ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" }, "dependencies": { "balanced-match": { @@ -10047,7 +10047,7 @@ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "requires": { - "balanced-match": "^0.4.2" + "balanced-match": "0.4.2" }, "dependencies": { "balanced-match": { @@ -10072,9 +10072,9 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" } }, "regex-cache": { @@ -10082,7 +10082,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regexpp": { @@ -10096,9 +10096,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -10106,8 +10106,8 @@ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.5", + "safe-buffer": "5.1.1" } }, "registry-url": { @@ -10115,7 +10115,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "^1.0.1" + "rc": "1.2.5" } }, "regjsgen": { @@ -10128,7 +10128,7 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { @@ -10153,11 +10153,11 @@ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", "requires": { - "css-select": "^1.1.0", - "dom-converter": "~0.1", - "htmlparser2": "~3.3.0", - "strip-ansi": "^3.0.0", - "utila": "~0.3" + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" }, "dependencies": { "strip-ansi": { @@ -10165,7 +10165,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "utila": { @@ -10190,7 +10190,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -10198,28 +10198,28 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" } }, "require-directory": { @@ -10243,8 +10243,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" } }, "requires-port": { @@ -10257,7 +10257,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } }, "resolve-cwd": { @@ -10265,7 +10265,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" }, "dependencies": { "resolve-from": { @@ -10280,8 +10280,8 @@ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" + "expand-tilde": "2.0.2", + "global-modules": "1.0.0" } }, "resolve-from": { @@ -10300,8 +10300,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "right-align": { @@ -10309,7 +10309,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -10317,7 +10317,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "ripemd160": { @@ -10325,8 +10325,8 @@ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", "requires": { - "hash-base": "^2.0.0", - "inherits": "^2.0.1" + "hash-base": "2.0.2", + "inherits": "2.0.3" } }, "rtl-css-js": { @@ -10339,7 +10339,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -10352,7 +10352,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "safe-buffer": { @@ -10365,13 +10365,13 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", "requires": { - "anymatch": "^1.3.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^1.8.0", - "minimatch": "^3.0.2", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.10.0" + "anymatch": "1.3.2", + "exec-sh": "0.2.1", + "fb-watchman": "1.9.2", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.10.0" }, "dependencies": { "bser": { @@ -10379,7 +10379,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } }, "fb-watchman": { @@ -10407,7 +10407,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "requires": { - "ajv": "^5.0.0" + "ajv": "5.5.2" } }, "scroll": { @@ -10415,7 +10415,7 @@ "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.3.tgz", "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "requires": { - "rafl": "~1.2.1" + "rafl": "1.2.2" } }, "select": { @@ -10447,7 +10447,7 @@ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { - "semver": "^5.0.3" + "semver": "5.4.1" } }, "send": { @@ -10456,18 +10456,18 @@ "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "requires": { "debug": "2.6.9", - "depd": "~1.1.1", - "destroy": "~1.0.4", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.3.1" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.3.1" }, "dependencies": { "mime": { @@ -10482,13 +10482,13 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "escape-html": "1.0.3", + "http-errors": "1.6.2", + "mime-types": "2.1.17", + "parseurl": "1.3.2" } }, "serve-static": { @@ -10496,9 +10496,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "requires": { - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.1" } }, @@ -10532,8 +10532,8 @@ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.1" } }, "shebang-command": { @@ -10541,7 +10541,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -10554,10 +10554,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "shellwords": { @@ -10581,7 +10581,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" } }, "sntp": { @@ -10589,7 +10589,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.0" } }, "sockjs": { @@ -10597,8 +10597,8 @@ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^2.0.2" + "faye-websocket": "0.10.0", + "uuid": "2.0.3" }, "dependencies": { "faye-websocket": { @@ -10606,7 +10606,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } }, "uuid": { @@ -10621,12 +10621,12 @@ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "requires": { - "debug": "^2.6.6", + "debug": "2.6.9", "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.2.0" } }, "sort-keys": { @@ -10634,7 +10634,7 @@ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "source-list-map": { @@ -10652,7 +10652,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -10667,7 +10667,7 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { @@ -10685,12 +10685,12 @@ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "requires": { - "debug": "^2.6.8", - "handle-thing": "^1.2.5", - "http-deceiver": "^1.2.7", - "safe-buffer": "^5.0.1", - "select-hose": "^2.0.0", - "spdy-transport": "^2.0.18" + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.1", + "select-hose": "2.0.0", + "spdy-transport": "2.0.20" } }, "spdy-transport": { @@ -10698,13 +10698,13 @@ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", "requires": { - "debug": "^2.6.8", - "detect-node": "^2.0.3", - "hpack.js": "^2.1.6", - "obuf": "^1.1.1", - "readable-stream": "^2.2.9", - "safe-buffer": "^5.0.1", - "wbuf": "^1.7.2" + "debug": "2.6.9", + "detect-node": "2.0.3", + "hpack.js": "2.1.6", + "obuf": "1.1.1", + "readable-stream": "2.3.4", + "safe-buffer": "5.1.1", + "wbuf": "1.7.2" } }, "sprintf-js": { @@ -10717,14 +10717,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" } }, "statuses": { @@ -10742,8 +10742,8 @@ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.4" } }, "stream-http": { @@ -10751,11 +10751,11 @@ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.3", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.4", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" } }, "strict-uri-encode": { @@ -10768,7 +10768,7 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", "requires": { - "strip-ansi": "^3.0.0" + "strip-ansi": "3.0.1" }, "dependencies": { "strip-ansi": { @@ -10776,7 +10776,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -10786,8 +10786,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "string.prototype.repeat": { @@ -10800,7 +10800,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "stringstream": { @@ -10813,7 +10813,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" }, "dependencies": { "ansi-regex": { @@ -10828,7 +10828,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -10841,7 +10841,7 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -10854,8 +10854,8 @@ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.0.tgz", "integrity": "sha512-9mx9sC9nX1dgP96MZOODpGC6l1RzQBITI2D5WJhu+wnbrSYVKLGuy14XJSLVQih/0GFrPpjelt+s//VcZQ2Evw==", "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.3.0" + "loader-utils": "1.1.0", + "schema-utils": "0.3.0" } }, "supports-color": { @@ -10868,13 +10868,13 @@ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" }, "dependencies": { "esprima": { @@ -10887,8 +10887,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" + "argparse": "1.0.9", + "esprima": "2.7.3" } } } @@ -10898,16 +10898,16 @@ "resolved": "https://registry.npmjs.org/sw-precache/-/sw-precache-5.2.1.tgz", "integrity": "sha512-8FAy+BP/FXE+ILfiVTt+GQJ6UEf4CVHD9OfhzH0JX+3zoy2uFk7Vn9EfXASOtVmmIVbL3jE/W8Z66VgPSZcMhw==", "requires": { - "dom-urls": "^1.1.0", - "es6-promise": "^4.0.5", - "glob": "^7.1.1", - "lodash.defaults": "^4.2.0", - "lodash.template": "^4.4.0", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "pretty-bytes": "^4.0.2", - "sw-toolbox": "^3.4.0", - "update-notifier": "^2.3.0" + "dom-urls": "1.1.0", + "es6-promise": "4.2.4", + "glob": "7.1.2", + "lodash.defaults": "4.2.0", + "lodash.template": "4.4.0", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "pretty-bytes": "4.0.2", + "sw-toolbox": "3.6.0", + "update-notifier": "2.3.0" } }, "sw-precache-webpack-plugin": { @@ -10915,9 +10915,9 @@ "resolved": "https://registry.npmjs.org/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.4.tgz", "integrity": "sha1-ppUBflTu1XVVFJOlGdwdqNotxeA=", "requires": { - "del": "^2.2.2", - "sw-precache": "^5.1.1", - "uglify-js": "^3.0.13" + "del": "2.2.2", + "sw-precache": "5.2.1", + "uglify-js": "3.3.10" } }, "sw-toolbox": { @@ -10925,8 +10925,8 @@ "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", "requires": { - "path-to-regexp": "^1.0.1", - "serviceworker-cache-polyfill": "^4.0.0" + "path-to-regexp": "1.7.0", + "serviceworker-cache-polyfill": "4.0.0" } }, "symbol-observable": { @@ -10945,12 +10945,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.3.2", + "lodash": "4.17.5", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-styles": { @@ -10959,7 +10959,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -10968,9 +10968,9 @@ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" } }, "supports-color": { @@ -10979,7 +10979,7 @@ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -10994,7 +10994,7 @@ "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "test-exclude": { @@ -11002,11 +11002,11 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "text-table": { @@ -11019,10 +11019,10 @@ "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", "requires": { - "brcast": "^3.0.1", - "is-function": "^1.0.1", - "is-plain-object": "^2.0.1", - "prop-types": "^15.5.8" + "brcast": "3.0.1", + "is-function": "1.0.1", + "is-plain-object": "2.0.4", + "prop-types": "15.6.1" } }, "throat": { @@ -11055,7 +11055,7 @@ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "requires": { - "setimmediate": "^1.0.4" + "setimmediate": "1.0.5" } }, "tiny-emitter": { @@ -11069,7 +11069,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "tmpl": { @@ -11097,7 +11097,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "tr46": { @@ -11125,7 +11125,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.1" } }, "tweetnacl": { @@ -11139,7 +11139,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-is": { @@ -11148,7 +11148,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.15" + "mime-types": "2.1.17" } }, "typedarray": { @@ -11167,8 +11167,8 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.10.tgz", "integrity": "sha512-dNib7aUDNZFJNTXFyq0CDmLRVOsnY1F+IQgt2FAOdZFx2+LvKVLbbIb/fL+BYKCv3YH3bPCE/6M/JaxChtQLHQ==", "requires": { - "commander": "~2.14.1", - "source-map": "~0.6.1" + "commander": "2.14.1", + "source-map": "0.6.1" } }, "uglify-to-browserify": { @@ -11182,9 +11182,9 @@ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "requires": { - "source-map": "^0.5.6", - "uglify-js": "^2.8.29", - "webpack-sources": "^1.0.1" + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" }, "dependencies": { "source-map": { @@ -11197,9 +11197,9 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" } }, "yargs": { @@ -11207,9 +11207,9 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -11231,7 +11231,7 @@ "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "requires": { - "macaddress": "^0.2.8" + "macaddress": "0.2.8" } }, "uniqs": { @@ -11244,7 +11244,7 @@ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "universalify": { @@ -11267,15 +11267,15 @@ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.3.2", + "configstore": "3.1.1", + "import-lazy": "2.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" }, "dependencies": { "ansi-styles": { @@ -11283,7 +11283,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -11291,9 +11291,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.3.0" } }, "supports-color": { @@ -11301,7 +11301,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -11337,9 +11337,9 @@ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", "requires": { - "loader-utils": "^1.0.2", - "mime": "^1.4.1", - "schema-utils": "^0.3.0" + "loader-utils": "1.1.0", + "mime": "1.6.0", + "schema-utils": "0.3.0" } }, "url-parse": { @@ -11347,8 +11347,8 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", "requires": { - "querystringify": "~1.0.0", - "requires-port": "~1.0.0" + "querystringify": "1.0.0", + "requires-port": "1.0.0" }, "dependencies": { "querystringify": { @@ -11363,7 +11363,7 @@ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "util": { @@ -11406,8 +11406,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "value-equal": { @@ -11430,9 +11430,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "vm-browserify": { @@ -11448,7 +11448,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.11" } }, "warning": { @@ -11456,7 +11456,7 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "watch": { @@ -11469,9 +11469,9 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "requires": { - "async": "^2.1.2", - "chokidar": "^1.7.0", - "graceful-fs": "^4.1.2" + "async": "2.6.0", + "chokidar": "1.7.0", + "graceful-fs": "4.1.11" } }, "wbuf": { @@ -11479,7 +11479,7 @@ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", "requires": { - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "1.0.0" } }, "webidl-conversions": { @@ -11492,28 +11492,28 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "requires": { - "acorn": "^5.0.0", - "acorn-dynamic-import": "^2.0.0", - "ajv": "^5.1.5", - "ajv-keywords": "^2.0.0", - "async": "^2.1.2", - "enhanced-resolve": "^3.4.0", - "escope": "^3.6.0", - "interpret": "^1.0.0", - "json-loader": "^0.5.4", - "json5": "^0.5.1", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "mkdirp": "~0.5.0", - "node-libs-browser": "^2.0.0", - "source-map": "^0.5.3", - "supports-color": "^4.2.1", - "tapable": "^0.2.7", - "uglifyjs-webpack-plugin": "^0.4.6", - "watchpack": "^1.4.0", - "webpack-sources": "^1.0.1", - "yargs": "^8.0.2" + "acorn": "5.4.1", + "acorn-dynamic-import": "2.0.2", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "async": "2.6.0", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.4.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" }, "dependencies": { "camelcase": { @@ -11526,9 +11526,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -11536,9 +11536,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -11553,7 +11553,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "load-json-file": { @@ -11561,10 +11561,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "os-locale": { @@ -11572,9 +11572,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "path-type": { @@ -11582,7 +11582,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -11590,9 +11590,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -11600,8 +11600,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "source-map": { @@ -11614,7 +11614,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11627,7 +11627,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } }, "which-module": { @@ -11640,19 +11640,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" } }, "yargs-parser": { @@ -11660,7 +11660,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" } } } @@ -11670,11 +11670,11 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", "requires": { - "memory-fs": "~0.4.1", - "mime": "^1.5.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "time-stamp": "^2.0.0" + "memory-fs": "0.4.1", + "mime": "1.6.0", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.0.0" } }, "webpack-dev-server": { @@ -11683,32 +11683,32 @@ "integrity": "sha512-thrqC0EQEoSjXeYgP6pUXcUCZ+LNrKsDPn+mItLnn5VyyNZOJKd06hUP5vqkYwL8nWWXsii0loSF9NHNccT6ow==", "requires": { "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^1.6.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.13.3", - "html-entities": "^1.2.0", - "http-proxy-middleware": "~0.17.4", - "import-local": "^0.1.1", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "1.7.0", + "compression": "1.7.1", + "connect-history-api-fallback": "1.5.0", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.2", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.17.4", + "import-local": "0.1.1", "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.7.2", + "ip": "1.1.5", + "killable": "1.0.0", + "loglevel": "1.6.1", + "opn": "5.2.0", + "portfinder": "1.0.13", + "selfsigned": "1.10.2", + "serve-index": "1.9.1", "sockjs": "0.3.18", "sockjs-client": "1.1.4", - "spdy": "^3.4.1", - "strip-ansi": "^3.0.1", - "supports-color": "^4.2.1", - "webpack-dev-middleware": "^1.11.0", - "yargs": "^6.6.0" + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "4.5.0", + "webpack-dev-middleware": "1.12.2", + "yargs": "6.6.0" }, "dependencies": { "camelcase": { @@ -11721,9 +11721,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "debug": { @@ -11739,12 +11739,12 @@ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" } }, "globby": { @@ -11752,11 +11752,11 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" }, "dependencies": { "pify": { @@ -11776,7 +11776,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "pify": { @@ -11789,9 +11789,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -11799,7 +11799,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "supports-color": { @@ -11807,7 +11807,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } }, "yargs": { @@ -11815,19 +11815,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^4.2.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" } }, "yargs-parser": { @@ -11835,7 +11835,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" } } } @@ -11845,8 +11845,8 @@ "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-1.3.2.tgz", "integrity": "sha512-MX60Bv2G83Zks9pi3oLOmRgnPAnwrlMn+lftMrWBm199VQjk46/xgzBi9lPfpZldw2+EI2S+OevuLIaDuxCWRw==", "requires": { - "fs-extra": "^0.30.0", - "lodash": ">=3.5 <5" + "fs-extra": "0.30.0", + "lodash": "4.17.5" }, "dependencies": { "fs-extra": { @@ -11854,11 +11854,11 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" } }, "jsonfile": { @@ -11866,7 +11866,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } } } @@ -11876,8 +11876,8 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "source-list-map": "2.0.0", + "source-map": "0.6.1" } }, "websocket-driver": { @@ -11885,8 +11885,8 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" + "http-parser-js": "0.4.10", + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { @@ -11912,8 +11912,8 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" }, "dependencies": { "webidl-conversions": { @@ -11933,7 +11933,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -11946,7 +11946,7 @@ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" } }, "window-size": { @@ -11964,8 +11964,8 @@ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "requires": { - "errno": "^0.1.4", - "xtend": "^4.0.1" + "errno": "0.1.6", + "xtend": "4.0.1" } }, "wrap-ansi": { @@ -11973,8 +11973,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -11982,7 +11982,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -11990,9 +11990,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -12000,7 +12000,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -12016,7 +12016,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -12024,9 +12024,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "xdg-basedir": { @@ -12069,19 +12069,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" }, "dependencies": { "camelcase": { @@ -12094,9 +12094,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "is-fullwidth-code-point": { @@ -12104,7 +12104,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -12112,9 +12112,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "strip-ansi": { @@ -12122,7 +12122,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } } } @@ -12132,7 +12132,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" }, "dependencies": { "camelcase": { diff --git a/docs/package.json b/docs/package.json index 25018d23409016..e777f655815dea 100644 --- a/docs/package.json +++ b/docs/package.json @@ -14,7 +14,7 @@ "chalk": "1.1.3", "classnames": "^2.2.5", "css-loader": "0.28.7", - "date-fns": "^2.0.0-alpha.7", + "date-fns": "2.0.0-alpha.7", "dotenv": "4.0.0", "dotenv-expand": "4.2.0", "eslint-config-react-app": "^2.1.0", diff --git a/lib/package-lock.json b/lib/package-lock.json index a868ce633b2c97..4288baed367473 100644 --- a/lib/package-lock.json +++ b/lib/package-lock.json @@ -1,6 +1,6 @@ { "name": "material-ui-pickers", - "version": "1.0.0-rc.8", + "version": "1.0.0-rc.9", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -20,10 +20,10 @@ "dev": true, "requires": { "@babel/types": "7.0.0-beta.44", - "jsesc": "^2.5.1", - "lodash": "^4.2.0", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "jsesc": "2.5.1", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "jsesc": { @@ -69,9 +69,9 @@ "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -80,7 +80,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -89,9 +89,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -106,7 +106,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -117,8 +117,8 @@ "integrity": "sha512-/3a3USMKk54BEHhDgY8rtxtaQOs4bp4aQwo6SDtdwmrXmgSgEusWuXNX5oIs/nwzmTD9o8wz2EyAjA+uHDMmJA==", "dev": true, "requires": { - "core-js": "^2.5.3", - "regenerator-runtime": "^0.11.1" + "core-js": "2.5.6", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -138,7 +138,7 @@ "@babel/code-frame": "7.0.0-beta.44", "@babel/types": "7.0.0-beta.44", "babylon": "7.0.0-beta.44", - "lodash": "^4.2.0" + "lodash": "4.17.4" }, "dependencies": { "babylon": { @@ -161,10 +161,10 @@ "@babel/helper-split-export-declaration": "7.0.0-beta.44", "@babel/types": "7.0.0-beta.44", "babylon": "7.0.0-beta.44", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.2.0" + "debug": "3.1.0", + "globals": "11.5.0", + "invariant": "2.2.2", + "lodash": "4.17.4" }, "dependencies": { "babylon": { @@ -196,9 +196,9 @@ "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.2.0", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "2.0.0" }, "dependencies": { "to-fast-properties": { @@ -215,33 +215,33 @@ "integrity": "sha512-F8j4eaBj1rfaDLagy90+f9EnzwOpQdOmR8oHSrwPPw4LmU+UAXgkZum/wx5HTiquz9wWSXAX3wI2m6atmr0/xA==", "dev": true, "requires": { - "@babel/runtime": "^7.0.0-beta.42", - "@types/jss": "^9.5.3", - "@types/react-transition-group": "^2.0.8", - "brcast": "^3.0.1", - "classnames": "^2.2.5", - "deepmerge": "^2.0.1", - "dom-helpers": "^3.2.1", - "hoist-non-react-statics": "^2.5.0", - "jss": "^9.3.3", - "jss-camel-case": "^6.0.0", - "jss-default-unit": "^8.0.2", - "jss-global": "^3.0.0", - "jss-nested": "^6.0.1", - "jss-props-sort": "^6.0.0", - "jss-vendor-prefixer": "^7.0.0", - "keycode": "^2.1.9", - "lodash": "^4.2.0", - "normalize-scroll-left": "^0.1.2", - "prop-types": "^15.6.0", - "react-event-listener": "^0.5.1", - "react-jss": "^8.1.0", - "react-popper": "^0.10.0", - "react-scrollbar-size": "^2.0.2", - "react-transition-group": "^2.2.1", - "recompose": "^0.26.0 || ^0.27.0", - "scroll": "^2.0.3", - "warning": "^3.0.0" + "@babel/runtime": "7.0.0-beta.46", + "@types/jss": "9.5.3", + "@types/react-transition-group": "2.0.9", + "brcast": "3.0.1", + "classnames": "2.2.5", + "deepmerge": "2.1.0", + "dom-helpers": "3.3.1", + "hoist-non-react-statics": "2.5.0", + "jss": "9.8.1", + "jss-camel-case": "6.1.0", + "jss-default-unit": "8.0.2", + "jss-global": "3.0.0", + "jss-nested": "6.0.1", + "jss-props-sort": "6.0.0", + "jss-vendor-prefixer": "7.0.0", + "keycode": "2.2.0", + "lodash": "4.17.4", + "normalize-scroll-left": "0.1.2", + "prop-types": "15.6.1", + "react-event-listener": "0.5.3", + "react-jss": "8.4.0", + "react-popper": "0.10.4", + "react-scrollbar-size": "2.1.0", + "react-transition-group": "2.3.1", + "recompose": "0.27.0", + "scroll": "2.0.3", + "warning": "3.0.0" }, "dependencies": { "@types/jss": { @@ -250,8 +250,8 @@ "integrity": "sha512-RQWhcpOVyIhGryKpnUyZARwsgmp+tB82O7c75lC4Tjbmr3hPiCnM1wc+pJipVEOsikYXW0IHgeiQzmxQXbnAIA==", "dev": true, "requires": { - "csstype": "^2.0.0", - "indefinite-observable": "^1.0.1" + "csstype": "2.4.1", + "indefinite-observable": "1.0.1" } } } @@ -274,8 +274,8 @@ "integrity": "sha512-EX87yNYcisXO5BU9tT7stB7OGuDJyV3JwtMwhfUprrmHwYKWh9a3vchAy6DYzUSbmTA7bD46h8qata5jP1V7Zw==", "dev": true, "requires": { - "csstype": "^2.0.0", - "indefinite-observable": "^1.0.1" + "csstype": "2.4.1", + "indefinite-observable": "1.0.1" } }, "@types/luxon": { @@ -290,7 +290,7 @@ "integrity": "sha1-YE69GJvDvDShVIaJQE5hoqSqyJY=", "dev": true, "requires": { - "moment": "*" + "moment": "2.22.1" } }, "@types/node": { @@ -311,7 +311,7 @@ "integrity": "sha512-YMFH/E9ryjUm2AoOy8KdTuG1SufaMuYmO/5xACROl0pm9dRmE2RN3d2zjv/eHALF6LGRZPVb7G9kqP0n5dWttQ==", "dev": true, "requires": { - "csstype": "^2.2.0" + "csstype": "2.4.1" } }, "@types/react-transition-group": { @@ -320,7 +320,7 @@ "integrity": "sha512-Id2MtQcmOgLymqqLqg1VjzNpN7O5vGoF47h3s7jxhzqWdMCtk2GwxFUqcKbGrRmHzzQGyRatfG8yahonIys74Q==", "dev": true, "requires": { - "@types/react": "*" + "@types/react": "16.3.13" } }, "abab": { @@ -341,7 +341,7 @@ "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "dev": true, "requires": { - "acorn": "^4.0.4" + "acorn": "4.0.13" }, "dependencies": { "acorn": { @@ -358,7 +358,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "^3.0.4" + "acorn": "3.3.0" }, "dependencies": { "acorn": { @@ -375,10 +375,10 @@ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "dev": true, "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -393,9 +393,9 @@ "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "dev": true, "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, "amdefine": { @@ -410,7 +410,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" } }, "ansi-escapes": { @@ -443,8 +443,8 @@ "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true, "requires": { - "micromatch": "^2.1.5", - "normalize-path": "^2.0.0" + "micromatch": "2.3.11", + "normalize-path": "2.1.1" } }, "append-transform": { @@ -453,7 +453,7 @@ "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "dev": true, "requires": { - "default-require-extensions": "^1.0.0" + "default-require-extensions": "1.0.0" } }, "argparse": { @@ -462,7 +462,7 @@ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "aria-query": { @@ -480,7 +480,7 @@ "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "dev": true, "requires": { - "arr-flatten": "^1.0.1" + "arr-flatten": "1.1.0" } }, "arr-flatten": { @@ -507,8 +507,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "1.1.2", + "es-abstract": "1.10.0" } }, "array-union": { @@ -517,7 +517,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -573,7 +573,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "^4.14.0" + "lodash": "4.17.4" } }, "async-each": { @@ -616,21 +616,21 @@ "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-polyfill": "^6.26.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "chokidar": "^1.6.1", - "commander": "^2.11.0", - "convert-source-map": "^1.5.0", - "fs-readdir-recursive": "^1.0.0", - "glob": "^7.1.2", - "lodash": "^4.17.4", - "output-file-sync": "^1.1.2", - "path-is-absolute": "^1.0.1", - "slash": "^1.0.0", - "source-map": "^0.5.6", - "v8flags": "^2.1.1" + "babel-core": "6.26.2", + "babel-polyfill": "6.26.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "commander": "2.12.2", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.4", + "output-file-sync": "1.1.2", + "path-is-absolute": "1.0.1", + "slash": "1.0.0", + "source-map": "0.5.7", + "v8flags": "2.1.1" } }, "babel-code-frame": { @@ -639,9 +639,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-core": { @@ -650,25 +650,25 @@ "integrity": "sha512-rFKFnHY8sbRSqja2O5eTx0z0Na5hukdtsFt7X9xdBFXMurrJ5YoY78Y/2/EuNZIaDQKEJSfxSMePfsymxt0CZg==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.0", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" } }, "babel-eslint": { @@ -681,8 +681,8 @@ "@babel/traverse": "7.0.0-beta.44", "@babel/types": "7.0.0-beta.44", "babylon": "7.0.0-beta.44", - "eslint-scope": "~3.7.1", - "eslint-visitor-keys": "^1.0.0" + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0" }, "dependencies": { "babylon": { @@ -699,14 +699,14 @@ "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", "dev": true, "requires": { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.6", - "trim-right": "^1.0.1" + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" } }, "babel-helper-builder-binary-assignment-operator-visitor": { @@ -715,9 +715,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-builder-react-jsx": { @@ -726,9 +726,9 @@ "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" } }, "babel-helper-call-delegate": { @@ -737,10 +737,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-define-map": { @@ -749,10 +749,10 @@ "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" } }, "babel-helper-explode-assignable-expression": { @@ -761,9 +761,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -772,11 +772,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -785,8 +785,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -795,8 +795,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-optimise-call-expression": { @@ -805,8 +805,8 @@ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -815,9 +815,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -826,11 +826,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-replace-supers": { @@ -839,12 +839,12 @@ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -853,8 +853,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-jest": { @@ -863,8 +863,8 @@ "integrity": "sha512-O0W2qLoWu1QOoOGgxiR2JID4O6WSpxPiQanrkyi9SSlM0PJ60Ptzlck47lhtnr9YZO3zYOsxHwnyeWJ6AffoBQ==", "dev": true, "requires": { - "babel-plugin-istanbul": "^4.0.0", - "babel-preset-jest": "^21.2.0" + "babel-plugin-istanbul": "4.1.5", + "babel-preset-jest": "21.2.0" } }, "babel-messages": { @@ -873,7 +873,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -882,7 +882,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-external-helpers": { @@ -891,7 +891,7 @@ "integrity": "sha1-IoX0iwK9Xe3oUXXK+MYuhq3M76E=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-istanbul": { @@ -900,9 +900,9 @@ "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", "dev": true, "requires": { - "find-up": "^2.1.0", - "istanbul-lib-instrument": "^1.7.5", - "test-exclude": "^4.1.1" + "find-up": "2.1.0", + "istanbul-lib-instrument": "1.9.1", + "test-exclude": "4.1.1" } }, "babel-plugin-jest-hoist": { @@ -953,9 +953,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "^6.24.1", - "babel-plugin-syntax-async-functions": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-class-properties": { @@ -964,10 +964,10 @@ "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -976,7 +976,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -985,7 +985,7 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -994,11 +994,11 @@ "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" } }, "babel-plugin-transform-es2015-classes": { @@ -1007,15 +1007,15 @@ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "babel-helper-define-map": "^6.24.1", - "babel-helper-function-name": "^6.24.1", - "babel-helper-optimise-call-expression": "^6.24.1", - "babel-helper-replace-supers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -1024,8 +1024,8 @@ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -1034,7 +1034,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -1043,8 +1043,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-for-of": { @@ -1053,7 +1053,7 @@ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -1062,9 +1062,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-literals": { @@ -1073,7 +1073,7 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -1082,9 +1082,9 @@ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -1093,10 +1093,10 @@ "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", "dev": true, "requires": { - "babel-plugin-transform-strict-mode": "^6.24.1", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-types": "^6.26.0" + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -1105,9 +1105,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -1116,9 +1116,9 @@ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-object-super": { @@ -1127,8 +1127,8 @@ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -1137,12 +1137,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "^6.24.1", - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -1151,8 +1151,8 @@ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -1161,7 +1161,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1170,9 +1170,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-template-literals": { @@ -1181,7 +1181,7 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -1190,7 +1190,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -1199,9 +1199,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -1210,9 +1210,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", - "babel-plugin-syntax-exponentiation-operator": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -1221,8 +1221,8 @@ "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "dev": true, "requires": { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0" + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx": { @@ -1231,9 +1231,9 @@ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "dev": true, "requires": { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-regenerator": { @@ -1242,7 +1242,7 @@ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "^0.10.0" + "regenerator-transform": "0.10.1" } }, "babel-plugin-transform-runtime": { @@ -1251,7 +1251,7 @@ "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-strict-mode": { @@ -1260,8 +1260,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-polyfill": { @@ -1270,9 +1270,9 @@ "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "regenerator-runtime": "0.10.5" }, "dependencies": { "core-js": { @@ -1295,36 +1295,36 @@ "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^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.23.0", - "babel-plugin-transform-es2015-classes": "^6.23.0", - "babel-plugin-transform-es2015-computed-properties": "^6.22.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", - "babel-plugin-transform-es2015-for-of": "^6.23.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.22.0", - "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", - "babel-plugin-transform-es2015-modules-umd": "^6.23.0", - "babel-plugin-transform-es2015-object-super": "^6.22.0", - "babel-plugin-transform-es2015-parameters": "^6.23.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.23.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", - "babel-plugin-transform-exponentiation-operator": "^6.22.0", - "babel-plugin-transform-regenerator": "^6.22.0", - "browserslist": "^2.1.2", - "invariant": "^2.2.2", - "semver": "^5.3.0" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "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.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.10.0", + "invariant": "2.2.2", + "semver": "5.4.1" } }, "babel-preset-es2015": { @@ -1333,30 +1333,30 @@ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "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.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "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.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" + "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.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" } }, "babel-preset-es2016": { @@ -1365,7 +1365,7 @@ "integrity": "sha1-+QC/k+LrwNJ235uKtZck6/2Vn4s=", "dev": true, "requires": { - "babel-plugin-transform-exponentiation-operator": "^6.24.1" + "babel-plugin-transform-exponentiation-operator": "6.24.1" } }, "babel-preset-es2017": { @@ -1374,8 +1374,8 @@ "integrity": "sha1-WXvq37n38gi8/YoS6bKym4svFNE=", "dev": true, "requires": { - "babel-plugin-syntax-trailing-function-commas": "^6.22.0", - "babel-plugin-transform-async-to-generator": "^6.24.1" + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1" } }, "babel-preset-jest": { @@ -1384,8 +1384,8 @@ "integrity": "sha512-hm9cBnr2h3J7yXoTtAVV0zg+3vg0Q/gT2GYuzlreTU0EPkJRtlNgKJJ3tBKEn0+VjAi3JykV6xCJkuUYttEEfA==", "dev": true, "requires": { - "babel-plugin-jest-hoist": "^21.2.0", - "babel-plugin-syntax-object-rest-spread": "^6.13.0" + "babel-plugin-jest-hoist": "21.2.0", + "babel-plugin-syntax-object-rest-spread": "6.13.0" } }, "babel-preset-latest": { @@ -1394,9 +1394,9 @@ "integrity": "sha1-Z33gaRVKdIXC0lxXfAL2JLhbheg=", "dev": true, "requires": { - "babel-preset-es2015": "^6.24.1", - "babel-preset-es2016": "^6.24.1", - "babel-preset-es2017": "^6.24.1" + "babel-preset-es2015": "6.24.1", + "babel-preset-es2016": "6.24.1", + "babel-preset-es2017": "6.24.1" } }, "babel-register": { @@ -1405,13 +1405,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15" + "babel-core": "6.26.2", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "core-js": { @@ -1427,8 +1427,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -1444,11 +1444,11 @@ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" } }, "babel-traverse": { @@ -1457,15 +1457,15 @@ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" } }, "babel-types": { @@ -1474,10 +1474,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -1499,7 +1499,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "binary-extensions": { @@ -1521,7 +1521,7 @@ "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "dev": true, "requires": { - "hoek": "4.x.x" + "hoek": "4.2.0" } }, "boxen": { @@ -1530,13 +1530,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.3.0", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-styles": { @@ -1545,7 +1545,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "camelcase": { @@ -1560,9 +1560,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -1571,7 +1571,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -1582,7 +1582,7 @@ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -1592,9 +1592,9 @@ "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "dev": true, "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" } }, "brcast": { @@ -1626,8 +1626,8 @@ "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000780", - "electron-to-chromium": "^1.3.28" + "caniuse-lite": "1.0.30000784", + "electron-to-chromium": "1.3.30" } }, "bser": { @@ -1636,7 +1636,7 @@ "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "dev": true, "requires": { - "node-int64": "^0.4.0" + "node-int64": "0.4.0" } }, "buffer-from": { @@ -1657,7 +1657,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -1679,9 +1679,9 @@ "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", "dev": true, "requires": { - "camelcase": "^4.1.0", - "map-obj": "^2.0.0", - "quick-lru": "^1.0.0" + "camelcase": "4.1.0", + "map-obj": "2.0.0", + "quick-lru": "1.1.0" }, "dependencies": { "camelcase": { @@ -1717,8 +1717,8 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chalk": { @@ -1727,11 +1727,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "change-emitter": { @@ -1752,12 +1752,12 @@ "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "dev": true, "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash": "4.17.4", + "parse5": "3.0.3" } }, "chokidar": { @@ -1767,15 +1767,15 @@ "dev": true, "optional": true, "requires": { - "anymatch": "^1.3.0", - "async-each": "^1.0.0", - "fsevents": "^1.0.0", - "glob-parent": "^2.0.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^2.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0" + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" } }, "ci-info": { @@ -1808,7 +1808,7 @@ "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-spinners": { @@ -1824,7 +1824,7 @@ "dev": true, "requires": { "slice-ansi": "0.0.4", - "string-width": "^1.0.1" + "string-width": "1.0.2" }, "dependencies": { "is-fullwidth-code-point": { @@ -1833,7 +1833,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "slice-ansi": { @@ -1848,9 +1848,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -1868,8 +1868,8 @@ "dev": true, "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { @@ -1900,7 +1900,7 @@ "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "dev": true, "requires": { - "color-name": "^1.1.1" + "color-name": "1.1.3" } }, "color-name": { @@ -1921,7 +1921,7 @@ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -1942,10 +1942,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" } }, "configstore": { @@ -1954,12 +1954,12 @@ "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "contains-path": { @@ -1997,7 +1997,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "cross-env": { @@ -2006,8 +2006,8 @@ "integrity": "sha512-Mx8mw6JWhfpYoEk7PGvHxJMLQwQHORAs8+2bX+C1lGQ4h3GkDb1zbzC2Nw85YH9ZQMlO0BHZxMacgrfPmMFxbg==", "dev": true, "requires": { - "cross-spawn": "^5.1.0", - "is-windows": "^1.0.0" + "cross-spawn": "5.1.0", + "is-windows": "1.0.2" } }, "cross-spawn": { @@ -2016,9 +2016,9 @@ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } }, "cryptiles": { @@ -2027,7 +2027,7 @@ "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "dev": true, "requires": { - "boom": "5.x.x" + "boom": "5.2.0" }, "dependencies": { "boom": { @@ -2036,7 +2036,7 @@ "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "dev": true, "requires": { - "hoek": "4.x.x" + "hoek": "4.2.0" } } } @@ -2053,10 +2053,10 @@ "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "dev": true, "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", + "boolbase": "1.0.0", + "css-what": "2.1.0", "domutils": "1.5.1", - "nth-check": "~1.0.1" + "nth-check": "1.0.1" } }, "css-vendor": { @@ -2065,7 +2065,7 @@ "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", "dev": true, "requires": { - "is-in-browser": "^1.0.2" + "is-in-browser": "1.1.3" } }, "css-what": { @@ -2086,7 +2086,7 @@ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "dev": true, "requires": { - "cssom": "0.3.x" + "cssom": "0.3.2" } }, "csstype": { @@ -2101,7 +2101,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "damerau-levenshtein": { @@ -2116,7 +2116,7 @@ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-fns": { @@ -2146,8 +2146,8 @@ "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", "dev": true, "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "decamelize": "1.2.0", + "map-obj": "1.0.1" }, "dependencies": { "map-obj": { @@ -2164,7 +2164,7 @@ "integrity": "sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI=", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "deep-extend": { @@ -2191,7 +2191,7 @@ "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "dev": true, "requires": { - "strip-bom": "^2.0.0" + "strip-bom": "2.0.0" } }, "define-properties": { @@ -2200,8 +2200,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.11" } }, "del": { @@ -2210,13 +2210,13 @@ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" } }, "delayed-stream": { @@ -2231,7 +2231,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "diff": { @@ -2252,7 +2252,7 @@ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, "dom-helpers": { @@ -2267,8 +2267,8 @@ "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "dev": true, "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -2297,7 +2297,7 @@ "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", "dev": true, "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -2306,8 +2306,8 @@ "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "dev": true, "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -2316,7 +2316,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "duplexer": { @@ -2338,7 +2338,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "electron-releases": { @@ -2353,7 +2353,7 @@ "integrity": "sha512-zx1Prv7kYLfc4OA60FhxGbSo4qrEjgSzpo1/37i7l9ltXPYOoQBtjQxY9KmsgfHnBxHlBGXwLlsbt/gub1w5lw==", "dev": true, "requires": { - "electron-releases": "^2.1.0" + "electron-releases": "2.1.0" } }, "elegant-spinner": { @@ -2373,7 +2373,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.19" } }, "entities": { @@ -2388,22 +2388,22 @@ "integrity": "sha512-l8csyPyLmtxskTz6pX9W8eDOyH1ckEtDttXk/vlFWCjv00SkjTjtoUrogqp4yEvMyneU9dUJoOLnqFoiHb8IHA==", "dev": true, "requires": { - "cheerio": "^1.0.0-rc.2", - "function.prototype.name": "^1.0.3", - "has": "^1.0.1", - "is-boolean-object": "^1.0.0", - "is-callable": "^1.1.3", - "is-number-object": "^1.0.3", - "is-string": "^1.0.4", - "is-subset": "^0.1.1", - "lodash": "^4.17.4", - "object-inspect": "^1.5.0", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.0.4", - "object.values": "^1.0.4", - "raf": "^3.4.0", - "rst-selector-parser": "^2.2.3" + "cheerio": "1.0.0-rc.2", + "function.prototype.name": "1.1.0", + "has": "1.0.1", + "is-boolean-object": "1.0.0", + "is-callable": "1.1.3", + "is-number-object": "1.0.3", + "is-string": "1.0.4", + "is-subset": "0.1.1", + "lodash": "4.17.4", + "object-inspect": "1.5.0", + "object-is": "1.0.1", + "object.assign": "4.1.0", + "object.entries": "1.0.4", + "object.values": "1.0.4", + "raf": "3.4.0", + "rst-selector-parser": "2.2.3" } }, "enzyme-adapter-react-16": { @@ -2412,13 +2412,13 @@ "integrity": "sha512-kC8pAtU2Jk3OJ0EG8Y2813dg9Ol0TXi7UNxHzHiWs30Jo/hj7alc//G1YpKUsPP1oKl9X+Lkx+WlGJpPYA+nvw==", "dev": true, "requires": { - "enzyme-adapter-utils": "^1.3.0", - "lodash": "^4.17.4", - "object.assign": "^4.0.4", - "object.values": "^1.0.4", - "prop-types": "^15.6.0", - "react-reconciler": "^0.7.0", - "react-test-renderer": "^16.0.0-0" + "enzyme-adapter-utils": "1.3.0", + "lodash": "4.17.4", + "object.assign": "4.1.0", + "object.values": "1.0.4", + "prop-types": "15.6.1", + "react-reconciler": "0.7.0", + "react-test-renderer": "16.2.0" } }, "enzyme-adapter-utils": { @@ -2427,9 +2427,9 @@ "integrity": "sha512-vVXSt6uDv230DIv+ebCG66T1Pm36Kv+m74L1TrF4kaE7e1V7Q/LcxO0QRkajk5cA6R3uu9wJf5h13wOTezTbjA==", "dev": true, "requires": { - "lodash": "^4.17.4", - "object.assign": "^4.0.4", - "prop-types": "^15.6.0" + "lodash": "4.17.4", + "object.assign": "4.1.0", + "prop-types": "15.6.1" } }, "errno": { @@ -2438,7 +2438,7 @@ "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", "dev": true, "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error-ex": { @@ -2447,7 +2447,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -2456,11 +2456,11 @@ "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -2469,9 +2469,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "escape-string-regexp": { @@ -2486,11 +2486,11 @@ "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "dev": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.5.6" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" }, "dependencies": { "esprima": { @@ -2507,44 +2507,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.5.0", + "ignore": "3.3.8", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.10.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.4.1", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", "table": "4.0.2", - "text-table": "~0.2.0" + "text-table": "0.2.0" }, "dependencies": { "ansi-regex": { @@ -2559,7 +2559,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -2568,9 +2568,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "debug": { @@ -2600,7 +2600,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -2609,7 +2609,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -2620,7 +2620,7 @@ "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "^12.1.0" + "eslint-config-airbnb-base": "12.1.0" } }, "eslint-config-airbnb-base": { @@ -2629,7 +2629,7 @@ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { - "eslint-restricted-globals": "^0.1.1" + "eslint-restricted-globals": "0.1.1" } }, "eslint-import-resolver-node": { @@ -2638,8 +2638,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" + "debug": "2.6.9", + "resolve": "1.7.1" } }, "eslint-module-utils": { @@ -2648,8 +2648,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "^2.6.8", - "pkg-dir": "^1.0.0" + "debug": "2.6.9", + "pkg-dir": "1.0.0" } }, "eslint-plugin-import": { @@ -2658,16 +2658,16 @@ "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=", "dev": true, "requires": { - "contains-path": "^0.1.0", - "debug": "^2.6.8", + "contains-path": "0.1.0", + "debug": "2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.1", - "eslint-module-utils": "^2.2.0", - "has": "^1.0.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.3", - "read-pkg-up": "^2.0.0", - "resolve": "^1.6.0" + "eslint-import-resolver-node": "0.3.2", + "eslint-module-utils": "2.2.0", + "has": "1.0.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "read-pkg-up": "2.0.0", + "resolve": "1.7.1" }, "dependencies": { "doctrine": { @@ -2676,8 +2676,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "2.0.2", + "isarray": "1.0.0" } }, "load-json-file": { @@ -2686,10 +2686,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "path-type": { @@ -2698,7 +2698,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -2707,9 +2707,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -2718,8 +2718,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "strip-bom": { @@ -2736,13 +2736,13 @@ "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", "dev": true, "requires": { - "aria-query": "^0.7.0", - "array-includes": "^3.0.3", + "aria-query": "0.7.0", + "array-includes": "3.0.3", "ast-types-flow": "0.0.7", - "axobject-query": "^0.1.0", - "damerau-levenshtein": "^1.0.0", - "emoji-regex": "^6.1.0", - "jsx-ast-utils": "^2.0.0" + "axobject-query": "0.1.0", + "damerau-levenshtein": "1.0.4", + "emoji-regex": "6.5.1", + "jsx-ast-utils": "2.0.1" } }, "eslint-plugin-react": { @@ -2751,10 +2751,10 @@ "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", "dev": true, "requires": { - "doctrine": "^2.0.2", - "has": "^1.0.1", - "jsx-ast-utils": "^2.0.1", - "prop-types": "^15.6.0" + "doctrine": "2.1.0", + "has": "1.0.1", + "jsx-ast-utils": "2.0.1", + "prop-types": "15.6.1" } }, "eslint-restricted-globals": { @@ -2769,8 +2769,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { @@ -2785,8 +2785,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "5.5.3", + "acorn-jsx": "3.0.1" } }, "esprima": { @@ -2801,7 +2801,7 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { @@ -2810,7 +2810,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -2837,7 +2837,7 @@ "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "dev": true, "requires": { - "merge": "^1.1.3" + "merge": "1.2.0" } }, "execa": { @@ -2846,13 +2846,13 @@ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "exit-hook": { @@ -2867,7 +2867,7 @@ "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "dev": true, "requires": { - "is-posix-bracket": "^0.1.0" + "is-posix-bracket": "0.1.1" } }, "expand-range": { @@ -2876,7 +2876,7 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { - "fill-range": "^2.1.0" + "fill-range": "2.2.3" } }, "expect": { @@ -2885,12 +2885,12 @@ "integrity": "sha512-orfQQqFRTX0jH7znRIGi8ZMR8kTNpXklTTz8+HGTpmTKZo3Occ6JNB5FXMb8cRuiiC/GyDqsr30zUa66ACYlYw==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "jest-diff": "^21.2.1", - "jest-get-type": "^21.2.0", - "jest-matcher-utils": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-regex-util": "^21.2.0" + "ansi-styles": "3.2.0", + "jest-diff": "21.2.1", + "jest-get-type": "21.2.0", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0" }, "dependencies": { "ansi-styles": { @@ -2899,7 +2899,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } } } @@ -2916,9 +2916,9 @@ "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "dev": true, "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" } }, "extglob": { @@ -2927,7 +2927,7 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "extsprintf": { @@ -2960,7 +2960,7 @@ "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "dev": true, "requires": { - "bser": "^2.0.0" + "bser": "2.0.0" } }, "fbjs": { @@ -2968,13 +2968,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "^1.0.0", - "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" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.17" } }, "figures": { @@ -2983,7 +2983,7 @@ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -2992,8 +2992,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" } }, "filename-regex": { @@ -3008,8 +3008,8 @@ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "dev": true, "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "glob": "7.1.2", + "minimatch": "3.0.4" } }, "filesize": { @@ -3024,11 +3024,11 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true, "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "1.1.7", + "repeat-element": "1.1.2", + "repeat-string": "1.6.1" } }, "find-up": { @@ -3037,7 +3037,7 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flat-cache": { @@ -3046,10 +3046,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, "for-in": { @@ -3064,7 +3064,7 @@ "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -3085,9 +3085,9 @@ "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" } }, "fs-extra": { @@ -3096,9 +3096,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, "fs-readdir-recursive": { @@ -3120,8 +3120,8 @@ "dev": true, "optional": true, "requires": { - "nan": "^2.3.0", - "node-pre-gyp": "^0.6.39" + "nan": "2.8.0", + "node-pre-gyp": "0.6.39" }, "dependencies": { "abbrev": { @@ -3136,8 +3136,8 @@ "dev": true, "optional": true, "requires": { - "co": "^4.6.0", - "json-stable-stringify": "^1.0.1" + "co": "4.6.0", + "json-stable-stringify": "1.0.1" } }, "ansi-regex": { @@ -3157,8 +3157,8 @@ "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.2.9" } }, "asn1": { @@ -3202,7 +3202,7 @@ "dev": true, "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "block-stream": { @@ -3210,7 +3210,7 @@ "bundled": true, "dev": true, "requires": { - "inherits": "~2.0.0" + "inherits": "2.0.3" } }, "boom": { @@ -3218,7 +3218,7 @@ "bundled": true, "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "brace-expansion": { @@ -3226,7 +3226,7 @@ "bundled": true, "dev": true, "requires": { - "balanced-match": "^0.4.1", + "balanced-match": "0.4.2", "concat-map": "0.0.1" } }, @@ -3257,7 +3257,7 @@ "bundled": true, "dev": true, "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "concat-map": { @@ -3280,7 +3280,7 @@ "bundled": true, "dev": true, "requires": { - "boom": "2.x.x" + "boom": "2.10.1" } }, "dashdash": { @@ -3289,7 +3289,7 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -3338,7 +3338,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "extend": { @@ -3379,10 +3379,10 @@ "bundled": true, "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.1" } }, "fstream-ignore": { @@ -3391,9 +3391,9 @@ "dev": true, "optional": true, "requires": { - "fstream": "^1.0.0", - "inherits": "2", - "minimatch": "^3.0.0" + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" } }, "gauge": { @@ -3402,14 +3402,14 @@ "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.1.1", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "getpass": { @@ -3418,7 +3418,7 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" }, "dependencies": { "assert-plus": { @@ -3434,12 +3434,12 @@ "bundled": true, "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "graceful-fs": { @@ -3474,10 +3474,10 @@ "bundled": true, "dev": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "hoek": { @@ -3491,9 +3491,9 @@ "dev": true, "optional": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "0.2.0", + "jsprim": "1.4.0", + "sshpk": "1.13.0" } }, "inflight": { @@ -3501,8 +3501,8 @@ "bundled": true, "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -3547,7 +3547,7 @@ "dev": true, "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "jsbn": { @@ -3568,7 +3568,7 @@ "dev": true, "optional": true, "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stringify-safe": { @@ -3649,17 +3649,17 @@ "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", + "detect-libc": "1.0.2", "hawk": "3.1.3", - "mkdirp": "^0.5.1", - "nopt": "^4.0.1", - "npmlog": "^4.0.2", - "rc": "^1.1.7", + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.0", + "rc": "1.2.1", "request": "2.81.0", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^2.2.1", - "tar-pack": "^3.4.0" + "rimraf": "2.6.1", + "semver": "5.3.0", + "tar": "2.2.1", + "tar-pack": "3.4.0" } }, "nopt": { @@ -3668,8 +3668,8 @@ "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.0", + "osenv": "0.1.4" } }, "npmlog": { @@ -3678,10 +3678,10 @@ "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { @@ -3706,7 +3706,7 @@ "bundled": true, "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { @@ -3727,8 +3727,8 @@ "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { @@ -3765,10 +3765,10 @@ "dev": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.4.2", + "ini": "1.3.4", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -3784,13 +3784,13 @@ "bundled": true, "dev": true, "requires": { - "buffer-shims": "~1.0.0", - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "string_decoder": "~1.0.0", - "util-deprecate": "~1.0.1" + "buffer-shims": "1.0.0", + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "string_decoder": "1.0.1", + "util-deprecate": "1.0.2" } }, "request": { @@ -3799,28 +3799,28 @@ "dev": true, "optional": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "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": "~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", - "oauth-sign": "~0.8.1", - "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.6.0", - "uuid": "^3.0.0" + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.15", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.0.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.2", + "tunnel-agent": "0.6.0", + "uuid": "3.0.1" } }, "rimraf": { @@ -3828,7 +3828,7 @@ "bundled": true, "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { @@ -3859,7 +3859,7 @@ "bundled": true, "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "sshpk": { @@ -3868,15 +3868,15 @@ "dev": true, "optional": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jodid25519": "^1.0.0", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jodid25519": "1.0.2", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" }, "dependencies": { "assert-plus": { @@ -3892,9 +3892,9 @@ "bundled": true, "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { @@ -3902,7 +3902,7 @@ "bundled": true, "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.0.1" } }, "stringstream": { @@ -3916,7 +3916,7 @@ "bundled": true, "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { @@ -3930,9 +3930,9 @@ "bundled": true, "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" } }, "tar-pack": { @@ -3941,14 +3941,14 @@ "dev": true, "optional": true, "requires": { - "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.6.8", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.2.9", + "rimraf": "2.6.1", + "tar": "2.2.1", + "uid-number": "0.0.6" } }, "tough-cookie": { @@ -3957,7 +3957,7 @@ "dev": true, "optional": true, "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "tunnel-agent": { @@ -3966,7 +3966,7 @@ "dev": true, "optional": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.0.1" } }, "tweetnacl": { @@ -4007,7 +4007,7 @@ "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { @@ -4023,7 +4023,15 @@ "integrity": "sha512-E2s1b4GVbt8PyG+iaRN6ks8N0Oy2LOJz7SIMUwWWWx7Mr5Z08hKkfpkKQbOtOGqzkFpckDJHjjZ8qfigN2W86A==", "dev": true, "requires": { - "icu4c-data": "^0.59.2" + "icu4c-data": "0.60.2" + }, + "dependencies": { + "icu4c-data": { + "version": "0.60.2", + "resolved": "https://registry.npmjs.org/icu4c-data/-/icu4c-data-0.60.2.tgz", + "integrity": "sha512-4ScORTYJPIDJRPtAkQWXfKqGk8u1ThOxFWCJ3jkq+rj/MU4cK6isCvhFiEjunivw1/bJ10LqNAaJ9pAK68DEZg==", + "dev": true + } } }, "function-bind": { @@ -4038,9 +4046,9 @@ "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "is-callable": "^1.1.3" + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "is-callable": "1.1.3" } }, "functional-red-black-tree": { @@ -4067,7 +4075,7 @@ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "github-url-from-git": { @@ -4082,12 +4090,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-base": { @@ -4096,8 +4104,8 @@ "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "dev": true, "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" + "glob-parent": "2.0.0", + "is-glob": "2.0.1" } }, "glob-parent": { @@ -4106,7 +4114,7 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true, "requires": { - "is-glob": "^2.0.0" + "is-glob": "2.0.1" } }, "global": { @@ -4115,8 +4123,8 @@ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "dev": true, "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "global-dirs": { @@ -4125,7 +4133,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { @@ -4140,12 +4148,12 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "got": { @@ -4154,17 +4162,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.0", + "safe-buffer": "5.1.1", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } }, "graceful-fs": { @@ -4185,7 +4193,7 @@ "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", "dev": true, "requires": { - "duplexer": "^0.1.1" + "duplexer": "0.1.1" } }, "handlebars": { @@ -4194,10 +4202,10 @@ "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "dev": true, "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" }, "dependencies": { "async": { @@ -4212,7 +4220,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -4229,8 +4237,8 @@ "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -4239,7 +4247,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "^1.0.2" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4248,7 +4256,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -4275,10 +4283,10 @@ "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "dev": true, "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" } }, "hoek": { @@ -4299,8 +4307,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "hosted-git-info": { @@ -4315,7 +4323,7 @@ "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { - "whatwg-encoding": "^1.0.1" + "whatwg-encoding": "1.0.3" } }, "htmlparser2": { @@ -4324,12 +4332,12 @@ "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.4.1", + "domutils": "1.5.1", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.3" } }, "http-signature": { @@ -4338,9 +4346,9 @@ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" } }, "hyperlinker": { @@ -4360,12 +4368,6 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, - "icu4c-data": { - "version": "0.61.2", - "resolved": "https://registry.npmjs.org/icu4c-data/-/icu4c-data-0.61.2.tgz", - "integrity": "sha512-OrIR8R6XtBhBVVp/4SILT2SGvxpqfBbvyrg7J6DrhcurRZDma4skSRHk/VQt4xwEtH/3edzYflbz7Q+HY3vs5g==", - "dev": true - }, "ignore": { "version": "3.3.8", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz", @@ -4407,7 +4409,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "inflight": { @@ -4416,8 +4418,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4438,20 +4440,20 @@ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.0.0", + "chalk": "2.3.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.1.0", + "figures": "2.0.0", + "lodash": "4.17.4", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -4466,7 +4468,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -4475,9 +4477,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.2.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" } }, "has-flag": { @@ -4492,7 +4494,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -4501,7 +4503,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -4512,7 +4514,7 @@ "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -4534,7 +4536,7 @@ "dev": true, "optional": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-boolean-object": { @@ -4555,7 +4557,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -4570,7 +4572,7 @@ "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.2" } }, "is-date-object": { @@ -4591,7 +4593,7 @@ "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "dev": true, "requires": { - "is-primitive": "^2.0.0" + "is-primitive": "2.0.0" } }, "is-extendable": { @@ -4612,7 +4614,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -4633,7 +4635,7 @@ "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "dev": true, "requires": { - "is-extglob": "^1.0.0" + "is-extglob": "1.0.0" } }, "is-in-browser": { @@ -4648,8 +4650,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-module": { @@ -4670,7 +4672,7 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-number-object": { @@ -4697,7 +4699,7 @@ "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -4706,7 +4708,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -4721,7 +4723,7 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { @@ -4762,7 +4764,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.1" } }, "is-resolvable": { @@ -4844,8 +4846,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.3" } }, "isstream": { @@ -4866,17 +4868,17 @@ "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "dev": true, "requires": { - "async": "^2.1.4", - "fileset": "^2.0.2", - "istanbul-lib-coverage": "^1.1.1", - "istanbul-lib-hook": "^1.1.0", - "istanbul-lib-instrument": "^1.9.1", - "istanbul-lib-report": "^1.1.2", - "istanbul-lib-source-maps": "^1.2.2", - "istanbul-reports": "^1.1.3", - "js-yaml": "^3.7.0", - "mkdirp": "^0.5.1", - "once": "^1.4.0" + "async": "2.6.0", + "fileset": "2.0.3", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-hook": "1.1.0", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-report": "1.1.2", + "istanbul-lib-source-maps": "1.2.2", + "istanbul-reports": "1.1.3", + "js-yaml": "3.10.0", + "mkdirp": "0.5.1", + "once": "1.4.0" } }, "istanbul-lib-coverage": { @@ -4891,7 +4893,7 @@ "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "dev": true, "requires": { - "append-transform": "^0.4.0" + "append-transform": "0.4.0" } }, "istanbul-lib-instrument": { @@ -4900,13 +4902,13 @@ "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "dev": true, "requires": { - "babel-generator": "^6.18.0", - "babel-template": "^6.16.0", - "babel-traverse": "^6.18.0", - "babel-types": "^6.18.0", - "babylon": "^6.18.0", - "istanbul-lib-coverage": "^1.1.1", - "semver": "^5.3.0" + "babel-generator": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "istanbul-lib-coverage": "1.1.1", + "semver": "5.4.1" } }, "istanbul-lib-report": { @@ -4915,10 +4917,10 @@ "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "dev": true, "requires": { - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "path-parse": "^1.0.5", - "supports-color": "^3.1.2" + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "path-parse": "1.0.5", + "supports-color": "3.2.3" }, "dependencies": { "has-flag": { @@ -4933,7 +4935,7 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dev": true, "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } } } @@ -4944,11 +4946,11 @@ "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "dev": true, "requires": { - "debug": "^3.1.0", - "istanbul-lib-coverage": "^1.1.1", - "mkdirp": "^0.5.1", - "rimraf": "^2.6.1", - "source-map": "^0.5.3" + "debug": "3.1.0", + "istanbul-lib-coverage": "1.1.1", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "source-map": "0.5.7" }, "dependencies": { "debug": { @@ -4968,7 +4970,7 @@ "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "dev": true, "requires": { - "handlebars": "^4.0.3" + "handlebars": "4.0.11" } }, "jest": { @@ -4977,7 +4979,7 @@ "integrity": "sha512-mXN0ppPvWYoIcC+R+ctKxAJ28xkt/Z5Js875padm4GbgUn6baeR5N4Ng6LjatIRpUQDZVJABT7Y4gucFjPryfw==", "dev": true, "requires": { - "jest-cli": "^21.2.1" + "jest-cli": "21.2.1" }, "dependencies": { "ansi-regex": { @@ -4992,7 +4994,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5001,9 +5003,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "jest-cli": { @@ -5012,35 +5014,35 @@ "integrity": "sha512-T1BzrbFxDIW/LLYQqVfo94y/hhaj1NzVQkZgBumAC+sxbjMROI7VkihOdxNR758iYbQykL2ZOWUBurFgkQrzdg==", "dev": true, "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "is-ci": "^1.0.10", - "istanbul-api": "^1.1.1", - "istanbul-lib-coverage": "^1.0.1", - "istanbul-lib-instrument": "^1.4.2", - "istanbul-lib-source-maps": "^1.1.0", - "jest-changed-files": "^21.2.0", - "jest-config": "^21.2.1", - "jest-environment-jsdom": "^21.2.1", - "jest-haste-map": "^21.2.0", - "jest-message-util": "^21.2.1", - "jest-regex-util": "^21.2.0", - "jest-resolve-dependencies": "^21.2.0", - "jest-runner": "^21.2.1", - "jest-runtime": "^21.2.1", - "jest-snapshot": "^21.2.1", - "jest-util": "^21.2.1", - "micromatch": "^2.3.11", - "node-notifier": "^5.0.2", - "pify": "^3.0.0", - "slash": "^1.0.0", - "string-length": "^2.0.0", - "strip-ansi": "^4.0.0", - "which": "^1.2.12", - "worker-farm": "^1.3.1", - "yargs": "^9.0.0" + "ansi-escapes": "3.0.0", + "chalk": "2.3.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "is-ci": "1.0.10", + "istanbul-api": "1.2.1", + "istanbul-lib-coverage": "1.1.1", + "istanbul-lib-instrument": "1.9.1", + "istanbul-lib-source-maps": "1.2.2", + "jest-changed-files": "21.2.0", + "jest-config": "21.2.1", + "jest-environment-jsdom": "21.2.1", + "jest-haste-map": "21.2.0", + "jest-message-util": "21.2.1", + "jest-regex-util": "21.2.0", + "jest-resolve-dependencies": "21.2.0", + "jest-runner": "21.2.1", + "jest-runtime": "21.2.1", + "jest-snapshot": "21.2.1", + "jest-util": "21.2.1", + "micromatch": "2.3.11", + "node-notifier": "5.1.2", + "pify": "3.0.0", + "slash": "1.0.0", + "string-length": "2.0.0", + "strip-ansi": "4.0.0", + "which": "1.3.0", + "worker-farm": "1.5.2", + "yargs": "9.0.1" } }, "pify": { @@ -5055,7 +5057,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -5064,7 +5066,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5075,7 +5077,7 @@ "integrity": "sha512-+lCNP1IZLwN1NOIvBcV5zEL6GENK6TXrDj4UxWIeLvIsIDa+gf6J7hkqsW2qVVt/wvH65rVvcPwqXdps5eclTQ==", "dev": true, "requires": { - "throat": "^4.0.0" + "throat": "4.1.0" } }, "jest-config": { @@ -5084,17 +5086,17 @@ "integrity": "sha512-fJru5HtlD/5l2o25eY9xT0doK3t2dlglrqoGpbktduyoI0T5CwuB++2YfoNZCrgZipTwPuAGonYv0q7+8yDc/A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "glob": "^7.1.1", - "jest-environment-jsdom": "^21.2.1", - "jest-environment-node": "^21.2.1", - "jest-get-type": "^21.2.0", - "jest-jasmine2": "^21.2.1", - "jest-regex-util": "^21.2.0", - "jest-resolve": "^21.2.0", - "jest-util": "^21.2.1", - "jest-validate": "^21.2.1", - "pretty-format": "^21.2.1" + "chalk": "2.3.0", + "glob": "7.1.2", + "jest-environment-jsdom": "21.2.1", + "jest-environment-node": "21.2.1", + "jest-get-type": "21.2.0", + "jest-jasmine2": "21.2.1", + "jest-regex-util": "21.2.0", + "jest-resolve": "21.2.0", + "jest-util": "21.2.1", + "jest-validate": "21.2.1", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-styles": { @@ -5103,7 +5105,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5112,9 +5114,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5123,7 +5125,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5134,10 +5136,10 @@ "integrity": "sha512-E5fu6r7PvvPr5qAWE1RaUwIh/k6Zx/3OOkZ4rk5dBJkEWRrUuSgbMt2EO8IUTPTd6DOqU3LW6uTIwX5FRvXoFA==", "dev": true, "requires": { - "chalk": "^2.0.1", - "diff": "^3.2.0", - "jest-get-type": "^21.2.0", - "pretty-format": "^21.2.1" + "chalk": "2.3.0", + "diff": "3.4.0", + "jest-get-type": "21.2.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-styles": { @@ -5146,7 +5148,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5155,9 +5157,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5166,7 +5168,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5183,9 +5185,9 @@ "integrity": "sha512-mecaeNh0eWmzNrUNMWARysc0E9R96UPBamNiOCYL28k7mksb1d0q6DD38WKP7ABffjnXyUWJPVaWRgUOivwXwg==", "dev": true, "requires": { - "jest-mock": "^21.2.0", - "jest-util": "^21.2.1", - "jsdom": "^9.12.0" + "jest-mock": "21.2.0", + "jest-util": "21.2.1", + "jsdom": "9.12.0" } }, "jest-environment-node": { @@ -5194,8 +5196,8 @@ "integrity": "sha512-R211867wx9mVBVHzrjGRGTy5cd05K7eqzQl/WyZixR/VkJ4FayS8qkKXZyYnwZi6Rxo6WEV81cDbiUx/GfuLNw==", "dev": true, "requires": { - "jest-mock": "^21.2.0", - "jest-util": "^21.2.1" + "jest-mock": "21.2.0", + "jest-util": "21.2.1" } }, "jest-get-type": { @@ -5210,12 +5212,12 @@ "integrity": "sha512-5LhsY/loPH7wwOFRMs+PT4aIAORJ2qwgbpMFlbWbxfN0bk3ZCwxJ530vrbSiTstMkYLao6JwBkLhCJ5XbY7ZHw==", "dev": true, "requires": { - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.1.11", - "jest-docblock": "^21.2.0", - "micromatch": "^2.3.11", - "sane": "^2.0.0", - "worker-farm": "^1.3.1" + "fb-watchman": "2.0.0", + "graceful-fs": "4.1.11", + "jest-docblock": "21.2.0", + "micromatch": "2.3.11", + "sane": "2.2.0", + "worker-farm": "1.5.2" } }, "jest-jasmine2": { @@ -5224,14 +5226,14 @@ "integrity": "sha512-lw8FXXIEekD+jYNlStfgNsUHpfMWhWWCgHV7n0B7mA/vendH7vBFs8xybjQsDzJSduptBZJHqQX9SMssya9+3A==", "dev": true, "requires": { - "chalk": "^2.0.1", - "expect": "^21.2.1", - "graceful-fs": "^4.1.11", - "jest-diff": "^21.2.1", - "jest-matcher-utils": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-snapshot": "^21.2.1", - "p-cancelable": "^0.3.0" + "chalk": "2.3.0", + "expect": "21.2.1", + "graceful-fs": "4.1.11", + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "jest-message-util": "21.2.1", + "jest-snapshot": "21.2.1", + "p-cancelable": "0.3.0" }, "dependencies": { "ansi-styles": { @@ -5240,7 +5242,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5249,9 +5251,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5260,7 +5262,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5271,9 +5273,9 @@ "integrity": "sha512-kn56My+sekD43dwQPrXBl9Zn9tAqwoy25xxe7/iY4u+mG8P3ALj5IK7MLHZ4Mi3xW7uWVCjGY8cm4PqgbsqMCg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^21.2.0", - "pretty-format": "^21.2.1" + "chalk": "2.3.0", + "jest-get-type": "21.2.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-styles": { @@ -5282,7 +5284,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5291,9 +5293,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5302,7 +5304,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5313,9 +5315,9 @@ "integrity": "sha512-EbC1X2n0t9IdeMECJn2BOg7buOGivCvVNjqKMXTzQOu7uIfLml+keUfCALDh8o4rbtndIeyGU8/BKfoTr/LVDQ==", "dev": true, "requires": { - "chalk": "^2.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0" + "chalk": "2.3.0", + "micromatch": "2.3.11", + "slash": "1.0.0" }, "dependencies": { "ansi-styles": { @@ -5324,7 +5326,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5333,9 +5335,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5344,7 +5346,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5367,9 +5369,9 @@ "integrity": "sha512-vefQ/Lr+VdNvHUZFQXWtOqHX3HEdOc2MtSahBO89qXywEbUxGPB9ZLP9+BHinkxb60UT2Q/tTDOS6rYc6Mwigw==", "dev": true, "requires": { - "browser-resolve": "^1.11.2", - "chalk": "^2.0.1", - "is-builtin-module": "^1.0.0" + "browser-resolve": "1.11.2", + "chalk": "2.3.0", + "is-builtin-module": "1.0.0" }, "dependencies": { "ansi-styles": { @@ -5378,7 +5380,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5387,9 +5389,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5398,7 +5400,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5409,7 +5411,7 @@ "integrity": "sha512-ok8ybRFU5ScaAcfufIQrCbdNJSRZ85mkxJ1EhUp8Bhav1W1/jv/rl1Q6QoVQHObNxmKnbHVKrfLZbCbOsXQ+bQ==", "dev": true, "requires": { - "jest-regex-util": "^21.2.0" + "jest-regex-util": "21.2.0" } }, "jest-runner": { @@ -5418,16 +5420,16 @@ "integrity": "sha512-Anb72BOQlHqF/zETqZ2K20dbYsnqW/nZO7jV8BYENl+3c44JhMrA8zd1lt52+N7ErnsQMd2HHKiVwN9GYSXmrg==", "dev": true, "requires": { - "jest-config": "^21.2.1", - "jest-docblock": "^21.2.0", - "jest-haste-map": "^21.2.0", - "jest-jasmine2": "^21.2.1", - "jest-message-util": "^21.2.1", - "jest-runtime": "^21.2.1", - "jest-util": "^21.2.1", - "pify": "^3.0.0", - "throat": "^4.0.0", - "worker-farm": "^1.3.1" + "jest-config": "21.2.1", + "jest-docblock": "21.2.0", + "jest-haste-map": "21.2.0", + "jest-jasmine2": "21.2.1", + "jest-message-util": "21.2.1", + "jest-runtime": "21.2.1", + "jest-util": "21.2.1", + "pify": "3.0.0", + "throat": "4.1.0", + "worker-farm": "1.5.2" }, "dependencies": { "pify": { @@ -5444,23 +5446,23 @@ "integrity": "sha512-6omlpA3+NSE+rHwD0PQjNEjZeb2z+oRmuehMfM1tWQVum+E0WV3pFt26Am0DUfQkkPyTABvxITRjCUclYgSOsA==", "dev": true, "requires": { - "babel-core": "^6.0.0", - "babel-jest": "^21.2.0", - "babel-plugin-istanbul": "^4.0.0", - "chalk": "^2.0.1", - "convert-source-map": "^1.4.0", - "graceful-fs": "^4.1.11", - "jest-config": "^21.2.1", - "jest-haste-map": "^21.2.0", - "jest-regex-util": "^21.2.0", - "jest-resolve": "^21.2.0", - "jest-util": "^21.2.1", - "json-stable-stringify": "^1.0.1", - "micromatch": "^2.3.11", - "slash": "^1.0.0", + "babel-core": "6.26.2", + "babel-jest": "21.2.0", + "babel-plugin-istanbul": "4.1.5", + "chalk": "2.3.0", + "convert-source-map": "1.5.1", + "graceful-fs": "4.1.11", + "jest-config": "21.2.1", + "jest-haste-map": "21.2.0", + "jest-regex-util": "21.2.0", + "jest-resolve": "21.2.0", + "jest-util": "21.2.1", + "json-stable-stringify": "1.0.1", + "micromatch": "2.3.11", + "slash": "1.0.0", "strip-bom": "3.0.0", - "write-file-atomic": "^2.1.0", - "yargs": "^9.0.0" + "write-file-atomic": "2.3.0", + "yargs": "9.0.1" }, "dependencies": { "ansi-styles": { @@ -5469,7 +5471,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5478,9 +5480,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "strip-bom": { @@ -5495,7 +5497,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5506,12 +5508,12 @@ "integrity": "sha512-bpaeBnDpdqaRTzN8tWg0DqOTo2DvD3StOemxn67CUd1p1Po+BUpvePAp44jdJ7Pxcjfg+42o4NHw1SxdCA2rvg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-diff": "^21.2.1", - "jest-matcher-utils": "^21.2.1", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^21.2.1" + "chalk": "2.3.0", + "jest-diff": "21.2.1", + "jest-matcher-utils": "21.2.1", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-styles": { @@ -5520,7 +5522,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5529,9 +5531,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5540,7 +5542,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5551,13 +5553,13 @@ "integrity": "sha512-r20W91rmHY3fnCoO7aOAlyfC51x2yeV3xF+prGsJAUsYhKeV670ZB8NO88Lwm7ASu8SdH0S+U+eFf498kjhA4g==", "dev": true, "requires": { - "callsites": "^2.0.0", - "chalk": "^2.0.1", - "graceful-fs": "^4.1.11", - "jest-message-util": "^21.2.1", - "jest-mock": "^21.2.0", - "jest-validate": "^21.2.1", - "mkdirp": "^0.5.1" + "callsites": "2.0.0", + "chalk": "2.3.0", + "graceful-fs": "4.1.11", + "jest-message-util": "21.2.1", + "jest-mock": "21.2.0", + "jest-validate": "21.2.1", + "mkdirp": "0.5.1" }, "dependencies": { "ansi-styles": { @@ -5566,7 +5568,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "callsites": { @@ -5581,9 +5583,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5592,7 +5594,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5603,10 +5605,10 @@ "integrity": "sha512-k4HLI1rZQjlU+EC682RlQ6oZvLrE5SCh3brseQc24vbZTxzT/k/3urar5QMCVgjadmSO7lECeGdc6YxnM3yEGg==", "dev": true, "requires": { - "chalk": "^2.0.1", - "jest-get-type": "^21.2.0", - "leven": "^2.1.0", - "pretty-format": "^21.2.1" + "chalk": "2.3.0", + "jest-get-type": "21.2.0", + "leven": "2.1.0", + "pretty-format": "21.2.1" }, "dependencies": { "ansi-styles": { @@ -5615,7 +5617,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -5624,9 +5626,9 @@ "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", "dev": true, "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "4.5.0" } }, "supports-color": { @@ -5635,7 +5637,7 @@ "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -5651,8 +5653,8 @@ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.9", + "esprima": "4.0.0" } }, "jsbn": { @@ -5668,25 +5670,25 @@ "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "dev": true, "requires": { - "abab": "^1.0.3", - "acorn": "^4.0.4", - "acorn-globals": "^3.1.0", - "array-equal": "^1.0.0", - "content-type-parser": "^1.0.1", - "cssom": ">= 0.3.2 < 0.4.0", - "cssstyle": ">= 0.2.37 < 0.3.0", - "escodegen": "^1.6.1", - "html-encoding-sniffer": "^1.0.1", - "nwmatcher": ">= 1.3.9 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.79.0", - "sax": "^1.2.1", - "symbol-tree": "^3.2.1", - "tough-cookie": "^2.3.2", - "webidl-conversions": "^4.0.0", - "whatwg-encoding": "^1.0.1", - "whatwg-url": "^4.3.0", - "xml-name-validator": "^2.0.1" + "abab": "1.0.4", + "acorn": "4.0.13", + "acorn-globals": "3.1.0", + "array-equal": "1.0.0", + "content-type-parser": "1.0.2", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.9.0", + "html-encoding-sniffer": "1.0.2", + "nwmatcher": "1.4.3", + "parse5": "1.5.1", + "request": "2.83.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.3", + "webidl-conversions": "4.0.2", + "whatwg-encoding": "1.0.3", + "whatwg-url": "4.8.0", + "xml-name-validator": "2.0.1" }, "dependencies": { "acorn": { @@ -5733,7 +5735,7 @@ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "dev": true, "requires": { - "jsonify": "~0.0.0" + "jsonify": "0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -5760,7 +5762,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -5787,9 +5789,9 @@ "integrity": "sha512-a9dXInEPTRmdSmzw3LNhbAwdQVZgCRmFU7dFzrpLTMAcdolHXNamhxQ6J+PNIqUtWa9yRbZIzWX6aUlI55LZ/A==", "dev": true, "requires": { - "is-in-browser": "^1.1.3", - "symbol-observable": "^1.1.0", - "warning": "^3.0.0" + "is-in-browser": "1.1.3", + "symbol-observable": "1.2.0", + "warning": "3.0.0" } }, "jss-camel-case": { @@ -5798,7 +5800,7 @@ "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", "dev": true, "requires": { - "hyphenate-style-name": "^1.0.2" + "hyphenate-style-name": "1.0.2" } }, "jss-compose": { @@ -5807,7 +5809,7 @@ "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "dev": true, "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-default-unit": { @@ -5828,7 +5830,7 @@ "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "dev": true, "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-global": { @@ -5843,7 +5845,7 @@ "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "dev": true, "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-preset-default": { @@ -5852,16 +5854,16 @@ "integrity": "sha512-qZbpRVtHT7hBPpZEBPFfafZKWmq3tA/An5RNqywDsZQGrlinIF/mGD9lmj6jGqu8GrED2SMHZ3pPKLmjCZoiaQ==", "dev": true, "requires": { - "jss-camel-case": "^6.1.0", - "jss-compose": "^5.0.0", - "jss-default-unit": "^8.0.2", - "jss-expand": "^5.3.0", - "jss-extend": "^6.2.0", - "jss-global": "^3.0.0", - "jss-nested": "^6.0.1", - "jss-props-sort": "^6.0.0", - "jss-template": "^1.0.1", - "jss-vendor-prefixer": "^7.0.0" + "jss-camel-case": "6.1.0", + "jss-compose": "5.0.0", + "jss-default-unit": "8.0.2", + "jss-expand": "5.3.0", + "jss-extend": "6.2.0", + "jss-global": "3.0.0", + "jss-nested": "6.0.1", + "jss-props-sort": "6.0.0", + "jss-template": "1.0.1", + "jss-vendor-prefixer": "7.0.0" } }, "jss-props-sort": { @@ -5876,7 +5878,7 @@ "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "dev": true, "requires": { - "warning": "^3.0.0" + "warning": "3.0.0" } }, "jss-vendor-prefixer": { @@ -5885,7 +5887,7 @@ "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", "dev": true, "requires": { - "css-vendor": "^0.3.8" + "css-vendor": "0.3.8" } }, "jsx-ast-utils": { @@ -5894,7 +5896,7 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "^3.0.3" + "array-includes": "3.0.3" } }, "keycode": { @@ -5909,7 +5911,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "latest-version": { @@ -5918,7 +5920,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { @@ -5934,7 +5936,7 @@ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "leven": { @@ -5949,8 +5951,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "listr": { @@ -5959,22 +5961,22 @@ "integrity": "sha1-a84sD1YD+klYDqF81qAMwOX6RRo=", "dev": true, "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "figures": "^1.7.0", - "indent-string": "^2.1.0", - "is-promise": "^2.1.0", - "is-stream": "^1.1.0", - "listr-silent-renderer": "^1.1.1", - "listr-update-renderer": "^0.2.0", - "listr-verbose-renderer": "^0.4.0", - "log-symbols": "^1.0.2", - "log-update": "^1.0.2", - "ora": "^0.2.3", - "p-map": "^1.1.1", - "rxjs": "^5.0.0-beta.11", - "stream-to-observable": "^0.1.0", - "strip-ansi": "^3.0.1" + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "figures": "1.7.0", + "indent-string": "2.1.0", + "is-promise": "2.1.0", + "is-stream": "1.1.0", + "listr-silent-renderer": "1.1.1", + "listr-update-renderer": "0.2.0", + "listr-verbose-renderer": "0.4.1", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "ora": "0.2.3", + "p-map": "1.2.0", + "rxjs": "5.4.3", + "stream-to-observable": "0.1.0", + "strip-ansi": "3.0.1" }, "dependencies": { "figures": { @@ -5983,8 +5985,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" } }, "log-symbols": { @@ -5993,7 +5995,7 @@ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", "dev": true, "requires": { - "chalk": "^1.0.0" + "chalk": "1.1.3" } }, "stream-to-observable": { @@ -6010,9 +6012,9 @@ "integrity": "sha512-dvjSD1MrWGXxxPixpMQlSBmkyqhJrPxGo30un25k/vlvFOWZj70AauU+YkEh7CA8vmpkE6Wde37DJDmqYqF39g==", "dev": true, "requires": { - "inquirer": "^3.3.0", - "rxjs": "^5.5.2", - "through": "^2.3.8" + "inquirer": "3.3.0", + "rxjs": "5.5.6", + "through": "2.3.8" }, "dependencies": { "rxjs": { @@ -6044,14 +6046,14 @@ "integrity": "sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk=", "dev": true, "requires": { - "chalk": "^1.1.3", - "cli-truncate": "^0.2.1", - "elegant-spinner": "^1.0.1", - "figures": "^1.7.0", - "indent-string": "^3.0.0", - "log-symbols": "^1.0.2", - "log-update": "^1.0.2", - "strip-ansi": "^3.0.1" + "chalk": "1.1.3", + "cli-truncate": "0.2.1", + "elegant-spinner": "1.0.1", + "figures": "1.7.0", + "indent-string": "3.2.0", + "log-symbols": "1.0.2", + "log-update": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "figures": { @@ -6060,8 +6062,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" } }, "indent-string": { @@ -6076,7 +6078,7 @@ "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", "dev": true, "requires": { - "chalk": "^1.0.0" + "chalk": "1.1.3" } } } @@ -6087,10 +6089,10 @@ "integrity": "sha1-ggb0z21S3cWCfl/RSYng6WWTOjU=", "dev": true, "requires": { - "chalk": "^1.1.3", - "cli-cursor": "^1.0.2", - "date-fns": "^1.27.2", - "figures": "^1.7.0" + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "date-fns": "1.29.0", + "figures": "1.7.0" }, "dependencies": { "cli-cursor": { @@ -6099,7 +6101,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "^1.0.1" + "restore-cursor": "1.0.1" } }, "date-fns": { @@ -6114,8 +6116,8 @@ "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", "dev": true, "requires": { - "escape-string-regexp": "^1.0.5", - "object-assign": "^4.1.0" + "escape-string-regexp": "1.0.5", + "object-assign": "4.1.1" } }, "onetime": { @@ -6130,8 +6132,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" + "exit-hook": "1.1.1", + "onetime": "1.1.0" } } } @@ -6142,11 +6144,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" } }, "locate-path": { @@ -6155,8 +6157,8 @@ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -6177,7 +6179,7 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "2.3.1" }, "dependencies": { "ansi-styles": { @@ -6186,7 +6188,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -6195,9 +6197,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.2.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" } }, "has-flag": { @@ -6212,7 +6214,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6223,8 +6225,8 @@ "integrity": "sha1-GZKfZMQJPS0ucHWh2tivWcKWuNE=", "dev": true, "requires": { - "ansi-escapes": "^1.0.0", - "cli-cursor": "^1.0.2" + "ansi-escapes": "1.4.0", + "cli-cursor": "1.0.2" }, "dependencies": { "ansi-escapes": { @@ -6239,7 +6241,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "^1.0.1" + "restore-cursor": "1.0.1" } }, "onetime": { @@ -6254,8 +6256,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" + "exit-hook": "1.1.1", + "onetime": "1.1.0" } } } @@ -6271,7 +6273,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -6280,8 +6282,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -6296,8 +6298,8 @@ "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "luxon": { @@ -6312,7 +6314,7 @@ "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", "dev": true, "requires": { - "vlq": "^0.2.2" + "vlq": "0.2.3" } }, "make-dir": { @@ -6321,7 +6323,7 @@ "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" }, "dependencies": { "pify": { @@ -6338,7 +6340,7 @@ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "dev": true, "requires": { - "tmpl": "1.0.x" + "tmpl": "1.0.4" } }, "map-obj": { @@ -6353,7 +6355,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "meow": { @@ -6362,15 +6364,15 @@ "integrity": "sha512-Me/kel335m6vMKmEmA6c87Z6DUFW3JqkINRnxkbC+A/PUm0D5Fl2dEBQrPKnqCL9Te/CIa1MUt/0InMJhuC/sw==", "dev": true, "requires": { - "camelcase-keys": "^4.0.0", - "decamelize-keys": "^1.0.0", - "loud-rejection": "^1.0.0", - "minimist": "^1.1.3", - "minimist-options": "^3.0.1", - "normalize-package-data": "^2.3.4", - "read-pkg-up": "^3.0.0", - "redent": "^2.0.0", - "trim-newlines": "^2.0.0" + "camelcase-keys": "4.2.0", + "decamelize-keys": "1.1.0", + "loud-rejection": "1.6.0", + "minimist": "1.2.0", + "minimist-options": "3.0.2", + "normalize-package-data": "2.4.0", + "read-pkg-up": "3.0.0", + "redent": "2.0.0", + "trim-newlines": "2.0.0" }, "dependencies": { "load-json-file": { @@ -6379,10 +6381,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "minimist": { @@ -6397,8 +6399,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.1" } }, "path-type": { @@ -6407,7 +6409,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "pify": { @@ -6422,9 +6424,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" } }, "read-pkg-up": { @@ -6433,8 +6435,8 @@ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "2.1.0", + "read-pkg": "3.0.0" } }, "strip-bom": { @@ -6457,19 +6459,19 @@ "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "dev": true, "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" } }, "mime-db": { @@ -6484,7 +6486,7 @@ "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "dev": true, "requires": { - "mime-db": "~1.30.0" + "mime-db": "1.30.0" } }, "mimic-fn": { @@ -6499,7 +6501,7 @@ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "minimatch": { @@ -6508,7 +6510,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.8" } }, "minimist": { @@ -6523,8 +6525,8 @@ "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", "dev": true, "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0" + "arrify": "1.0.1", + "is-plain-obj": "1.1.0" } }, "mkdirp": { @@ -6573,9 +6575,9 @@ "integrity": "sha512-clqqhEuP0ZCJQ85Xv2I/4o2Gs/fvSR6fCg5ZHVE2c8evWyNk2G++ih4JOO3lMb/k/09x6ihQ2nzKUlB/APCWjg==", "dev": true, "requires": { - "nomnom": "~1.6.2", - "railroad-diagrams": "^1.0.0", - "randexp": "^0.4.2" + "nomnom": "1.6.2", + "railroad-diagrams": "1.0.0", + "randexp": "0.4.6" } }, "node-fetch": { @@ -6583,8 +6585,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-int64": { @@ -6599,10 +6601,10 @@ "integrity": "sha1-L6nhJgX6EACdRFSdb82KY93g5P8=", "dev": true, "requires": { - "growly": "^1.3.0", - "semver": "^5.3.0", - "shellwords": "^0.1.0", - "which": "^1.2.12" + "growly": "1.3.0", + "semver": "5.4.1", + "shellwords": "0.1.1", + "which": "1.3.0" } }, "nomnom": { @@ -6611,8 +6613,8 @@ "integrity": "sha1-hKZqJgF0QI/Ft3oY+IjszET7aXE=", "dev": true, "requires": { - "colors": "0.5.x", - "underscore": "~1.4.4" + "colors": "0.5.1", + "underscore": "1.4.4" } }, "normalize-package-data": { @@ -6621,10 +6623,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.5.0", + "is-builtin-module": "1.0.0", + "semver": "5.4.1", + "validate-npm-package-license": "3.0.1" } }, "normalize-path": { @@ -6633,7 +6635,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-scroll-left": { @@ -6648,28 +6650,28 @@ "integrity": "sha512-IiCxi6SpqsVaGiQG5/XbkZ2uqfAe2G7lwS7BuaWC117MCgPs57SI+1F0chKN/abBmYZqxjqbEId6AUA+1aNblQ==", "dev": true, "requires": { - "any-observable": "^0.2.0", - "chalk": "^2.3.0", - "del": "^3.0.0", - "execa": "^0.8.0", - "github-url-from-git": "^1.5.0", - "has-yarn": "^1.0.0", - "hyperlinker": "^1.0.0", - "inquirer": "^3.0.6", - "issue-regex": "^1.0.0", - "listr": "^0.12.0", - "listr-input": "^0.1.1", - "log-symbols": "^2.1.0", - "meow": "^4.0.0", - "p-tap": "^1.0.0", - "p-timeout": "^2.0.1", - "read-pkg-up": "^3.0.0", + "any-observable": "0.2.0", + "chalk": "2.3.1", + "del": "3.0.0", + "execa": "0.8.0", + "github-url-from-git": "1.5.0", + "has-yarn": "1.0.0", + "hyperlinker": "1.0.0", + "inquirer": "3.3.0", + "issue-regex": "1.0.0", + "listr": "0.12.0", + "listr-input": "0.1.3", + "log-symbols": "2.2.0", + "meow": "4.0.0", + "p-tap": "1.0.0", + "p-timeout": "2.0.1", + "read-pkg-up": "3.0.0", "rxjs": "5.4.3", - "semver": "^5.2.0", - "split": "^1.0.0", - "stream-to-observable": "^0.2.0", - "supports-hyperlinks": "^1.0.1", - "update-notifier": "^2.1.0" + "semver": "5.4.1", + "split": "1.0.1", + "stream-to-observable": "0.2.0", + "supports-hyperlinks": "1.0.1", + "update-notifier": "2.3.0" }, "dependencies": { "ansi-styles": { @@ -6678,7 +6680,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -6687,9 +6689,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.2.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" } }, "del": { @@ -6698,12 +6700,12 @@ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.0", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" } }, "execa": { @@ -6712,13 +6714,13 @@ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "globby": { @@ -6727,11 +6729,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" }, "dependencies": { "pify": { @@ -6754,10 +6756,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -6766,8 +6768,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.1" } }, "path-type": { @@ -6776,7 +6778,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "pify": { @@ -6791,9 +6793,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" } }, "read-pkg-up": { @@ -6802,8 +6804,8 @@ "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" + "find-up": "2.1.0", + "read-pkg": "3.0.0" } }, "strip-bom": { @@ -6818,7 +6820,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6829,7 +6831,7 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true, "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "nth-check": { @@ -6838,7 +6840,7 @@ "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "dev": true, "requires": { - "boolbase": "~1.0.0" + "boolbase": "1.0.0" } }, "number-is-nan": { @@ -6888,10 +6890,10 @@ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.0.11" } }, "object.entries": { @@ -6900,10 +6902,10 @@ "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.6.1", - "function-bind": "^1.1.0", - "has": "^1.0.1" + "define-properties": "1.1.2", + "es-abstract": "1.10.0", + "function-bind": "1.1.1", + "has": "1.0.1" } }, "object.omit": { @@ -6912,8 +6914,8 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true, "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" + "for-own": "0.1.5", + "is-extendable": "0.1.1" } }, "object.values": { @@ -6922,10 +6924,10 @@ "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.6.1", - "function-bind": "^1.1.0", - "has": "^1.0.1" + "define-properties": "1.1.2", + "es-abstract": "1.10.0", + "function-bind": "1.1.1", + "has": "1.0.1" } }, "once": { @@ -6934,7 +6936,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -6943,7 +6945,7 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.1.0" } }, "optimist": { @@ -6952,8 +6954,8 @@ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "dev": true, "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" }, "dependencies": { "wordwrap": { @@ -6970,12 +6972,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "ora": { @@ -6984,10 +6986,10 @@ "integrity": "sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q=", "dev": true, "requires": { - "chalk": "^1.1.1", - "cli-cursor": "^1.0.2", - "cli-spinners": "^0.1.2", - "object-assign": "^4.0.1" + "chalk": "1.1.3", + "cli-cursor": "1.0.2", + "cli-spinners": "0.1.2", + "object-assign": "4.1.1" }, "dependencies": { "cli-cursor": { @@ -6996,7 +6998,7 @@ "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", "dev": true, "requires": { - "restore-cursor": "^1.0.1" + "restore-cursor": "1.0.1" } }, "onetime": { @@ -7011,8 +7013,8 @@ "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", "dev": true, "requires": { - "exit-hook": "^1.0.0", - "onetime": "^1.0.0" + "exit-hook": "1.1.1", + "onetime": "1.1.0" } } } @@ -7029,9 +7031,9 @@ "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "dev": true, "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "os-tmpdir": { @@ -7046,9 +7048,9 @@ "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", "dev": true, "requires": { - "graceful-fs": "^4.1.4", - "mkdirp": "^0.5.1", - "object-assign": "^4.1.0" + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "object-assign": "4.1.1" } }, "p-cancelable": { @@ -7075,7 +7077,7 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.1.0" } }, "p-map": { @@ -7096,7 +7098,7 @@ "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==", "dev": true, "requires": { - "p-finally": "^1.0.0" + "p-finally": "1.0.0" } }, "package-json": { @@ -7105,10 +7107,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.4.1" } }, "parse-glob": { @@ -7117,10 +7119,10 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true, "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" } }, "parse-json": { @@ -7129,7 +7131,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "parse5": { @@ -7138,7 +7140,7 @@ "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "dev": true, "requires": { - "@types/node": "*" + "@types/node": "8.5.2" } }, "path-exists": { @@ -7177,9 +7179,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" } }, "performance-now": { @@ -7206,7 +7208,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -7215,7 +7217,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" }, "dependencies": { "find-up": { @@ -7224,8 +7226,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -7234,7 +7236,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } } } @@ -7275,8 +7277,8 @@ "integrity": "sha512-ZdWPGYAnYfcVP8yKA3zFjCn8s4/17TeYH28MXuC8vTp0o21eXjbFGcOAXZEaDaOFJjc3h2qa7HQNHNshhvoh2A==", "dev": true, "requires": { - "ansi-regex": "^3.0.0", - "ansi-styles": "^3.2.0" + "ansi-regex": "3.0.0", + "ansi-styles": "3.2.0" }, "dependencies": { "ansi-regex": { @@ -7291,7 +7293,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } } } @@ -7325,7 +7327,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prop-types": { @@ -7333,9 +7335,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" } }, "prr": { @@ -7374,7 +7376,7 @@ "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "dev": true, "requires": { - "performance-now": "^2.1.0" + "performance-now": "2.1.0" } }, "rafl": { @@ -7383,7 +7385,7 @@ "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", "dev": true, "requires": { - "global": "~4.3.0" + "global": "4.3.2" } }, "railroad-diagrams": { @@ -7399,7 +7401,7 @@ "dev": true, "requires": { "discontinuous-range": "1.0.0", - "ret": "~0.1.10" + "ret": "0.1.15" } }, "randomatic": { @@ -7408,8 +7410,8 @@ "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { @@ -7418,7 +7420,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -7427,7 +7429,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7438,7 +7440,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -7449,10 +7451,10 @@ "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "dev": true, "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -7469,10 +7471,10 @@ "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-dom": { @@ -7481,10 +7483,10 @@ "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-event-listener": { @@ -7493,10 +7495,10 @@ "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "fbjs": "^0.8.16", - "prop-types": "^15.6.0", - "warning": "^3.0.0" + "babel-runtime": "6.26.0", + "fbjs": "0.8.16", + "prop-types": "15.6.1", + "warning": "3.0.0" } }, "react-jss": { @@ -7505,11 +7507,11 @@ "integrity": "sha512-yIi4udcTIIh5u4KJ47wsL3UZYMuSrp5xR1YBvPeRNshpCdRoJxt5BWmCu1RA3LIa+//dnRsAtAQmMAYeg1W9oQ==", "dev": true, "requires": { - "hoist-non-react-statics": "^2.3.1", - "jss": "^9.7.0", - "jss-preset-default": "^4.3.0", - "prop-types": "^15.6.0", - "theming": "^1.3.0" + "hoist-non-react-statics": "2.5.0", + "jss": "9.8.1", + "jss-preset-default": "4.5.0", + "prop-types": "15.6.1", + "theming": "1.3.0" } }, "react-lifecycles-compat": { @@ -7524,8 +7526,8 @@ "integrity": "sha1-rypBXqIike3VBGeNev2opu4ylao=", "dev": true, "requires": { - "popper.js": "^1.14.1", - "prop-types": "^15.6.1" + "popper.js": "1.14.3", + "prop-types": "15.6.1" } }, "react-reconciler": { @@ -7534,10 +7536,10 @@ "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-scrollbar-size": { @@ -7546,10 +7548,10 @@ "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "prop-types": "^15.6.0", - "react-event-listener": "^0.5.1", - "stifle": "^1.0.2" + "babel-runtime": "6.26.0", + "prop-types": "15.6.1", + "react-event-listener": "0.5.3", + "stifle": "1.0.4" } }, "react-test-renderer": { @@ -7558,9 +7560,9 @@ "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==", "dev": true, "requires": { - "fbjs": "^0.8.16", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-text-mask": { @@ -7568,7 +7570,7 @@ "resolved": "https://registry.npmjs.org/react-text-mask/-/react-text-mask-5.3.1.tgz", "integrity": "sha512-gbF3xnb3f52haE9wwxlYDQXe/Dq11+u3b59j+l4eW3XB2kWgK+9EtjpxKGiWef8/uRq9BIxp5z3Sa1GVcy+ftg==", "requires": { - "prop-types": "^15.5.6" + "prop-types": "15.6.1" } }, "react-transition-group": { @@ -7577,9 +7579,9 @@ "integrity": "sha512-hu4/LAOFSKjWt1+1hgnOv3ldxmt6lvZGTWz4KUkFrqzXrNDIVSu6txIcPszw7PNduR8en9YTN55JLRyd/L1ZiQ==", "dev": true, "requires": { - "dom-helpers": "^3.3.1", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.1" + "dom-helpers": "3.3.1", + "loose-envify": "1.3.1", + "prop-types": "15.6.1" } }, "read-pkg": { @@ -7588,9 +7590,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -7599,8 +7601,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -7609,8 +7611,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -7619,7 +7621,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } } } @@ -7630,13 +7632,13 @@ "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", "dev": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" } }, "readdirp": { @@ -7646,10 +7648,10 @@ "dev": true, "optional": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.3", + "set-immediate-shim": "1.0.1" } }, "recompose": { @@ -7658,12 +7660,12 @@ "integrity": "sha512-hivr1EopLhzjchhv2Y7VcLA2H5NGztwV/qfYqmIAhTkNowNQ9PyXdfq9Q8QCa0TMrPM1NtStlUyi5I/p8XfUNQ==", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "change-emitter": "^0.1.2", - "fbjs": "^0.8.1", - "hoist-non-react-statics": "^2.3.1", - "react-lifecycles-compat": "^3.0.2", - "symbol-observable": "^1.0.4" + "babel-runtime": "6.26.0", + "change-emitter": "0.1.6", + "fbjs": "0.8.16", + "hoist-non-react-statics": "2.5.0", + "react-lifecycles-compat": "3.0.4", + "symbol-observable": "1.2.0" } }, "redent": { @@ -7672,8 +7674,8 @@ "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", "dev": true, "requires": { - "indent-string": "^3.0.0", - "strip-indent": "^2.0.0" + "indent-string": "3.2.0", + "strip-indent": "2.0.0" }, "dependencies": { "indent-string": { @@ -7701,9 +7703,9 @@ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" } }, "regex-cache": { @@ -7712,7 +7714,7 @@ "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { - "is-equal-shallow": "^0.1.3" + "is-equal-shallow": "0.1.3" } }, "regexpp": { @@ -7727,9 +7729,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -7738,8 +7740,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.5", + "safe-buffer": "5.1.1" } }, "registry-url": { @@ -7748,7 +7750,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.5" } }, "regjsgen": { @@ -7763,7 +7765,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { @@ -7798,7 +7800,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -7807,28 +7809,28 @@ "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" } }, "require-directory": { @@ -7849,8 +7851,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" } }, "resolve": { @@ -7859,7 +7861,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } }, "resolve-from": { @@ -7874,8 +7876,8 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -7891,7 +7893,7 @@ "dev": true, "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { @@ -7900,7 +7902,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "rollup": { @@ -7915,7 +7917,7 @@ "integrity": "sha512-TGhQbliTZnRoUhd2214K3r4KJUBu9J1DPzcrAnkluVXOVrveU9OvAaYQ16KyOmujAoq+LMC1+x6YF2xBrU7t+g==", "dev": true, "requires": { - "rollup-pluginutils": "^1.5.0" + "rollup-pluginutils": "1.5.2" } }, "rollup-plugin-commonjs": { @@ -7924,11 +7926,11 @@ "integrity": "sha512-mg+WuD+jlwoo8bJtW3Mvx7Tz6TsIdMsdhuvCnDMoyjh0oxsVgsjB/N0X984RJCWwc5IIiqNVJhXeeITcc73++A==", "dev": true, "requires": { - "acorn": "^5.2.1", - "estree-walker": "^0.5.0", - "magic-string": "^0.22.4", - "resolve": "^1.4.0", - "rollup-pluginutils": "^2.0.1" + "acorn": "5.5.3", + "estree-walker": "0.5.1", + "magic-string": "0.22.5", + "resolve": "1.7.1", + "rollup-pluginutils": "2.0.1" }, "dependencies": { "estree-walker": { @@ -7943,8 +7945,8 @@ "integrity": "sha1-fslbNXP2VDpGpkYb2afFRFJdD8A=", "dev": true, "requires": { - "estree-walker": "^0.3.0", - "micromatch": "^2.3.11" + "estree-walker": "0.3.1", + "micromatch": "2.3.11" }, "dependencies": { "estree-walker": { @@ -7963,11 +7965,11 @@ "integrity": "sha512-J5Ja0xgba4YqWthoui95TlLJLgcheh78vB0SXJTEyB2AfhspJEN6wFJHFzRStVYPtD0zIyg6A5H+2UhaX5bVcw==", "dev": true, "requires": { - "boxen": "^1.1.0", - "colors": "^1.1.2", - "deep-assign": "^2.0.0", - "filesize": "^3.5.6", - "gzip-size": "^3.0.0" + "boxen": "1.3.0", + "colors": "1.1.2", + "deep-assign": "2.0.0", + "filesize": "3.5.11", + "gzip-size": "3.0.0" }, "dependencies": { "colors": { @@ -7984,9 +7986,9 @@ "integrity": "sha512-9zHGr3oUJq6G+X0oRMYlzid9fXicBdiydhwGChdyeNRGPcN/majtegApRKHLR5drboUvEWU+QeUmGTyEZQs3WA==", "dev": true, "requires": { - "builtin-modules": "^2.0.0", - "is-module": "^1.0.0", - "resolve": "^1.1.6" + "builtin-modules": "2.0.0", + "is-module": "1.0.0", + "resolve": "1.7.1" }, "dependencies": { "builtin-modules": { @@ -8003,8 +8005,8 @@ "integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=", "dev": true, "requires": { - "estree-walker": "^0.2.1", - "minimatch": "^3.0.2" + "estree-walker": "0.2.1", + "minimatch": "3.0.4" } }, "rst-selector-parser": { @@ -8013,8 +8015,8 @@ "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", "dev": true, "requires": { - "lodash.flattendeep": "^4.4.0", - "nearley": "^2.7.10" + "lodash.flattendeep": "4.4.0", + "nearley": "2.11.0" } }, "run-async": { @@ -8023,7 +8025,7 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -8038,7 +8040,7 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" } }, "rxjs": { @@ -8047,7 +8049,7 @@ "integrity": "sha512-fSNi+y+P9ss+EZuV0GcIIqPUK07DEaMRUtLJvdcvMyFjc9dizuDjere+A4V7JrLGnm9iCc+nagV/4QdMTkqC4A==", "dev": true, "requires": { - "symbol-observable": "^1.0.1" + "symbol-observable": "1.2.0" } }, "safe-buffer": { @@ -8062,14 +8064,14 @@ "integrity": "sha512-OSJxhHO0CgPUw3lUm3GhfREAfza45smvEI9ozuFrxKG10GHVo0ryW9FK5VYlLvxj0SV7HVKHW0voYJIRu27GWg==", "dev": true, "requires": { - "anymatch": "^1.3.0", - "exec-sh": "^0.2.0", - "fb-watchman": "^2.0.0", - "fsevents": "^1.1.1", - "minimatch": "^3.0.2", - "minimist": "^1.1.1", - "walker": "~1.0.5", - "watch": "~0.18.0" + "anymatch": "1.3.2", + "exec-sh": "0.2.1", + "fb-watchman": "2.0.0", + "fsevents": "1.1.3", + "minimatch": "3.0.4", + "minimist": "1.2.0", + "walker": "1.0.7", + "watch": "0.18.0" }, "dependencies": { "minimist": { @@ -8092,7 +8094,7 @@ "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "dev": true, "requires": { - "rafl": "~1.2.1" + "rafl": "1.2.2" } }, "semver": { @@ -8107,7 +8109,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.4.1" } }, "set-blocking": { @@ -8134,7 +8136,7 @@ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -8167,7 +8169,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" } }, "sntp": { @@ -8176,7 +8178,7 @@ "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "dev": true, "requires": { - "hoek": "4.x.x" + "hoek": "4.2.0" } }, "source-map": { @@ -8191,7 +8193,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" } }, "spdx-correct": { @@ -8200,7 +8202,7 @@ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "dev": true, "requires": { - "spdx-license-ids": "^1.0.2" + "spdx-license-ids": "1.2.2" } }, "spdx-expression-parse": { @@ -8221,7 +8223,7 @@ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, "requires": { - "through": "2" + "through": "2.3.8" } }, "sprintf-js": { @@ -8236,14 +8238,14 @@ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "dev": true, "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" } }, "stifle": { @@ -8258,7 +8260,7 @@ "integrity": "sha1-WdbqOT2HwsDdrBCqDVYbxrpvDhA=", "dev": true, "requires": { - "any-observable": "^0.2.0" + "any-observable": "0.2.0" } }, "string-length": { @@ -8267,8 +8269,8 @@ "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", "dev": true, "requires": { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0" + "astral-regex": "1.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -8283,7 +8285,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -8294,8 +8296,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" }, "dependencies": { "ansi-regex": { @@ -8310,7 +8312,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -8321,7 +8323,7 @@ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "stringstream": { @@ -8336,7 +8338,7 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -8345,7 +8347,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -8378,8 +8380,8 @@ "integrity": "sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==", "dev": true, "requires": { - "has-flag": "^2.0.0", - "supports-color": "^5.0.0" + "has-flag": "2.0.0", + "supports-color": "5.2.0" }, "dependencies": { "supports-color": { @@ -8388,7 +8390,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" }, "dependencies": { "has-flag": { @@ -8419,12 +8421,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.4.1", + "lodash": "4.17.4", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-styles": { @@ -8433,7 +8435,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -8442,9 +8444,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -8459,7 +8461,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -8470,7 +8472,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "test-exclude": { @@ -8479,11 +8481,11 @@ "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "dev": true, "requires": { - "arrify": "^1.0.1", - "micromatch": "^2.3.11", - "object-assign": "^4.1.0", - "read-pkg-up": "^1.0.1", - "require-main-filename": "^1.0.1" + "arrify": "1.0.1", + "micromatch": "2.3.11", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "require-main-filename": "1.0.1" } }, "text-table": { @@ -8498,10 +8500,10 @@ "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", "dev": true, "requires": { - "brcast": "^3.0.1", - "is-function": "^1.0.1", - "is-plain-object": "^2.0.1", - "prop-types": "^15.5.8" + "brcast": "3.0.1", + "is-function": "1.0.1", + "is-plain-object": "2.0.4", + "prop-types": "15.6.1" } }, "throat": { @@ -8528,7 +8530,7 @@ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "tmpl": { @@ -8549,7 +8551,7 @@ "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "dev": true, "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "tr46": { @@ -8576,7 +8578,7 @@ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.1" } }, "tweetnacl": { @@ -8592,7 +8594,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "typedarray": { @@ -8619,9 +8621,9 @@ "dev": true, "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "yargs": { @@ -8631,9 +8633,9 @@ "dev": true, "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } } @@ -8658,7 +8660,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "universalify": { @@ -8679,15 +8681,15 @@ "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.3.1", + "configstore": "3.1.1", + "import-lazy": "2.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" }, "dependencies": { "ansi-styles": { @@ -8696,7 +8698,7 @@ "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -8705,9 +8707,9 @@ "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.2.0" + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" } }, "has-flag": { @@ -8722,7 +8724,7 @@ "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -8733,7 +8735,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "user-home": { @@ -8760,7 +8762,7 @@ "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", "dev": true, "requires": { - "user-home": "^1.1.1" + "user-home": "1.1.1" } }, "validate-npm-package-license": { @@ -8769,8 +8771,8 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true, "requires": { - "spdx-correct": "~1.0.0", - "spdx-expression-parse": "~1.0.0" + "spdx-correct": "1.0.2", + "spdx-expression-parse": "1.0.4" } }, "verror": { @@ -8779,9 +8781,9 @@ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "vlq": { @@ -8796,7 +8798,7 @@ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "dev": true, "requires": { - "makeerror": "1.0.x" + "makeerror": "1.0.11" } }, "warning": { @@ -8805,7 +8807,7 @@ "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "dev": true, "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "watch": { @@ -8814,8 +8816,8 @@ "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=", "dev": true, "requires": { - "exec-sh": "^0.2.0", - "minimist": "^1.2.0" + "exec-sh": "0.2.1", + "minimist": "1.2.0" }, "dependencies": { "minimist": { @@ -8852,8 +8854,8 @@ "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "dev": true, "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "0.0.3", + "webidl-conversions": "3.0.1" }, "dependencies": { "webidl-conversions": { @@ -8870,7 +8872,7 @@ "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -8885,7 +8887,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" } }, "window-size": { @@ -8907,8 +8909,8 @@ "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "dev": true, "requires": { - "errno": "^0.1.4", - "xtend": "^4.0.1" + "errno": "0.1.6", + "xtend": "4.0.1" } }, "wrap-ansi": { @@ -8917,8 +8919,8 @@ "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -8927,7 +8929,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { @@ -8936,9 +8938,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -8955,7 +8957,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { @@ -8964,9 +8966,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "xdg-basedir": { @@ -9005,19 +9007,19 @@ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=", "dev": true, "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" }, "dependencies": { "camelcase": { @@ -9032,9 +9034,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { @@ -9043,9 +9045,9 @@ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -9056,7 +9058,7 @@ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "load-json-file": { @@ -9065,10 +9067,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" } }, "path-type": { @@ -9077,7 +9079,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "read-pkg": { @@ -9086,9 +9088,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { @@ -9097,8 +9099,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" } }, "strip-bom": { @@ -9115,7 +9117,7 @@ "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { diff --git a/lib/package.json b/lib/package.json index a2f335ebb9e297..220fe2d01689f9 100644 --- a/lib/package.json +++ b/lib/package.json @@ -40,7 +40,7 @@ }, "externalDependencies": { "moment": "^2.19.2", - "date-fns": "^2.0.0-alpha.7", + "date-fns": "2.0.0-alpha.7", "luxon": "^1.0.0" }, "dependencies": { @@ -94,7 +94,7 @@ "babel-preset-latest": "^6.24.1", "classnames": "^2.2.5", "cross-env": "^5.1.4", - "date-fns": "^2.0.0-alpha.7", + "date-fns": "2.0.0-alpha.7", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.0", "eslint": "^4.19.1", From d14e34790cf111e4bab7b6f799e5fa7f6f5495de Mon Sep 17 00:00:00 2001 From: LastDreamer Date: Tue, 22 May 2018 14:58:10 +0500 Subject: [PATCH 0589/1801] parseFormats removed --- lib/src/_shared/DateTextField.d.ts | 1 - lib/src/_shared/DateTextField.jsx | 22 +--------------------- 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/lib/src/_shared/DateTextField.d.ts b/lib/src/_shared/DateTextField.d.ts index 62866cf72d1345..80be32c955d113 100644 --- a/lib/src/_shared/DateTextField.d.ts +++ b/lib/src/_shared/DateTextField.d.ts @@ -17,7 +17,6 @@ export interface DateTextFieldProps extends Omit void; keyboard?: boolean; format?: string; - parseFormats?: string[]; invalidLabel?: string; emptyLabel?: string; labelFunc?: (date: MaterialUiPickersDate, invalidLabel: string) => string; diff --git a/lib/src/_shared/DateTextField.jsx b/lib/src/_shared/DateTextField.jsx index e3732f48d7c947..08ae5b7e602696 100644 --- a/lib/src/_shared/DateTextField.jsx +++ b/lib/src/_shared/DateTextField.jsx @@ -25,7 +25,6 @@ export class DateTextField extends PureComponent { disablePast: PropTypes.bool, disableFuture: PropTypes.bool, format: PropTypes.string, - parseFormats: PropTypes.arrayOf(PropTypes.string), onChange: PropTypes.func.isRequired, onClear: PropTypes.func, onClick: PropTypes.func.isRequired, @@ -70,7 +69,6 @@ export class DateTextField extends PureComponent { value: new Date(), labelFunc: undefined, format: undefined, - parseFormats: undefined, InputProps: undefined, keyboard: false, mask: undefined, @@ -178,7 +176,6 @@ export class DateTextField extends PureComponent { utils, format, onError, - parseFormats, } = this.props; if (value === '') { @@ -192,23 +189,7 @@ export class DateTextField extends PureComponent { } const oldValue = utils.date(this.state.value); - let newValue; - - if (parseFormats) { - newValue = parseFormats.reduce((result, parseFormat) => { - if (result) { - return result; - } - - const date = utils.parse(value, parseFormat); - return utils.isValid(date) && date; - }, undefined); - } - - if (!parseFormats || newValue === false) { - newValue = utils.parse(value, format); - } - + const newValue = utils.parse(value, format); const error = this.getError(newValue); this.setState({ @@ -281,7 +262,6 @@ export class DateTextField extends PureComponent { const { utils, format, - parseFormats, classes, disabled, onClick, From 5466f51205b4f57ef2da2aee905f21a1962073f5 Mon Sep 17 00:00:00 2001 From: Pedro Brost Date: Tue, 22 May 2018 13:48:57 -0300 Subject: [PATCH 0590/1801] Specify date-fns version in README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f660f60edcc32f..3876af73b0dc99 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,12 @@ Available as npm package. npm install material-ui-pickers -S ``` -Now choose the library that pickers will use to work with date. We are providing interfaces for [moment](https://momentjs.com/) and [date-fns](https://date-fns.org/). If you are not using moment in the project (or dont have it in the bundle already) we suggest using date-fns, because it much more lightweight and will be correctly tree-shaked from the bundle. +Now choose the library that pickers will use to work with date. We are providing interfaces for [moment](https://momentjs.com/) and [date-fns](https://date-fns.org/). If you are not using moment in the project (or dont have it in the bundle already) we suggest using date-fns, because it much more lightweight and will be correctly tree-shaked from the bundle. Note, that we support only 2.0.0-alpha.7 version of date-fns for now (see #414). Stay tuned! ```sh -npm install date-fns@next -s +npm i -s date-fns@2.0.0-alpha.7 // or -npm install moment -s +npm i moment -s // or npm i luxon -s ``` From 2bca40796ed37895356a9f3b7a4d946c1482daf0 Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 11:08:51 -0700 Subject: [PATCH 0591/1801] Add seconds clock type. --- lib/src/constants/clock-types.d.ts | 2 +- lib/src/constants/clock-types.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/src/constants/clock-types.d.ts b/lib/src/constants/clock-types.d.ts index ad1be0c3dad6c7..a4e6df2e3a2b11 100644 --- a/lib/src/constants/clock-types.d.ts +++ b/lib/src/constants/clock-types.d.ts @@ -1 +1 @@ -export type ClockType = 'hours' | 'minutes'; +export type ClockType = 'hours' | 'minutes' | 'seconds'; diff --git a/lib/src/constants/clock-types.js b/lib/src/constants/clock-types.js index c885562445663c..c6bad2af5bda9e 100644 --- a/lib/src/constants/clock-types.js +++ b/lib/src/constants/clock-types.js @@ -2,3 +2,5 @@ export const HOURS = 'hours'; export const MINUTES = 'minutes'; +export const SECONDS = 'seconds'; + From a3333aa1a0542aff5466d6742178fe6427388768 Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 13:43:00 -0700 Subject: [PATCH 0592/1801] Add seconds related functions in utils. Add these three functions: 1. getSecondText 2. getSeconds 3. setSeconds --- lib/src/utils/date-fns-utils.js | 10 ++++++++++ lib/src/utils/luxon-utils.js | 12 ++++++++++++ lib/src/utils/moment-utils.js | 12 ++++++++++++ 3 files changed, 34 insertions(+) diff --git a/lib/src/utils/date-fns-utils.js b/lib/src/utils/date-fns-utils.js index f887f0df29b31e..6aeedcc34ef92e 100644 --- a/lib/src/utils/date-fns-utils.js +++ b/lib/src/utils/date-fns-utils.js @@ -9,6 +9,7 @@ import endOfWeek from 'date-fns/endOfWeek'; import endOfYear from 'date-fns/endOfYear'; import format from 'date-fns/format'; import getHours from 'date-fns/getHours'; +import getSeconds from 'date-fns/getSeconds'; import getYear from 'date-fns/getYear'; import isAfter from 'date-fns/isAfter'; import isBefore from 'date-fns/isBefore'; @@ -18,6 +19,7 @@ import isValid from 'date-fns/isValid'; import dateFnsParse from 'date-fns/parse'; import setHours from 'date-fns/setHours'; import setMinutes from 'date-fns/setMinutes'; +import setSeconds from 'date-fns/setSeconds'; import setYear from 'date-fns/setYear'; import startOfDay from 'date-fns/startOfDay'; import startOfMonth from 'date-fns/startOfMonth'; @@ -103,6 +105,10 @@ export default class DateFnsUtils { setMinutes = setMinutes + getSeconds = getSeconds + + setSeconds = setSeconds + getMonth(date) { return date.getMonth(); } @@ -198,4 +204,8 @@ export default class DateFnsUtils { getMinuteText(date) { return format(date, 'mm', { locale: this.locale }); } + + getSecondText(date) { + return format(date, 'ss', { locale: this.locale }); + } } diff --git a/lib/src/utils/luxon-utils.js b/lib/src/utils/luxon-utils.js index 6ac06e51f14959..656ec27f221e2e 100644 --- a/lib/src/utils/luxon-utils.js +++ b/lib/src/utils/luxon-utils.js @@ -107,6 +107,14 @@ export default class LuxonUtils { return value.set({ minute: count }); } + getSeconds(value) { + return value.get('second'); + } + + setSeconds(value, count) { + return value.set({ second: count }); + } + getMonth(value) { // See https://github.com/moment/luxon/blob/master/docs/moment.md#major-functional-differences return value.get('month') - 1; @@ -208,6 +216,10 @@ export default class LuxonUtils { return date.toFormat('mm'); } + getSecondText(date) { + return date.toFormat('ss'); + } + getYearText(date) { return date.toFormat('yyyy'); } diff --git a/lib/src/utils/moment-utils.js b/lib/src/utils/moment-utils.js index d2209037627cc3..e380de284ee373 100644 --- a/lib/src/utils/moment-utils.js +++ b/lib/src/utils/moment-utils.js @@ -89,6 +89,14 @@ export default class MomentUtils { return date.clone().minutes(value); } + getSeconds(date) { + return date.get('seconds'); + } + + setSeconds(date, value) { + return date.clone().seconds(value); + } + getMonth(date) { return date.get('month'); } @@ -189,4 +197,8 @@ export default class MomentUtils { getMinuteText(date) { return date.format('mm'); } + + getSecondText(date) { + return date.format('ss'); + } } From 7c10f0ddddc01e3c04f0cfb56e93f6dbc426510c Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 13:43:20 -0700 Subject: [PATCH 0593/1801] Add types for seconds related functions in utils. --- lib/src/typings/utils.d.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/src/typings/utils.d.ts b/lib/src/typings/utils.d.ts index 05bc529b96870f..cf52a92d44c147 100644 --- a/lib/src/typings/utils.d.ts +++ b/lib/src/typings/utils.d.ts @@ -30,6 +30,8 @@ export class Utils { setHours(value: TDate, count: number): TDate; getMinutes(value: TDate): number; setMinutes(value: TDate, count: number): TDate + getSeconds(value: TDate): number; + setSeconds(value: TDate, count: number): TDate getMonth(value: TDate): number; getYear(value: TDate): number; setYear(value: TDate, count: number): TDate; @@ -50,5 +52,6 @@ export class Utils { getDayText(date: TDate): string; getHourText(date: TDate, ampm: boolean): string; getMinuteText(date: TDate): string; + getSecondText(date: TDate): string; getYearText(date: TDate): string; -} \ No newline at end of file +} From 8ff0514890239ca318602ae4cbaab0481735fa48 Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 13:32:05 -0700 Subject: [PATCH 0594/1801] Add SecondsView. --- lib/src/TimePicker/SecondsView.jsx | 54 ++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 lib/src/TimePicker/SecondsView.jsx diff --git a/lib/src/TimePicker/SecondsView.jsx b/lib/src/TimePicker/SecondsView.jsx new file mode 100644 index 00000000000000..a2509a7a611ed4 --- /dev/null +++ b/lib/src/TimePicker/SecondsView.jsx @@ -0,0 +1,54 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import Clock from './Clock'; +import { SECONDS } from '../constants/clock-types'; +import ClockNumber from './ClockNumber'; +import withUtils from '../_shared/WithUtils'; + +export class SecondsView extends Component { + static propTypes = { + date: PropTypes.object.isRequired, + onChange: PropTypes.func.isRequired, + utils: PropTypes.object.isRequired, + } + + static defaultProps = { + } + + handleChange = (seconds, isFinish) => { + const { date, utils } = this.props; + const updatedDate = utils.setSeconds(date, seconds); + this.props.onChange(updatedDate, isFinish); + } + + render() { + const { date, utils } = this.props; + + const f = utils.formatNumber; + const value = utils.getSeconds(date); + + return ( + + + + + + + + + + + + + + + ); + } +} + +export default withUtils()(SecondsView); + From 491affb984aee208c5a656ee384477beb3f27931 Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 13:32:18 -0700 Subject: [PATCH 0595/1801] Add SecondsView types. --- lib/src/TimePicker/SecondsView.d.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 lib/src/TimePicker/SecondsView.d.ts diff --git a/lib/src/TimePicker/SecondsView.d.ts b/lib/src/TimePicker/SecondsView.d.ts new file mode 100644 index 00000000000000..b6f719e7021185 --- /dev/null +++ b/lib/src/TimePicker/SecondsView.d.ts @@ -0,0 +1,13 @@ +import { ComponentClass } from 'react'; +import { Utils } from '../typings/utils'; +import { MaterialUiPickersDate } from '../typings/date' + +export interface SecondsViewProps { + date: MaterialUiPickersDate; + onChange: (date: MaterialUiPickersDate, isFinished?: boolean) => void; + utils?: Utils; +} + +declare const SecondsView: ComponentClass; + +export default SecondsView; From 1509ba5a0cf204877d4e25cad137c3c2174a895b Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 11:11:10 -0700 Subject: [PATCH 0596/1801] Add SecondsView tests. --- lib/__tests__/TimePicker/SecondsView.test.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lib/__tests__/TimePicker/SecondsView.test.js diff --git a/lib/__tests__/TimePicker/SecondsView.test.js b/lib/__tests__/TimePicker/SecondsView.test.js new file mode 100644 index 00000000000000..652f019e4a62e7 --- /dev/null +++ b/lib/__tests__/TimePicker/SecondsView.test.js @@ -0,0 +1,20 @@ +import React from 'react'; +import moment from 'moment'; +import { shallow } from '../test-utils'; + +import { SecondsView } from '../../src/TimePicker/SecondsView'; + +const date = process.env.UTILS === 'moment' ? moment() : new Date(); + +describe('SecondsView', () => { + let component; + + beforeEach(() => { + component = shallow(); + }); + + it('Should renders', () => { + // console.log(component.debug()); + expect(component).toBeTruthy(); + }); +}); From 675baeb7bc38b57ec72d8bb5a0fc61a05f90d9db Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 13:22:09 -0700 Subject: [PATCH 0597/1801] Update TimePicker to display SecondsView. --- lib/src/TimePicker/Clock.jsx | 3 +- lib/src/TimePicker/TimePicker.jsx | 92 ++++++++++++++++++++---- lib/src/TimePicker/TimePickerWrapper.jsx | 7 +- 3 files changed, 86 insertions(+), 16 deletions(-) diff --git a/lib/src/TimePicker/Clock.jsx b/lib/src/TimePicker/Clock.jsx index f43d1adf6bf34c..d9a9f455af8bc6 100644 --- a/lib/src/TimePicker/Clock.jsx +++ b/lib/src/TimePicker/Clock.jsx @@ -30,7 +30,8 @@ export class Clock extends Component { offsetY = e.changedTouches[0].clientY - rect.top; } - const value = this.props.type === clockType.MINUTES + const value = this.props.type === clockType.SECONDS + || this.props.type === clockType.MINUTES ? getMinutes(offsetX, offsetY) : getHours(offsetX, offsetY, this.props.ampm); diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index d8fe074af15c8f..59ee5a6c79c981 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -1,5 +1,6 @@ import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; +import classnames from 'classnames'; import withStyles from '@material-ui/core/styles/withStyles'; import Fade from '@material-ui/core/Fade'; @@ -7,6 +8,7 @@ import PickerToolbar from '../_shared/PickerToolbar'; import ToolbarButton from '../_shared/ToolbarButton'; import HourView from './HourView'; import MinutesView from './MinutesView'; +import SecondsView from './SecondsView'; import { convertToMeridiem } from '../_helpers/time-utils'; import withUtils from '../_shared/WithUtils'; @@ -20,26 +22,29 @@ export class TimePicker extends Component { utils: PropTypes.object.isRequired, ampm: PropTypes.bool, fadeTimeout: PropTypes.number.isRequired, + seconds: PropTypes.bool, } static defaultProps = { children: null, ampm: true, + seconds: false, } state = { isHourViewShown: true, + isMinuteViewShown: false, meridiemMode: this.props.utils.getHours(this.props.date) >= 12 ? 'pm' : 'am', } setMeridiemMode = mode => () => { this.setState( { meridiemMode: mode }, - () => this.handleChange(this.props.date, false, false), + () => this.handleChange(this.props.date, false, false, false), ); } - handleChange(time, isFinish, openMinutes) { + handleChange(time, isFinish, openMinutes, openSeconds) { const withMeridiem = convertToMeridiem( time, this.state.meridiemMode, @@ -48,39 +53,53 @@ export class TimePicker extends Component { ); if (isFinish) { - if (!openMinutes) { + if (!openMinutes && !openSeconds) { this.props.onChange(withMeridiem, isFinish); return; } - this.openMinutesView(); + if (openMinutes) { + this.openMinutesView(); + } + + if (openSeconds) { + this.openSecondsView(); + } } this.props.onChange(withMeridiem, false); } handleHourChange = (time, isFinish) => { - this.handleChange(time, isFinish, true); + this.handleChange(time, isFinish, true, false); } handleMinutesChange = (time, isFinish) => { - this.handleChange(time, isFinish, false); + this.handleChange(time, isFinish, false, true); + } + + handleSecondsChange = (time, isFinish) => { + this.handleChange(time, isFinish, false, false); + } + + openSecondsView = () => { + this.setState({ isHourViewShown: false, isMinuteViewShown: false }); } openMinutesView = () => { - this.setState({ isHourViewShown: false }); + this.setState({ isHourViewShown: false, isMinuteViewShown: true }); } openHourView = () => { - this.setState({ isHourViewShown: true }); + this.setState({ isHourViewShown: true, isMinuteViewShown: false }); } render() { const { - classes, theme, date, utils, ampm, fadeTimeout, + classes, theme, date, utils, ampm, fadeTimeout, seconds, } = this.props; - const { isHourViewShown, meridiemMode } = this.state; + const { isHourViewShown, isMinuteViewShown, meridiemMode } = this.state; const rtl = theme.direction === 'rtl'; const hourMinuteClassName = rtl @@ -89,7 +108,12 @@ export class TimePicker extends Component { return ( - +
+ + { + seconds && + + + + + + }
{ ampm && -
+
@@ -169,6 +212,21 @@ export class TimePicker extends Component { />
+ + +
+ +
+
); @@ -189,6 +247,8 @@ const styles = () => ({ toolbar: { flexDirection: 'row', alignItems: 'center', + }, + toolbarLeftPadding: { paddingLeft: 50, }, separator: { @@ -199,6 +259,10 @@ const styles = () => ({ marginLeft: 20, marginRight: -20, }, + ampmSelectionWithSeconds: { + marginLeft: 15, + marginRight: 10, + }, ampmLabel: { fontSize: 18, }, diff --git a/lib/src/TimePicker/TimePickerWrapper.jsx b/lib/src/TimePicker/TimePickerWrapper.jsx index c89c0c713e4f82..ff72b8848b40a9 100644 --- a/lib/src/TimePicker/TimePickerWrapper.jsx +++ b/lib/src/TimePicker/TimePickerWrapper.jsx @@ -22,6 +22,8 @@ export class TimePickerWrapper extends PickerBase { ampm: PropTypes.bool, /** Switching hour/minutes animation timeout in milliseconds (set 0 to disable) */ fadeTimeout: PropTypes.number, + /** Show the seconds view */ + seconds: PropTypes.bool, } static defaultProps = { @@ -30,6 +32,7 @@ export class TimePickerWrapper extends PickerBase { autoOk: false, ampm: true, fadeTimeout: 400, + seconds: false, } default12hFormat = 'hh:mm A' @@ -38,7 +41,8 @@ export class TimePickerWrapper extends PickerBase { render() { const { date } = this.state; const { - value, format, autoOk, onChange, utils, ampm, fadeTimeout, ...other + value, format, autoOk, onChange, utils, ampm, fadeTimeout, seconds, + ...other } = this.props; return ( @@ -59,6 +63,7 @@ export class TimePickerWrapper extends PickerBase { utils={utils} ampm={ampm} fadeTimeout={fadeTimeout} + seconds={seconds} /> ); From 3a0a57689515457046904af4b35326e6175c1512 Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Tue, 29 May 2018 10:04:46 -0700 Subject: [PATCH 0598/1801] Add TimePicker with seconds example in basic usage. --- docs/src/Examples/Demo/TimePickerBasic.jsx | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/src/Examples/Demo/TimePickerBasic.jsx b/docs/src/Examples/Demo/TimePickerBasic.jsx index 0a502dd718ea65..4e88248d6789c2 100644 --- a/docs/src/Examples/Demo/TimePickerBasic.jsx +++ b/docs/src/Examples/Demo/TimePickerBasic.jsx @@ -42,6 +42,29 @@ export default class BasicUsage extends PureComponent { onChange={this.handleDateChange} />
+ +
+ +
+ +
+ +
); } From 98525a89a64c19e084f0cc863a47d2d5c81b9fd8 Mon Sep 17 00:00:00 2001 From: Wasif Hasan Baig Date: Wed, 30 May 2018 09:29:37 -0700 Subject: [PATCH 0599/1801] Use an object notation for handleChange params. --- lib/src/TimePicker/TimePicker.jsx | 37 ++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/lib/src/TimePicker/TimePicker.jsx b/lib/src/TimePicker/TimePicker.jsx index 59ee5a6c79c981..759bba1aac34dc 100644 --- a/lib/src/TimePicker/TimePicker.jsx +++ b/lib/src/TimePicker/TimePicker.jsx @@ -40,11 +40,23 @@ export class TimePicker extends Component { setMeridiemMode = mode => () => { this.setState( { meridiemMode: mode }, - () => this.handleChange(this.props.date, false, false, false), + () => this.handleChange({ + time: this.props.date, + isFinish: false, + openMinutes: false, + openSeconds: false, + }), ); } - handleChange(time, isFinish, openMinutes, openSeconds) { + handleChange(params) { + const { + time, + isFinish, + openMinutes, + openSeconds, + } = params; + const withMeridiem = convertToMeridiem( time, this.state.meridiemMode, @@ -71,15 +83,30 @@ export class TimePicker extends Component { } handleHourChange = (time, isFinish) => { - this.handleChange(time, isFinish, true, false); + this.handleChange({ + time, + isFinish, + openMinutes: true, + openSeconds: false, + }); } handleMinutesChange = (time, isFinish) => { - this.handleChange(time, isFinish, false, true); + this.handleChange({ + time, + isFinish, + openMinutes: false, + openSeconds: true, + }); } handleSecondsChange = (time, isFinish) => { - this.handleChange(time, isFinish, false, false); + this.handleChange({ + time, + isFinish, + openMinutes: false, + openSeconds: false, + }); } openSecondsView = () => { From c5413a1041d76ffce04890c19e7fd685c34e15e2 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 31 May 2018 11:13:43 +0300 Subject: [PATCH 0600/1801] Update docs to use @material-ui/core --- docs/package-lock.json | 5054 ++++++++--------- docs/package.json | 22 +- docs/patrons.json | 2 +- docs/src/App.js | 4 +- .../Examples/Demo/CustomDateTimePicker.jsx | 2 +- .../Demo/CustomElementsDatePicker.jsx | 2 +- .../Guides/ControllingProgrammatically.jsx | 4 +- docs/src/Examples/Guides/CssTheme.jsx | 4 +- .../DateFnsLocalizationExample.jsx | 2 +- .../Examples/Localization/PersianPickers.jsx | 2 +- docs/src/Routes/Demos/DatePickerDemo.jsx | 2 +- docs/src/Routes/Demos/DateTimePickerDemo.jsx | 2 +- docs/src/Routes/Demos/TimePickerDemo.jsx | 2 +- .../Routes/GettingStarted/Installation.jsx | 2 +- docs/src/Routes/GettingStarted/Usage.jsx | 2 +- .../Guides/ControllingProgrammatically.jsx | 2 +- docs/src/Routes/Guides/CssOverrides.jsx | 2 +- .../Routes/Guides/FormatsCustomization.jsx | 2 +- docs/src/Routes/Landing/Landing.jsx | 2 +- .../Landing/components/PatreonSponsors.jsx | 4 +- .../Localization/DateFnsLocalization.jsx | 2 +- .../Localization/MomentLocalization.jsx | 2 +- .../Routes/Localization/PersianCalendar.jsx | 2 +- docs/src/_shared/Code.jsx | 2 +- docs/src/_shared/GithubIcon.jsx | 2 +- docs/src/_shared/PropTypesTable.jsx | 3 +- docs/src/_shared/SourcablePanel.jsx | 3 +- docs/src/layout/DrawerMenu.jsx | 2 +- docs/src/layout/Layout.jsx | 6 +- docs/src/layout/NavItem.jsx | 6 +- docs/src/layout/NavigationMenu.jsx | 2 +- 31 files changed, 2569 insertions(+), 2583 deletions(-) diff --git a/docs/package-lock.json b/docs/package-lock.json index 9aa25b670e4ad0..7ac6eab77c8bcd 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -4,13 +4,80 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@types/jss": { - "version": "9.5.2", - "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.2.tgz", - "integrity": "sha512-EX87yNYcisXO5BU9tT7stB7OGuDJyV3JwtMwhfUprrmHwYKWh9a3vchAy6DYzUSbmTA7bD46h8qata5jP1V7Zw==", + "@babel/runtime": { + "version": "7.0.0-beta.49", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz", + "integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=", "requires": { - "csstype": "2.4.1", - "indefinite-observable": "1.0.1" + "core-js": "^2.5.6", + "regenerator-runtime": "^0.11.1" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + } + } + }, + "@material-ui/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@material-ui/core/-/core-1.1.0.tgz", + "integrity": "sha512-VtNKjHUgma7d6F3492qZovKxR6K9EHMRb9y+Kp5IWExWErQTcKlnqwjmVP5uvvwazTDzqWH+MJlxKj2BqCjSGw==", + "requires": { + "@babel/runtime": "^7.0.0-beta.42", + "@types/jss": "^9.5.3", + "@types/react-transition-group": "^2.0.8", + "brcast": "^3.0.1", + "classnames": "^2.2.5", + "debounce": "^1.1.0", + "deepmerge": "^2.0.1", + "dom-helpers": "^3.2.1", + "hoist-non-react-statics": "^2.5.0", + "jss": "^9.3.3", + "jss-camel-case": "^6.0.0", + "jss-default-unit": "^8.0.2", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-vendor-prefixer": "^7.0.0", + "keycode": "^2.1.9", + "normalize-scroll-left": "^0.1.2", + "prop-types": "^15.6.0", + "react-event-listener": "^0.5.9", + "react-jss": "^8.1.0", + "react-popper": "^0.10.0", + "react-transition-group": "^2.2.1", + "recompose": "^0.26.0 || ^0.27.0", + "scroll": "^2.0.3", + "warning": "^3.0.0" + }, + "dependencies": { + "@types/jss": { + "version": "9.5.3", + "resolved": "https://registry.npmjs.org/@types/jss/-/jss-9.5.3.tgz", + "integrity": "sha512-RQWhcpOVyIhGryKpnUyZARwsgmp+tB82O7c75lC4Tjbmr3hPiCnM1wc+pJipVEOsikYXW0IHgeiQzmxQXbnAIA==", + "requires": { + "csstype": "^2.0.0", + "indefinite-observable": "^1.0.1" + } + }, + "hoist-non-react-statics": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" + }, + "react-event-listener": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.9.tgz", + "integrity": "sha1-xk6E93FWpoJhSDW9wbx7oAkS35c=", + "requires": { + "@babel/runtime": "^7.0.0-beta.42", + "fbjs": "^0.8.16", + "prop-types": "^15.6.0", + "warning": "^3.0.0" + } + } } }, "@types/react": { @@ -18,7 +85,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-16.3.13.tgz", "integrity": "sha512-YMFH/E9ryjUm2AoOy8KdTuG1SufaMuYmO/5xACROl0pm9dRmE2RN3d2zjv/eHALF6LGRZPVb7G9kqP0n5dWttQ==", "requires": { - "csstype": "2.4.1" + "csstype": "^2.2.0" } }, "@types/react-transition-group": { @@ -26,7 +93,7 @@ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-2.0.9.tgz", "integrity": "sha512-Id2MtQcmOgLymqqLqg1VjzNpN7O5vGoF47h3s7jxhzqWdMCtk2GwxFUqcKbGrRmHzzQGyRatfG8yahonIys74Q==", "requires": { - "@types/react": "16.3.13" + "@types/react": "*" } }, "abab": { @@ -39,7 +106,7 @@ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", "requires": { - "mime-types": "2.1.17", + "mime-types": "~2.1.16", "negotiator": "0.6.1" } }, @@ -53,7 +120,7 @@ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.3" }, "dependencies": { "acorn": { @@ -68,7 +135,7 @@ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", "requires": { - "acorn": "4.0.13" + "acorn": "^4.0.4" }, "dependencies": { "acorn": { @@ -84,7 +151,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "3.3.0" + "acorn": "^3.0.4" }, "dependencies": { "acorn": { @@ -105,10 +172,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -121,9 +188,9 @@ "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" } }, "alphanum-sort": { @@ -141,7 +208,7 @@ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" } }, "ansi-escapes": { @@ -169,8 +236,8 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" } }, "append-transform": { @@ -178,7 +245,7 @@ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", "requires": { - "default-require-extensions": "1.0.0" + "default-require-extensions": "^1.0.0" } }, "argparse": { @@ -186,7 +253,7 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "aria-query": { @@ -196,7 +263,7 @@ "dev": true, "requires": { "ast-types-flow": "0.0.7", - "commander": "2.14.1" + "commander": "^2.11.0" } }, "arr-diff": { @@ -204,7 +271,7 @@ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", "requires": { - "arr-flatten": "1.1.0" + "arr-flatten": "^1.0.1" } }, "arr-flatten": { @@ -243,8 +310,8 @@ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-map": { @@ -262,7 +329,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -295,9 +362,9 @@ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -329,7 +396,7 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } }, "async-each": { @@ -347,12 +414,12 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.1.6.tgz", "integrity": "sha512-C9yv/UF3X+eJTi/zvfxuyfxmLibYrntpF3qoJYrMeQwgUJOZrZvpJiMG2FMQ3qnhWtF/be4pYONBBw95ZGe3vA==", "requires": { - "browserslist": "2.11.3", - "caniuse-lite": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "6.0.17", - "postcss-value-parser": "3.3.0" + "browserslist": "^2.5.1", + "caniuse-lite": "^1.0.30000748", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^6.0.13", + "postcss-value-parser": "^3.2.3" } }, "aws-sign2": { @@ -379,9 +446,9 @@ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" }, "dependencies": { "chalk": { @@ -389,11 +456,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -401,7 +468,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -411,25 +478,25 @@ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.1", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.0", + "debug": "^2.6.8", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.7", + "slash": "^1.0.0", + "source-map": "^0.5.6" }, "dependencies": { "source-map": { @@ -444,10 +511,10 @@ "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", "requires": { - "babel-code-frame": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0" + "babel-code-frame": "^6.22.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.17.0" } }, "babel-generator": { @@ -455,14 +522,14 @@ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" }, "dependencies": { "source-map": { @@ -477,9 +544,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-builder-react-jsx": { @@ -487,9 +554,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" } }, "babel-helper-call-delegate": { @@ -497,10 +564,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-define-map": { @@ -508,10 +575,10 @@ "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-explode-assignable-expression": { @@ -519,9 +586,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -529,11 +596,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-get-function-arity": { @@ -541,8 +608,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -550,8 +617,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-optimise-call-expression": { @@ -559,8 +626,8 @@ "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -568,9 +635,9 @@ "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -578,11 +645,11 @@ "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-replace-supers": { @@ -590,12 +657,12 @@ "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helpers": { @@ -603,8 +670,8 @@ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-jest": { @@ -612,9 +679,9 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-20.0.3.tgz", "integrity": "sha1-5KA7E9wQOJ4UD8ZF0J/8TO0wFnE=", "requires": { - "babel-core": "6.26.0", - "babel-plugin-istanbul": "4.1.5", - "babel-preset-jest": "20.0.3" + "babel-core": "^6.0.0", + "babel-plugin-istanbul": "^4.0.0", + "babel-preset-jest": "^20.0.3" } }, "babel-loader": { @@ -622,9 +689,9 @@ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.1.0", - "mkdirp": "0.5.1" + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" } }, "babel-messages": { @@ -632,7 +699,7 @@ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -640,7 +707,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-dynamic-import-node": { @@ -648,9 +715,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-1.1.0.tgz", "integrity": "sha512-tTfZbM9Ecwj3GK50mnPrUpinTwA4xXmDiQGCk/aBYbvl1+X8YqldK86wZ1owVJ4u3mrKbRlXMma80J18qwiaTQ==", "requires": { - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-istanbul": { @@ -658,9 +725,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz", "integrity": "sha1-Z2DN2Xf0EdPhdbsGTyvDJ9mbK24=", "requires": { - "find-up": "2.1.0", - "istanbul-lib-instrument": "1.9.1", - "test-exclude": "4.1.1" + "find-up": "^2.1.0", + "istanbul-lib-instrument": "^1.7.5", + "test-exclude": "^4.1.1" } }, "babel-plugin-jest-hoist": { @@ -713,9 +780,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-class-properties": { @@ -723,10 +790,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -734,7 +801,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -742,7 +809,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -750,11 +817,11 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-plugin-transform-es2015-classes": { @@ -762,15 +829,15 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -778,8 +845,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-destructuring": { @@ -787,7 +854,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -795,8 +862,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-for-of": { @@ -804,7 +871,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -812,9 +879,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-literals": { @@ -822,7 +889,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -830,9 +897,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -840,10 +907,10 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" } }, "babel-plugin-transform-es2015-modules-systemjs": { @@ -851,9 +918,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -861,9 +928,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-object-super": { @@ -871,8 +938,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -880,12 +947,12 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -893,8 +960,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -902,7 +969,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -910,9 +977,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-template-literals": { @@ -920,7 +987,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -928,7 +995,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -936,9 +1003,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -946,9 +1013,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-flow-strip-types": { @@ -956,8 +1023,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-object-rest-spread": { @@ -965,8 +1032,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" } }, "babel-plugin-transform-react-constant-elements": { @@ -974,7 +1041,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-constant-elements/-/babel-plugin-transform-react-constant-elements-6.23.0.tgz", "integrity": "sha1-LxGb9NLN1F65uqrldAU8YE9hR90=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-display-name": { @@ -982,7 +1049,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx": { @@ -990,9 +1057,9 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-helper-builder-react-jsx": "^6.24.1", + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx-self": { @@ -1000,8 +1067,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1009,8 +1076,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-regenerator": { @@ -1018,7 +1085,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "requires": { - "regenerator-transform": "0.10.1" + "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-runtime": { @@ -1026,7 +1093,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-strict-mode": { @@ -1034,8 +1101,8 @@ "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-preset-env": { @@ -1043,36 +1110,36 @@ "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "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.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.11.3", - "invariant": "2.2.2", - "semver": "5.4.1" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^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.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.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.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.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.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^2.1.2", + "invariant": "^2.2.2", + "semver": "^5.3.0" } }, "babel-preset-flow": { @@ -1080,7 +1147,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" + "babel-plugin-transform-flow-strip-types": "^6.22.0" } }, "babel-preset-jest": { @@ -1088,7 +1155,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz", "integrity": "sha1-y6yq3stdaJyh4d4TYOv8ZoYsF4o=", "requires": { - "babel-plugin-jest-hoist": "20.0.3" + "babel-plugin-jest-hoist": "^20.0.3" } }, "babel-preset-react": { @@ -1096,12 +1163,12 @@ "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "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-plugin-syntax-jsx": "^6.3.13", + "babel-plugin-transform-react-display-name": "^6.23.0", + "babel-plugin-transform-react-jsx": "^6.24.1", + "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-preset-react-app": { @@ -1129,13 +1196,13 @@ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "home-or-tmp": "2.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" } }, "babel-runtime": { @@ -1143,8 +1210,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" } }, "babel-template": { @@ -1152,11 +1219,11 @@ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" } }, "babel-traverse": { @@ -1164,15 +1231,15 @@ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.5" + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" }, "dependencies": { "globals": { @@ -1187,10 +1254,10 @@ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1219,7 +1286,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big.js": { @@ -1248,15 +1315,15 @@ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "~1.6.15" } }, "bonjour": { @@ -1264,12 +1331,12 @@ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { @@ -1282,7 +1349,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "boxen": { @@ -1290,13 +1357,13 @@ "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.3.2", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-styles": { @@ -1304,7 +1371,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "camelcase": { @@ -1317,9 +1384,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -1327,7 +1394,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1337,7 +1404,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1346,9 +1413,9 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" } }, "brcast": { @@ -1381,12 +1448,12 @@ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { @@ -1394,9 +1461,9 @@ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -1404,9 +1471,9 @@ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { @@ -1414,8 +1481,8 @@ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -1423,13 +1490,13 @@ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -1437,7 +1504,7 @@ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "browserslist": { @@ -1445,8 +1512,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", "requires": { - "caniuse-lite": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-lite": "^1.0.30000792", + "electron-to-chromium": "^1.3.30" } }, "bser": { @@ -1454,7 +1521,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz", "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } }, "buffer": { @@ -1462,9 +1529,9 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "buffer-from": { @@ -1504,7 +1571,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "0.2.0" + "callsites": "^0.2.0" } }, "callsites": { @@ -1518,8 +1585,8 @@ "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "camelcase": { @@ -1532,8 +1599,8 @@ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" }, "dependencies": { "camelcase": { @@ -1548,10 +1615,10 @@ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" }, "dependencies": { "browserslist": { @@ -1559,8 +1626,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } } } @@ -1595,8 +1662,8 @@ "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" } }, "chalk": { @@ -1604,11 +1671,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "strip-ansi": { @@ -1616,7 +1683,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -1636,15 +1703,15 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.3", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" } }, "ci-info": { @@ -1657,8 +1724,8 @@ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "circular-json": { @@ -1672,7 +1739,7 @@ "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "requires": { - "chalk": "1.1.3" + "chalk": "^1.1.3" }, "dependencies": { "chalk": { @@ -1680,11 +1747,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -1692,7 +1759,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -1707,7 +1774,7 @@ "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", "requires": { - "source-map": "0.5.7" + "source-map": "0.5.x" }, "dependencies": { "source-map": { @@ -1727,7 +1794,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -1741,9 +1808,9 @@ "integrity": "sha512-gXzHBlzEVqCk2b8Wpkil89S0WSMAX7eZho2zANX+EEEa9LMutGe9ICU+wHRzsH7cCHaCbUzj900P+AXOM0FE3A==", "optional": true, "requires": { - "good-listener": "1.2.2", - "select": "1.1.2", - "tiny-emitter": "2.0.2" + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" } }, "cliui": { @@ -1751,8 +1818,8 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", + "center-align": "^0.1.1", + "right-align": "^0.1.1", "wordwrap": "0.0.2" }, "dependencies": { @@ -1778,7 +1845,7 @@ "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "requires": { - "q": "1.5.1" + "q": "^1.1.2" } }, "code-point-at": { @@ -1791,9 +1858,9 @@ "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "requires": { - "clone": "1.0.3", - "color-convert": "1.9.1", - "color-string": "0.3.0" + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" } }, "color-convert": { @@ -1801,7 +1868,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -1814,7 +1881,7 @@ "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "requires": { - "color-name": "1.1.3" + "color-name": "^1.0.0" } }, "colormin": { @@ -1822,9 +1889,9 @@ "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "requires": { - "color": "0.11.4", + "color": "^0.11.0", "css-color-names": "0.0.4", - "has": "1.0.1" + "has": "^1.0.1" } }, "colors": { @@ -1837,7 +1904,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -1855,9 +1922,9 @@ "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.24.0.tgz", "integrity": "sha1-uA3gGCxUY1VkOqFdsSv7KCNoJ48=", "requires": { - "entities": "1.1.1", - "mdurl": "1.0.1", - "string.prototype.repeat": "0.2.0" + "entities": "~ 1.1.1", + "mdurl": "~ 1.0.1", + "string.prototype.repeat": "^0.2.0" } }, "commonmark-react-renderer": { @@ -1865,10 +1932,10 @@ "resolved": "https://registry.npmjs.org/commonmark-react-renderer/-/commonmark-react-renderer-4.3.4.tgz", "integrity": "sha512-+/Rzo3sI37NR8LaVdkUiqBH3+CEW75hc86shwY4E9eEERg78VCy4rSkaP/p7OG5bTvosUMkvhn5d1ZJ5iyt/ag==", "requires": { - "lodash.assign": "4.2.0", - "lodash.isplainobject": "4.0.6", - "pascalcase": "0.1.1", - "xss-filters": "1.2.7" + "lodash.assign": "^4.2.0", + "lodash.isplainobject": "^4.0.6", + "pascalcase": "^0.1.1", + "xss-filters": "^1.2.6" } }, "compressible": { @@ -1876,7 +1943,7 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", "requires": { - "mime-db": "1.30.0" + "mime-db": ">= 1.30.0 < 2" } }, "compression": { @@ -1884,13 +1951,13 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "bytes": "3.0.0", - "compressible": "2.0.12", + "compressible": "~2.0.11", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.1", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "concat-map": { @@ -1904,10 +1971,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "configstore": { @@ -1915,12 +1982,12 @@ "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.1.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "connect-history-api-fallback": { @@ -1933,7 +2000,7 @@ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "constants-browserify": { @@ -1992,13 +2059,13 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.10.0", - "minimist": "1.2.0", - "object-assign": "4.1.1", - "os-homedir": "1.0.2", - "parse-json": "2.2.0", - "require-from-string": "1.2.1" + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" }, "dependencies": { "minimist": { @@ -2013,8 +2080,8 @@ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-error-class": { @@ -2022,7 +2089,7 @@ "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "create-hash": { @@ -2030,10 +2097,10 @@ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" } }, "create-hmac": { @@ -2041,22 +2108,22 @@ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-env": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.4.tgz", - "integrity": "sha512-Mx8mw6JWhfpYoEk7PGvHxJMLQwQHORAs8+2bX+C1lGQ4h3GkDb1zbzC2Nw85YH9ZQMlO0BHZxMacgrfPmMFxbg==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.1.6.tgz", + "integrity": "sha512-VWTDq+G4v383SzgRS7jsAVWqEWF0aKZpDz1GVjhONvPRgHB1LnxP2sXUVFKbykHkPSnfRKS8YdiDevWFwZmQ9g==", "dev": true, "requires": { - "cross-spawn": "5.1.0", - "is-windows": "1.0.1" + "cross-spawn": "^5.1.0", + "is-windows": "^1.0.0" } }, "cross-spawn": { @@ -2064,9 +2131,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cryptiles": { @@ -2074,7 +2141,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -2082,7 +2149,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } } } @@ -2092,17 +2159,17 @@ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.6", - "randomfill": "1.0.3" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "crypto-random-string": { @@ -2120,20 +2187,20 @@ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.7.tgz", "integrity": "sha512-GxMpax8a/VgcfRrVy0gXD6yLd5ePYbXX/5zGgTVYp4wXtJklS8Z2VaUArJgc//f6/Dzil7BaJObdSv8eKKCPgg==", "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "babel-code-frame": "^6.11.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": ">=2.6.1 <4", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.0.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.0.0", + "postcss-modules-local-by-default": "^1.0.1", + "postcss-modules-scope": "^1.0.0", + "postcss-modules-values": "^1.1.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" }, "dependencies": { "chalk": { @@ -2141,11 +2208,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2165,10 +2232,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -2181,7 +2248,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -2189,7 +2256,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -2199,10 +2266,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -2210,9 +2277,9 @@ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" }, "dependencies": { "regexpu-core": { @@ -2220,9 +2287,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } } } @@ -2232,7 +2299,7 @@ "resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-0.3.8.tgz", "integrity": "sha1-ZCHP0wNM5mT+dnOXL9ARn8KJQfo=", "requires": { - "is-in-browser": "1.1.3" + "is-in-browser": "^1.0.2" } }, "css-what": { @@ -2250,38 +2317,38 @@ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" }, "dependencies": { "autoprefixer": { @@ -2289,12 +2356,12 @@ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000808", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" } }, "browserslist": { @@ -2302,8 +2369,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "chalk": { @@ -2311,11 +2378,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2335,10 +2402,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -2351,7 +2418,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -2359,7 +2426,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -2369,8 +2436,8 @@ "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" + "clap": "^1.0.9", + "source-map": "^0.5.3" }, "dependencies": { "source-map": { @@ -2390,7 +2457,7 @@ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, "csstype": { @@ -2403,7 +2470,7 @@ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "d": { @@ -2411,7 +2478,7 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "requires": { - "es5-ext": "0.10.37" + "es5-ext": "^0.10.9" } }, "damerau-levenshtein": { @@ -2425,7 +2492,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-fns": { @@ -2438,6 +2505,11 @@ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" }, + "debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.1.0.tgz", + "integrity": "sha512-ZQVKfRVlwRfD150ndzEK8M90ABT+Y/JQKs4Y7U4MXdpuoUkkrr4DwKbVux3YjylA5bUMUj0Nc3pMxPJX6N2QQQ==" + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -2476,7 +2548,7 @@ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", "requires": { - "strip-bom": "2.0.0" + "strip-bom": "^2.0.0" } }, "define-properties": { @@ -2484,8 +2556,8 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" } }, "defined": { @@ -2498,13 +2570,13 @@ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -2528,8 +2600,8 @@ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -2542,7 +2614,7 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-node": { @@ -2555,8 +2627,8 @@ "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", "requires": { - "address": "1.0.3", - "debug": "2.6.9" + "address": "^1.0.1", + "debug": "^2.6.0" } }, "diff": { @@ -2569,9 +2641,9 @@ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "dns-equal": { @@ -2584,8 +2656,8 @@ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { @@ -2593,7 +2665,7 @@ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "doctrine": { @@ -2601,7 +2673,7 @@ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "requires": { - "esutils": "2.0.2" + "esutils": "^2.0.2" } }, "dom-converter": { @@ -2609,7 +2681,7 @@ "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "requires": { - "utila": "0.3.3" + "utila": "~0.3" }, "dependencies": { "utila": { @@ -2629,8 +2701,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -2645,7 +2717,7 @@ "resolved": "https://registry.npmjs.org/dom-urls/-/dom-urls-1.1.0.tgz", "integrity": "sha1-AB3fgWKM0ecGElxxdvU8zsVdkY4=", "requires": { - "urijs": "1.19.1" + "urijs": "^1.16.1" } }, "dom-walk": { @@ -2668,7 +2740,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -2676,8 +2748,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -2685,7 +2757,7 @@ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "dotenv": { @@ -2714,7 +2786,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -2732,13 +2804,13 @@ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "emoji-regex": { @@ -2762,7 +2834,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "~0.4.13" } }, "enhanced-resolve": { @@ -2770,10 +2842,10 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" } }, "entities": { @@ -2786,7 +2858,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error-ex": { @@ -2794,7 +2866,7 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -2802,11 +2874,11 @@ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -2814,9 +2886,9 @@ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -2824,8 +2896,8 @@ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.1", + "es6-symbol": "~3.1.1" } }, "es6-iterator": { @@ -2833,9 +2905,9 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-map": { @@ -2843,12 +2915,12 @@ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" } }, "es6-promise": { @@ -2861,11 +2933,11 @@ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "event-emitter": "~0.3.5" } }, "es6-symbol": { @@ -2873,8 +2945,8 @@ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "es6-weak-map": { @@ -2882,10 +2954,10 @@ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.14", + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" } }, "escape-html": { @@ -2903,11 +2975,11 @@ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.5.6" }, "dependencies": { "esprima": { @@ -2928,10 +3000,10 @@ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint": { @@ -2940,44 +3012,44 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "babel-code-frame": "6.26.0", - "chalk": "2.3.2", - "concat-stream": "1.6.2", - "cross-spawn": "5.1.0", - "debug": "3.1.0", - "doctrine": "2.1.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "1.0.0", - "espree": "3.5.4", - "esquery": "1.0.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "functional-red-black-tree": "1.0.1", - "glob": "7.1.2", - "globals": "11.4.0", - "ignore": "3.3.7", - "imurmurhash": "0.1.4", - "inquirer": "3.3.0", - "is-resolvable": "1.1.0", - "js-yaml": "3.10.0", - "json-stable-stringify-without-jsonify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "7.0.0", - "progress": "2.0.0", - "regexpp": "1.0.1", - "require-uncached": "1.0.3", - "semver": "5.4.1", - "strip-ansi": "4.0.0", - "strip-json-comments": "2.0.1", + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", "table": "4.0.2", - "text-table": "0.2.0" + "text-table": "~0.2.0" }, "dependencies": { "ansi-styles": { @@ -2986,7 +3058,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -2995,9 +3067,9 @@ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -3015,7 +3087,7 @@ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -3026,7 +3098,7 @@ "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { - "eslint-config-airbnb-base": "12.1.0" + "eslint-config-airbnb-base": "^12.1.0" } }, "eslint-config-airbnb-base": { @@ -3035,7 +3107,7 @@ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { - "eslint-restricted-globals": "0.1.1" + "eslint-restricted-globals": "^0.1.1" } }, "eslint-config-react-app": { @@ -3049,8 +3121,8 @@ "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { - "debug": "2.6.9", - "resolve": "1.5.0" + "debug": "^2.6.9", + "resolve": "^1.5.0" } }, "eslint-import-resolver-webpack": { @@ -3059,17 +3131,17 @@ "integrity": "sha512-b6JxR57ruiMxq2tIu4T/SrYED5RKJfeBEs8u3+JWF+O2RxDmFpUH84c5uS1T5qiP0K4r0SL7CXhvd41hXdDlAg==", "dev": true, "requires": { - "array-find": "1.0.0", - "debug": "2.6.9", - "enhanced-resolve": "0.9.1", - "find-root": "0.1.2", - "has": "1.0.1", - "interpret": "1.1.0", - "is-absolute": "0.2.6", - "lodash.get": "3.7.0", - "node-libs-browser": "2.1.0", - "resolve": "1.5.0", - "semver": "5.4.1" + "array-find": "^1.0.0", + "debug": "^2.6.8", + "enhanced-resolve": "~0.9.0", + "find-root": "^0.1.1", + "has": "^1.0.1", + "interpret": "^1.0.0", + "is-absolute": "^0.2.3", + "lodash.get": "^3.7.0", + "node-libs-browser": "^1.0.0 || ^2.0.0", + "resolve": "^1.2.0", + "semver": "^5.3.0" }, "dependencies": { "enhanced-resolve": { @@ -3078,9 +3150,9 @@ "integrity": "sha1-TW5omzcl+GCQknzMhs2fFjW4ni4=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.2.0", - "tapable": "0.1.10" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.2.0", + "tapable": "^0.1.8" } }, "memory-fs": { @@ -3102,11 +3174,11 @@ "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz", "integrity": "sha512-40aN976qSNPyb9ejTqjEthZITpls1SVKtwguahmH1dzGCwQU/vySE+xX33VZmD8csU0ahVNCtFlsPgKqRBiqgg==", "requires": { - "loader-fs-cache": "1.0.1", - "loader-utils": "1.1.0", - "object-assign": "4.1.1", - "object-hash": "1.2.0", - "rimraf": "2.6.2" + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" } }, "eslint-module-utils": { @@ -3115,8 +3187,8 @@ "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "2.6.9", - "pkg-dir": "1.0.0" + "debug": "^2.6.8", + "pkg-dir": "^1.0.0" }, "dependencies": { "find-up": { @@ -3125,8 +3197,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -3135,7 +3207,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "pkg-dir": { @@ -3144,7 +3216,7 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } } } @@ -3154,25 +3226,25 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.39.1.tgz", "integrity": "sha512-RiQv+7Z9QDJuzt+NO8sYgkLGT+h+WeCrxP7y8lI7wpU41x3x/2o3PGtHk9ck8QnA9/mlbNcy/hG0eKvmd7npaA==", "requires": { - "lodash": "4.17.5" + "lodash": "^4.15.0" } }, "eslint-plugin-import": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.11.0.tgz", - "integrity": "sha1-Fa7qN6Z0mdhI6OmBgG1GJ7VQOBY=", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.12.0.tgz", + "integrity": "sha1-2tMXgSktZmSyUxf9BJ0uKy8CIF0=", "dev": true, "requires": { - "contains-path": "0.1.0", - "debug": "2.6.9", + "contains-path": "^0.1.0", + "debug": "^2.6.8", "doctrine": "1.5.0", - "eslint-import-resolver-node": "0.3.2", - "eslint-module-utils": "2.2.0", - "has": "1.0.1", - "lodash": "4.17.5", - "minimatch": "3.0.4", - "read-pkg-up": "2.0.0", - "resolve": "1.7.1" + "eslint-import-resolver-node": "^0.3.1", + "eslint-module-utils": "^2.2.0", + "has": "^1.0.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.3", + "read-pkg-up": "^2.0.0", + "resolve": "^1.6.0" }, "dependencies": { "doctrine": { @@ -3181,8 +3253,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" + "esutils": "^2.0.2", + "isarray": "^1.0.0" } }, "load-json-file": { @@ -3191,10 +3263,10 @@ "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "path-type": { @@ -3203,7 +3275,7 @@ "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true, "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -3212,9 +3284,9 @@ "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "dev": true, "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -3223,8 +3295,8 @@ "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "resolve": { @@ -3233,7 +3305,7 @@ "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "strip-bom": { @@ -3250,25 +3322,25 @@ "integrity": "sha1-VFg9GuRCSDFi4EDhPMMYZUZRAOU=", "dev": true, "requires": { - "aria-query": "0.7.1", - "array-includes": "3.0.3", + "aria-query": "^0.7.0", + "array-includes": "^3.0.3", "ast-types-flow": "0.0.7", - "axobject-query": "0.1.0", - "damerau-levenshtein": "1.0.4", - "emoji-regex": "6.5.1", - "jsx-ast-utils": "2.0.1" + "axobject-query": "^0.1.0", + "damerau-levenshtein": "^1.0.0", + "emoji-regex": "^6.1.0", + "jsx-ast-utils": "^2.0.0" } }, "eslint-plugin-react": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.7.0.tgz", - "integrity": "sha512-KC7Snr4YsWZD5flu6A5c0AcIZidzW3Exbqp7OT67OaD2AppJtlBr/GuPrW/vaQM/yfZotEvKAdrxrO+v8vwYJA==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.8.2.tgz", + "integrity": "sha512-H3ne8ob4Bn6NXSN9N9twsn7t8dyHT5bF/ibQepxIHi6JiPIdC2gXlfYvZYucbdrWio4FxBq7Z4mSauQP+qmMkQ==", "dev": true, "requires": { - "doctrine": "2.1.0", - "has": "1.0.1", - "jsx-ast-utils": "2.0.1", - "prop-types": "15.6.1" + "doctrine": "^2.0.2", + "has": "^1.0.1", + "jsx-ast-utils": "^2.0.1", + "prop-types": "^15.6.0" } }, "eslint-restricted-globals": { @@ -3283,8 +3355,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "eslint-visitor-keys": { @@ -3299,8 +3371,8 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "5.5.3", - "acorn-jsx": "3.0.1" + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" }, "dependencies": { "acorn": { @@ -3322,7 +3394,7 @@ "integrity": "sha1-z7qLV9f7qT8XKYqKAGoEzaE9gPo=", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.0.0" } }, "esrecurse": { @@ -3330,8 +3402,8 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "^4.1.0", + "object-assign": "^4.0.1" } }, "estraverse": { @@ -3354,8 +3426,8 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "requires": { - "d": "1.0.0", - "es5-ext": "0.10.37" + "d": "1", + "es5-ext": "~0.10.14" } }, "eventemitter3": { @@ -3373,7 +3445,7 @@ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "requires": { - "original": "1.0.0" + "original": ">=0.0.5" } }, "evp_bytestokey": { @@ -3381,8 +3453,8 @@ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "exec-sh": { @@ -3390,7 +3462,7 @@ "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "requires": { - "merge": "1.2.0" + "merge": "^1.1.3" } }, "execa": { @@ -3398,13 +3470,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -3412,7 +3484,7 @@ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", "requires": { - "is-posix-bracket": "0.1.1" + "is-posix-bracket": "^0.1.0" } }, "expand-range": { @@ -3420,7 +3492,7 @@ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "requires": { - "fill-range": "2.2.3" + "fill-range": "^2.1.0" } }, "expand-tilde": { @@ -3428,7 +3500,7 @@ "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "requires": { - "homedir-polyfill": "1.0.1" + "homedir-polyfill": "^1.0.1" } }, "express": { @@ -3436,36 +3508,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.0", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "~2.0.2", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.1", "serve-static": "1.13.1", "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "~1.3.1", + "type-is": "~1.6.15", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "array-flatten": { @@ -3490,9 +3562,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", "integrity": "sha512-E44iT5QVOUJBKij4IIV3uvxuNlbKS38Tw1HiupxEIHPv9qtC2PrDYohbXV5U+1jnfIXttny8gUhj+oZvflFlzA==", "requires": { - "chardet": "0.4.2", - "iconv-lite": "0.4.19", - "tmp": "0.0.33" + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" } }, "extglob": { @@ -3500,7 +3572,7 @@ "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "extract-text-webpack-plugin": { @@ -3508,10 +3580,10 @@ "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "requires": { - "async": "2.6.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.1.0" + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" } }, "extsprintf": { @@ -3544,7 +3616,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "fb-watchman": { @@ -3552,7 +3624,7 @@ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz", "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=", "requires": { - "bser": "2.0.0" + "bser": "^2.0.0" } }, "fbjs": { @@ -3560,13 +3632,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "core-js": "^1.0.0", + "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" }, "dependencies": { "core-js": { @@ -3579,7 +3651,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } } } @@ -3589,7 +3661,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-entry-cache": { @@ -3598,8 +3670,8 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" } }, "file-loader": { @@ -3607,8 +3679,8 @@ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.5.tgz", "integrity": "sha512-RzGHDatcVNpGISTvCpfUfOGpYuSR7HSsSg87ki+wF6rw1Hm0RALPTiAdsxAq1UwLf0RRhbe22/eHK6nhXspiOQ==", "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" } }, "filename-regex": { @@ -3621,8 +3693,8 @@ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" + "glob": "^7.0.3", + "minimatch": "^3.0.3" } }, "filesize": { @@ -3635,11 +3707,11 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^1.1.3", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" }, "dependencies": { "isobject": { @@ -3658,12 +3730,12 @@ "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" } }, "find-cache-dir": { @@ -3671,9 +3743,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "requires": { - "commondir": "1.0.1", - "make-dir": "1.1.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-root": { @@ -3687,7 +3759,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, "flat-cache": { @@ -3696,10 +3768,10 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" + "circular-json": "^0.3.1", + "del": "^2.0.2", + "graceful-fs": "^4.1.2", + "write": "^0.2.1" } }, "flatten": { @@ -3717,7 +3789,7 @@ "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -3735,15 +3807,15 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "form-urlencoded": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-2.0.4.tgz", - "integrity": "sha512-HLljBBDRcvnewLYmpL7lTUlQGUXG6FlY3+bJtvCdEB/g2Lz6dug4HewSGD+4x3v5PHLZFwRl53l5L/iehznv0g==" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/form-urlencoded/-/form-urlencoded-2.0.7.tgz", + "integrity": "sha512-VLmKkxXVtoE1x2deirWbeejraDHx4g1EWNZHLm9zKQax4b55mQ7ZJrqjfxTj2sU+YHRp7u0dEwJtJNPcnvoC+w==" }, "forwarded": { "version": "0.1.2", @@ -3760,9 +3832,9 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" } }, "fs.realpath": { @@ -3776,8 +3848,8 @@ "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", "optional": true, "requires": { - "nan": "2.8.0", - "node-pre-gyp": "0.6.39" + "nan": "^2.3.0", + "node-pre-gyp": "^0.6.39" }, "dependencies": { "abbrev": { @@ -3790,8 +3862,8 @@ "bundled": true, "optional": true, "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" } }, "ansi-regex": { @@ -3808,8 +3880,8 @@ "bundled": true, "optional": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" } }, "asn1": { @@ -3846,28 +3918,28 @@ "bundled": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "block-stream": { "version": "0.0.9", "bundled": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "boom": { "version": "2.10.1", "bundled": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "brace-expansion": { "version": "1.1.7", "bundled": true, "requires": { - "balanced-match": "0.4.2", + "balanced-match": "^0.4.1", "concat-map": "0.0.1" } }, @@ -3893,7 +3965,7 @@ "version": "1.0.5", "bundled": true, "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "concat-map": { @@ -3912,7 +3984,7 @@ "version": "2.0.5", "bundled": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "dashdash": { @@ -3920,7 +3992,7 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -3962,7 +4034,7 @@ "bundled": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "extend": { @@ -3997,10 +4069,10 @@ "version": "1.0.11", "bundled": true, "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" } }, "fstream-ignore": { @@ -4008,9 +4080,9 @@ "bundled": true, "optional": true, "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" } }, "gauge": { @@ -4018,14 +4090,14 @@ "bundled": true, "optional": true, "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" } }, "getpass": { @@ -4033,7 +4105,7 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" }, "dependencies": { "assert-plus": { @@ -4047,12 +4119,12 @@ "version": "7.1.2", "bundled": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "graceful-fs": { @@ -4082,10 +4154,10 @@ "version": "3.1.3", "bundled": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -4097,17 +4169,17 @@ "bundled": true, "optional": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "inflight": { "version": "1.0.6", "bundled": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -4145,7 +4217,7 @@ "bundled": true, "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "jsbn": { @@ -4163,7 +4235,7 @@ "bundled": true, "optional": true, "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stringify-safe": { @@ -4233,17 +4305,17 @@ "bundled": true, "optional": true, "requires": { - "detect-libc": "1.0.2", + "detect-libc": "^1.0.2", "hawk": "3.1.3", - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", + "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" + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^2.2.1", + "tar-pack": "^3.4.0" } }, "nopt": { @@ -4251,8 +4323,8 @@ "bundled": true, "optional": true, "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" + "abbrev": "1", + "osenv": "^0.1.4" } }, "npmlog": { @@ -4260,10 +4332,10 @@ "bundled": true, "optional": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "number-is-nan": { @@ -4284,7 +4356,7 @@ "version": "1.4.0", "bundled": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "os-homedir": { @@ -4302,8 +4374,8 @@ "bundled": true, "optional": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "path-is-absolute": { @@ -4334,10 +4406,10 @@ "bundled": true, "optional": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -4351,13 +4423,13 @@ "version": "2.2.9", "bundled": true, "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" + "buffer-shims": "~1.0.0", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~1.0.0", + "util-deprecate": "~1.0.1" } }, "request": { @@ -4365,35 +4437,35 @@ "bundled": true, "optional": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "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": "~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", + "oauth-sign": "~0.8.1", + "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.6.0", + "uuid": "^3.0.0" } }, "rimraf": { "version": "2.6.1", "bundled": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "safe-buffer": { @@ -4419,7 +4491,7 @@ "version": "1.0.9", "bundled": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "sshpk": { @@ -4427,15 +4499,15 @@ "bundled": true, "optional": true, "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jodid25519": "^1.0.0", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" }, "dependencies": { "assert-plus": { @@ -4449,16 +4521,16 @@ "version": "1.0.2", "bundled": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string_decoder": { "version": "1.0.1", "bundled": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "^5.0.1" } }, "stringstream": { @@ -4470,7 +4542,7 @@ "version": "3.0.1", "bundled": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-json-comments": { @@ -4482,9 +4554,9 @@ "version": "2.2.1", "bundled": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "tar-pack": { @@ -4492,14 +4564,14 @@ "bundled": true, "optional": true, "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.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" } }, "tough-cookie": { @@ -4507,7 +4579,7 @@ "bundled": true, "optional": true, "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tunnel-agent": { @@ -4515,7 +4587,7 @@ "bundled": true, "optional": true, "requires": { - "safe-buffer": "5.0.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -4550,7 +4622,7 @@ "bundled": true, "optional": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "wrappy": { @@ -4590,7 +4662,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -4598,12 +4670,12 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-base": { @@ -4611,8 +4683,8 @@ "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" } }, "glob-parent": { @@ -4620,7 +4692,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "requires": { - "is-glob": "2.0.1" + "is-glob": "^2.0.0" } }, "global": { @@ -4628,8 +4700,8 @@ "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "global-dirs": { @@ -4637,7 +4709,7 @@ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "global-modules": { @@ -4645,9 +4717,9 @@ "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "requires": { - "global-prefix": "1.0.2", - "is-windows": "1.0.1", - "resolve-dir": "1.0.1" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" } }, "global-prefix": { @@ -4655,11 +4727,11 @@ "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "requires": { - "expand-tilde": "2.0.2", - "homedir-polyfill": "1.0.1", - "ini": "1.3.5", - "is-windows": "1.0.1", - "which": "1.3.0" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, "globals": { @@ -4673,12 +4745,12 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "good-listener": { @@ -4687,7 +4759,7 @@ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", "optional": true, "requires": { - "delegate": "3.2.0" + "delegate": "^3.1.2" } }, "got": { @@ -4695,17 +4767,17 @@ "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } }, "graceful-fs": { @@ -4723,7 +4795,7 @@ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=", "requires": { - "duplexer": "0.1.1" + "duplexer": "^0.1.1" } }, "handle-thing": { @@ -4736,10 +4808,10 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "requires": { - "async": "1.5.2", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.29" + "async": "^1.4.0", + "optimist": "^0.6.1", + "source-map": "^0.4.4", + "uglify-js": "^2.6" }, "dependencies": { "async": { @@ -4752,7 +4824,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } }, "uglify-js": { @@ -4761,9 +4833,9 @@ "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "optional": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" }, "dependencies": { "source-map": { @@ -4780,9 +4852,9 @@ "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "optional": true, "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -4798,8 +4870,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -4807,7 +4879,7 @@ "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -4815,7 +4887,7 @@ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -4828,7 +4900,7 @@ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", "requires": { - "inherits": "2.0.3" + "inherits": "^2.0.1" } }, "hash.js": { @@ -4836,8 +4908,8 @@ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, "hawk": { @@ -4845,10 +4917,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "he": { @@ -4861,11 +4933,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "resolve-pathname": "2.2.0", - "value-equal": "0.4.0", - "warning": "3.0.0" + "invariant": "^2.2.1", + "loose-envify": "^1.2.0", + "resolve-pathname": "^2.2.0", + "value-equal": "^0.4.0", + "warning": "^3.0.0" } }, "hmac-drbg": { @@ -4873,9 +4945,9 @@ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { @@ -4893,8 +4965,8 @@ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "homedir-polyfill": { @@ -4902,7 +4974,7 @@ "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", "requires": { - "parse-passwd": "1.0.0" + "parse-passwd": "^1.0.0" } }, "hosted-git-info": { @@ -4915,10 +4987,10 @@ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "requires": { - "inherits": "2.0.3", - "obuf": "1.1.1", - "readable-stream": "2.3.4", - "wbuf": "1.7.2" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, "html-comment-regex": { @@ -4931,7 +5003,7 @@ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "requires": { - "whatwg-encoding": "1.0.3" + "whatwg-encoding": "^1.0.1" } }, "html-entities": { @@ -4944,14 +5016,14 @@ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.9.tgz", "integrity": "sha512-EZqO91XJwkj8BeLx9C12sKB/AHoTANaZax39vEOP9f/X/9jgJ3r1O2+neabuHqpz5kJO71TapP9JrtCY39su1A==", "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.14.1", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.3.10" + "camel-case": "3.0.x", + "clean-css": "4.1.x", + "commander": "2.14.x", + "he": "1.1.x", + "ncname": "1.0.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.3.x" } }, "html-webpack-plugin": { @@ -4959,12 +5031,12 @@ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.29.0.tgz", "integrity": "sha1-6Yf0IYU9O2k4yMTIFxhC5f0XryM=", "requires": { - "bluebird": "3.5.1", - "html-minifier": "3.5.9", - "loader-utils": "0.2.17", - "lodash": "4.17.5", - "pretty-error": "2.1.1", - "toposort": "1.0.6" + "bluebird": "^3.4.7", + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "toposort": "^1.0.0" }, "dependencies": { "loader-utils": { @@ -4972,10 +5044,10 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } } } @@ -4985,10 +5057,10 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" + "domelementtype": "1", + "domhandler": "2.1", + "domutils": "1.1", + "readable-stream": "1.0" }, "dependencies": { "domutils": { @@ -4996,7 +5068,7 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "isarray": { @@ -5009,10 +5081,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "string_decoder": { @@ -5035,7 +5107,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.3.1" + "statuses": ">= 1.3.1 < 2" }, "dependencies": { "depd": { @@ -5060,8 +5132,8 @@ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" } }, "http-proxy-middleware": { @@ -5069,10 +5141,10 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.5", - "micromatch": "2.3.11" + "http-proxy": "^1.16.2", + "is-glob": "^3.1.0", + "lodash": "^4.17.2", + "micromatch": "^2.3.11" }, "dependencies": { "is-extglob": { @@ -5085,7 +5157,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5095,9 +5167,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -5125,7 +5197,7 @@ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "requires": { - "postcss": "6.0.17" + "postcss": "^6.0.1" } }, "ieee754": { @@ -5149,8 +5221,8 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz", "integrity": "sha1-sReVcqrNwRxqkQCftDDbyrX2aKg=", "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5178,7 +5250,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexes-of": { @@ -5196,8 +5268,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5215,20 +5287,20 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "requires": { - "ansi-escapes": "3.0.0", - "chalk": "2.3.2", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "2.1.0", - "figures": "2.0.0", - "lodash": "4.17.5", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rx-lite": "4.0.8", - "rx-lite-aggregates": "4.0.8", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-styles": { @@ -5236,7 +5308,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5244,9 +5316,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -5254,7 +5326,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5264,7 +5336,7 @@ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "requires": { - "meow": "3.7.0" + "meow": "^3.3.0" } }, "interpret": { @@ -5277,7 +5349,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -5301,8 +5373,8 @@ "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", "dev": true, "requires": { - "is-relative": "0.2.1", - "is-windows": "0.2.0" + "is-relative": "^0.2.1", + "is-windows": "^0.2.0" }, "dependencies": { "is-windows": { @@ -5328,7 +5400,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -5341,7 +5413,7 @@ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5354,7 +5426,7 @@ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "requires": { - "ci-info": "1.1.2" + "ci-info": "^1.0.0" } }, "is-date-object": { @@ -5377,7 +5449,7 @@ "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", "requires": { - "is-primitive": "2.0.0" + "is-primitive": "^2.0.0" } }, "is-extendable": { @@ -5395,7 +5467,7 @@ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -5413,7 +5485,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^1.0.0" } }, "is-in-browser": { @@ -5426,8 +5498,8 @@ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-npm": { @@ -5440,7 +5512,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" } }, "is-obj": { @@ -5458,7 +5530,7 @@ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -5466,7 +5538,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -5479,7 +5551,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-posix-bracket": { @@ -5507,7 +5579,7 @@ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-relative": { @@ -5516,7 +5588,7 @@ "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", "dev": true, "requires": { - "is-unc-path": "0.1.2" + "is-unc-path": "^0.1.1" } }, "is-resolvable": { @@ -5545,7 +5617,7 @@ "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "requires": { - "html-comment-regex": "1.1.1" + "html-comment-regex": "^1.1.0" } }, "is-symbol": { @@ -5564,7 +5636,7 @@ "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", "dev": true, "requires": { - "unc-path-regex": "0.1.2" + "unc-path-regex": "^0.1.0" } }, "is-utf8": { @@ -5602,8 +5674,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -5616,17 +5688,17 @@ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.2.1.tgz", "integrity": "sha512-oFCwXvd65amgaPCzqrR+a2XjanS1MvpXN6l/MlMUTv6uiA1NOgGX+I0uyq8Lg3GDxsxPsaP1049krz3hIJ5+KA==", "requires": { - "async": "2.6.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.1.0", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-report": "1.1.2", - "istanbul-lib-source-maps": "1.2.2", - "istanbul-reports": "1.1.3", - "js-yaml": "3.10.0", - "mkdirp": "0.5.1", - "once": "1.4.0" + "async": "^2.1.4", + "fileset": "^2.0.2", + "istanbul-lib-coverage": "^1.1.1", + "istanbul-lib-hook": "^1.1.0", + "istanbul-lib-instrument": "^1.9.1", + "istanbul-lib-report": "^1.1.2", + "istanbul-lib-source-maps": "^1.2.2", + "istanbul-reports": "^1.1.3", + "js-yaml": "^3.7.0", + "mkdirp": "^0.5.1", + "once": "^1.4.0" } }, "istanbul-lib-coverage": { @@ -5639,7 +5711,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz", "integrity": "sha512-U3qEgwVDUerZ0bt8cfl3dSP3S6opBoOtk3ROO5f2EfBr/SRiD9FQqzwaZBqFORu8W7O0EXpai+k7kxHK13beRg==", "requires": { - "append-transform": "0.4.0" + "append-transform": "^0.4.0" } }, "istanbul-lib-instrument": { @@ -5647,13 +5719,13 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz", "integrity": "sha512-RQmXeQ7sphar7k7O1wTNzVczF9igKpaeGQAG9qR2L+BS4DCJNTI9nytRmIVYevwO0bbq+2CXvJmYDuz0gMrywA==", "requires": { - "babel-generator": "6.26.1", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" + "babel-generator": "^6.18.0", + "babel-template": "^6.16.0", + "babel-traverse": "^6.18.0", + "babel-types": "^6.18.0", + "babylon": "^6.18.0", + "istanbul-lib-coverage": "^1.1.1", + "semver": "^5.3.0" } }, "istanbul-lib-report": { @@ -5661,10 +5733,10 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz", "integrity": "sha512-UTv4VGx+HZivJQwAo1wnRwe1KTvFpfi/NYwN7DcsrdzMXwpRT/Yb6r4SBPoHWj4VuQPakR32g4PUUeyKkdDkBA==", "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "path-parse": "^1.0.5", + "supports-color": "^3.1.2" }, "dependencies": { "has-flag": { @@ -5677,7 +5749,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -5687,11 +5759,11 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz", "integrity": "sha512-8BfdqSfEdtip7/wo1RnrvLpHVEd8zMZEDmOFEnpC6dg0vXflHt9nvoAyQUzig2uMSXfF2OBEYBV3CVjIL9JvaQ==", "requires": { - "debug": "3.1.0", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" + "debug": "^3.1.0", + "istanbul-lib-coverage": "^1.1.1", + "mkdirp": "^0.5.1", + "rimraf": "^2.6.1", + "source-map": "^0.5.3" }, "dependencies": { "debug": { @@ -5714,7 +5786,7 @@ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.3.tgz", "integrity": "sha512-ZEelkHh8hrZNI5xDaKwPMFwDsUf5wIEI2bXAFGp1e6deR2mnEKBPhLJEgr4ZBt8Gi6Mj38E/C8kcy9XLggVO2Q==", "requires": { - "handlebars": "4.0.11" + "handlebars": "^4.0.3" } }, "jalaali-js": { @@ -5727,7 +5799,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-20.0.4.tgz", "integrity": "sha1-PdJgwpidba1nix6cxNkZRPbWAqw=", "requires": { - "jest-cli": "20.0.4" + "jest-cli": "^20.0.4" }, "dependencies": { "ansi-escapes": { @@ -5745,11 +5817,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "jest-cli": { @@ -5757,36 +5829,36 @@ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-20.0.4.tgz", "integrity": "sha1-5TKxnYiuW8bEF+iwWTpv6VSx3JM=", "requires": { - "ansi-escapes": "1.4.0", - "callsites": "2.0.0", - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "is-ci": "1.1.0", - "istanbul-api": "1.2.1", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-instrument": "1.9.1", - "istanbul-lib-source-maps": "1.2.2", - "jest-changed-files": "20.0.3", - "jest-config": "20.0.4", - "jest-docblock": "20.0.3", - "jest-environment-jsdom": "20.0.3", - "jest-haste-map": "20.0.5", - "jest-jasmine2": "20.0.4", - "jest-message-util": "20.0.3", - "jest-regex-util": "20.0.3", - "jest-resolve-dependencies": "20.0.3", - "jest-runtime": "20.0.4", - "jest-snapshot": "20.0.3", - "jest-util": "20.0.3", - "micromatch": "2.3.11", - "node-notifier": "5.2.1", - "pify": "2.3.0", - "slash": "1.0.0", - "string-length": "1.0.1", - "throat": "3.2.0", - "which": "1.3.0", - "worker-farm": "1.5.2", - "yargs": "7.1.0" + "ansi-escapes": "^1.4.0", + "callsites": "^2.0.0", + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "is-ci": "^1.0.10", + "istanbul-api": "^1.1.1", + "istanbul-lib-coverage": "^1.0.1", + "istanbul-lib-instrument": "^1.4.2", + "istanbul-lib-source-maps": "^1.1.0", + "jest-changed-files": "^20.0.3", + "jest-config": "^20.0.4", + "jest-docblock": "^20.0.3", + "jest-environment-jsdom": "^20.0.3", + "jest-haste-map": "^20.0.4", + "jest-jasmine2": "^20.0.4", + "jest-message-util": "^20.0.3", + "jest-regex-util": "^20.0.3", + "jest-resolve-dependencies": "^20.0.3", + "jest-runtime": "^20.0.4", + "jest-snapshot": "^20.0.3", + "jest-util": "^20.0.3", + "micromatch": "^2.3.11", + "node-notifier": "^5.0.2", + "pify": "^2.3.0", + "slash": "^1.0.0", + "string-length": "^1.0.1", + "throat": "^3.0.0", + "which": "^1.2.12", + "worker-farm": "^1.3.1", + "yargs": "^7.0.2" } }, "strip-ansi": { @@ -5794,7 +5866,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5809,16 +5881,16 @@ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-20.0.4.tgz", "integrity": "sha1-43kwqyIXyRNgXv8T5712PsSPruo=", "requires": { - "chalk": "1.1.3", - "glob": "7.1.2", - "jest-environment-jsdom": "20.0.3", - "jest-environment-node": "20.0.3", - "jest-jasmine2": "20.0.4", - "jest-matcher-utils": "20.0.3", - "jest-regex-util": "20.0.3", - "jest-resolve": "20.0.4", - "jest-validate": "20.0.3", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "glob": "^7.1.1", + "jest-environment-jsdom": "^20.0.3", + "jest-environment-node": "^20.0.3", + "jest-jasmine2": "^20.0.4", + "jest-matcher-utils": "^20.0.3", + "jest-regex-util": "^20.0.3", + "jest-resolve": "^20.0.4", + "jest-validate": "^20.0.3", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -5826,11 +5898,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5838,7 +5910,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5848,10 +5920,10 @@ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-20.0.3.tgz", "integrity": "sha1-gfKI/Z5nXw+yPHXxwrGURf5YZhc=", "requires": { - "chalk": "1.1.3", - "diff": "3.4.0", - "jest-matcher-utils": "20.0.3", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "diff": "^3.2.0", + "jest-matcher-utils": "^20.0.3", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -5859,11 +5931,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5871,7 +5943,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5886,9 +5958,9 @@ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz", "integrity": "sha1-BIqKwS7iJfcZBBdxODS7mZeH3pk=", "requires": { - "jest-mock": "20.0.3", - "jest-util": "20.0.3", - "jsdom": "9.12.0" + "jest-mock": "^20.0.3", + "jest-util": "^20.0.3", + "jsdom": "^9.12.0" } }, "jest-environment-node": { @@ -5896,8 +5968,8 @@ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-20.0.3.tgz", "integrity": "sha1-1Ii8RhKvLCRumG6K52caCZFj1AM=", "requires": { - "jest-mock": "20.0.3", - "jest-util": "20.0.3" + "jest-mock": "^20.0.3", + "jest-util": "^20.0.3" } }, "jest-haste-map": { @@ -5905,12 +5977,12 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-20.0.5.tgz", "integrity": "sha512-0IKAQjUvuZjMCNi/0VNQQF74/H9KB67hsHJqGiwTWQC6XO5Azs7kLWm+6Q/dwuhvDUvABDOBMFK2/FwZ3sZ07Q==", "requires": { - "fb-watchman": "2.0.0", - "graceful-fs": "4.1.11", - "jest-docblock": "20.0.3", - "micromatch": "2.3.11", - "sane": "1.6.0", - "worker-farm": "1.5.2" + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.1.11", + "jest-docblock": "^20.0.3", + "micromatch": "^2.3.11", + "sane": "~1.6.0", + "worker-farm": "^1.3.1" } }, "jest-jasmine2": { @@ -5918,15 +5990,15 @@ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz", "integrity": "sha1-/MWxQReA2RHQQpAu8YWehS5g1eE=", "requires": { - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-matchers": "20.0.3", - "jest-message-util": "20.0.3", - "jest-snapshot": "20.0.3", - "once": "1.4.0", - "p-map": "1.2.0" + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-matchers": "^20.0.3", + "jest-message-util": "^20.0.3", + "jest-snapshot": "^20.0.3", + "once": "^1.4.0", + "p-map": "^1.1.1" }, "dependencies": { "chalk": { @@ -5934,11 +6006,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5946,7 +6018,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5956,8 +6028,8 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz", "integrity": "sha1-s6a443yld4A7CDKpixZPRLeBVhI=", "requires": { - "chalk": "1.1.3", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -5965,11 +6037,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -5977,7 +6049,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -5987,10 +6059,10 @@ "resolved": "https://registry.npmjs.org/jest-matchers/-/jest-matchers-20.0.3.tgz", "integrity": "sha1-ymnbHDLbWm9wf6XgQBq7VXAN/WA=", "requires": { - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-message-util": "20.0.3", - "jest-regex-util": "20.0.3" + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-message-util": "^20.0.3", + "jest-regex-util": "^20.0.3" } }, "jest-message-util": { @@ -5998,9 +6070,9 @@ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-20.0.3.tgz", "integrity": "sha1-auwoRDBvyw5udNV5bBAG2W/dgxw=", "requires": { - "chalk": "1.1.3", - "micromatch": "2.3.11", - "slash": "1.0.0" + "chalk": "^1.1.3", + "micromatch": "^2.3.11", + "slash": "^1.0.0" }, "dependencies": { "chalk": { @@ -6008,11 +6080,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6020,7 +6092,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6040,9 +6112,9 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-20.0.4.tgz", "integrity": "sha1-lEiz6La6/BVHlETGSZBFt//ll6U=", "requires": { - "browser-resolve": "1.11.2", - "is-builtin-module": "1.0.0", - "resolve": "1.5.0" + "browser-resolve": "^1.11.2", + "is-builtin-module": "^1.0.0", + "resolve": "^1.3.2" } }, "jest-resolve-dependencies": { @@ -6050,7 +6122,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz", "integrity": "sha1-bhSntxevDyyzZnxUneQK8Bexcjo=", "requires": { - "jest-regex-util": "20.0.3" + "jest-regex-util": "^20.0.3" } }, "jest-runtime": { @@ -6058,21 +6130,21 @@ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-20.0.4.tgz", "integrity": "sha1-osgCIZxCA/dU3xQE5JAYYWnRJNg=", "requires": { - "babel-core": "6.26.0", - "babel-jest": "20.0.3", - "babel-plugin-istanbul": "4.1.5", - "chalk": "1.1.3", - "convert-source-map": "1.5.1", - "graceful-fs": "4.1.11", - "jest-config": "20.0.4", - "jest-haste-map": "20.0.5", - "jest-regex-util": "20.0.3", - "jest-resolve": "20.0.4", - "jest-util": "20.0.3", - "json-stable-stringify": "1.0.1", - "micromatch": "2.3.11", + "babel-core": "^6.0.0", + "babel-jest": "^20.0.3", + "babel-plugin-istanbul": "^4.0.0", + "chalk": "^1.1.3", + "convert-source-map": "^1.4.0", + "graceful-fs": "^4.1.11", + "jest-config": "^20.0.4", + "jest-haste-map": "^20.0.4", + "jest-regex-util": "^20.0.3", + "jest-resolve": "^20.0.4", + "jest-util": "^20.0.3", + "json-stable-stringify": "^1.0.1", + "micromatch": "^2.3.11", "strip-bom": "3.0.0", - "yargs": "7.1.0" + "yargs": "^7.0.2" }, "dependencies": { "chalk": { @@ -6080,11 +6152,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6092,7 +6164,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -6107,12 +6179,12 @@ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-20.0.3.tgz", "integrity": "sha1-W4R+GtsaTZCFKn+fElCG4YfHZWY=", "requires": { - "chalk": "1.1.3", - "jest-diff": "20.0.3", - "jest-matcher-utils": "20.0.3", - "jest-util": "20.0.3", - "natural-compare": "1.4.0", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "jest-diff": "^20.0.3", + "jest-matcher-utils": "^20.0.3", + "jest-util": "^20.0.3", + "natural-compare": "^1.4.0", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -6120,11 +6192,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6132,7 +6204,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6142,13 +6214,13 @@ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-20.0.3.tgz", "integrity": "sha1-DAf32A2C9OWmfG+LnD/n9lz9Mq0=", "requires": { - "chalk": "1.1.3", - "graceful-fs": "4.1.11", - "jest-message-util": "20.0.3", - "jest-mock": "20.0.3", - "jest-validate": "20.0.3", - "leven": "2.1.0", - "mkdirp": "0.5.1" + "chalk": "^1.1.3", + "graceful-fs": "^4.1.11", + "jest-message-util": "^20.0.3", + "jest-mock": "^20.0.3", + "jest-validate": "^20.0.3", + "leven": "^2.1.0", + "mkdirp": "^0.5.1" }, "dependencies": { "chalk": { @@ -6156,11 +6228,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6168,7 +6240,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6178,10 +6250,10 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-20.0.3.tgz", "integrity": "sha1-0M/R3k9XnymEhJJcKA+PHZTsPKs=", "requires": { - "chalk": "1.1.3", - "jest-matcher-utils": "20.0.3", - "leven": "2.1.0", - "pretty-format": "20.0.3" + "chalk": "^1.1.3", + "jest-matcher-utils": "^20.0.3", + "leven": "^2.1.0", + "pretty-format": "^20.0.3" }, "dependencies": { "chalk": { @@ -6189,11 +6261,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" } }, "strip-ansi": { @@ -6201,7 +6273,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -6221,8 +6293,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "jsbn": { @@ -6236,25 +6308,25 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz", "integrity": "sha1-6MVG//ywbADUgzyoRBD+1/igl9Q=", "requires": { - "abab": "1.0.4", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.2", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "html-encoding-sniffer": "1.0.2", - "nwmatcher": "1.4.3", - "parse5": "1.5.1", - "request": "2.83.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.3", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" + "abab": "^1.0.3", + "acorn": "^4.0.4", + "acorn-globals": "^3.1.0", + "array-equal": "^1.0.0", + "content-type-parser": "^1.0.1", + "cssom": ">= 0.3.2 < 0.4.0", + "cssstyle": ">= 0.2.37 < 0.3.0", + "escodegen": "^1.6.1", + "html-encoding-sniffer": "^1.0.1", + "nwmatcher": ">= 1.3.9 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.79.0", + "sax": "^1.2.1", + "symbol-tree": "^3.2.1", + "tough-cookie": "^2.3.2", + "webidl-conversions": "^4.0.0", + "whatwg-encoding": "^1.0.1", + "whatwg-url": "^4.3.0", + "xml-name-validator": "^2.0.1" }, "dependencies": { "acorn": { @@ -6289,7 +6361,7 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", "requires": { - "jsonify": "0.0.0" + "jsonify": "~0.0.0" } }, "json-stable-stringify-without-jsonify": { @@ -6323,7 +6395,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -6347,9 +6419,9 @@ "resolved": "https://registry.npmjs.org/jss/-/jss-9.8.1.tgz", "integrity": "sha512-a9dXInEPTRmdSmzw3LNhbAwdQVZgCRmFU7dFzrpLTMAcdolHXNamhxQ6J+PNIqUtWa9yRbZIzWX6aUlI55LZ/A==", "requires": { - "is-in-browser": "1.1.3", - "symbol-observable": "1.2.0", - "warning": "3.0.0" + "is-in-browser": "^1.1.3", + "symbol-observable": "^1.1.0", + "warning": "^3.0.0" } }, "jss-camel-case": { @@ -6357,7 +6429,7 @@ "resolved": "https://registry.npmjs.org/jss-camel-case/-/jss-camel-case-6.1.0.tgz", "integrity": "sha512-HPF2Q7wmNW1t79mCqSeU2vdd/vFFGpkazwvfHMOhPlMgXrJDzdj9viA2SaHk9ZbD5pfL63a8ylp4++irYbbzMQ==", "requires": { - "hyphenate-style-name": "1.0.2" + "hyphenate-style-name": "^1.0.2" } }, "jss-compose": { @@ -6365,7 +6437,7 @@ "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-default-unit": { @@ -6374,16 +6446,16 @@ "integrity": "sha512-WxNHrF/18CdoAGw2H0FqOEvJdREXVXLazn7PQYU7V6/BWkCV0GkmWsppNiExdw8dP4TU1ma1dT9zBNJ95feLmg==" }, "jss-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.1.0.tgz", - "integrity": "sha512-WTxmNipgj0V8kr8gc8Gc6Et7uQZH60H7FFNG9zZHjR6TPJoj7TDK+/EBxwRHtCRQD4B8RTwoa7MyEKD4ReKfXw==" + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/jss-expand/-/jss-expand-5.3.0.tgz", + "integrity": "sha512-NiM4TbDVE0ykXSAw6dfFmB1LIqXP/jdd0ZMnlvlGgEMkMt+weJIl8Ynq1DsuBY9WwkNyzWktdqcEW2VN0RAtQg==" }, "jss-extend": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-global": { @@ -6396,24 +6468,24 @@ "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-preset-default": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.3.0.tgz", - "integrity": "sha512-3VqMmR07OkiGyVPHfke/sjR33kSyRVjIE/3+bGgJ9Pp1jMIAPIDDY3h3wfEwa97DFV25SncTrNjjIgBFVCb4BA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/jss-preset-default/-/jss-preset-default-4.5.0.tgz", + "integrity": "sha512-qZbpRVtHT7hBPpZEBPFfafZKWmq3tA/An5RNqywDsZQGrlinIF/mGD9lmj6jGqu8GrED2SMHZ3pPKLmjCZoiaQ==", "requires": { - "jss-camel-case": "6.1.0", - "jss-compose": "5.0.0", - "jss-default-unit": "8.0.2", - "jss-expand": "5.1.0", - "jss-extend": "6.2.0", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-template": "1.0.1", - "jss-vendor-prefixer": "7.0.0" + "jss-camel-case": "^6.1.0", + "jss-compose": "^5.0.0", + "jss-default-unit": "^8.0.2", + "jss-expand": "^5.3.0", + "jss-extend": "^6.2.0", + "jss-global": "^3.0.0", + "jss-nested": "^6.0.1", + "jss-props-sort": "^6.0.0", + "jss-template": "^1.0.1", + "jss-vendor-prefixer": "^7.0.0" } }, "jss-props-sort": { @@ -6426,7 +6498,7 @@ "resolved": "https://registry.npmjs.org/jss-rtl/-/jss-rtl-0.2.3.tgz", "integrity": "sha512-c9yOhTWldABdx+dds0XSXIbUcEWajBv+e7fl3zaiHCwOqbq4QiAdDTw7l4l5nqHAaGV6+33zMoS//KMMGpPA1A==", "requires": { - "rtl-css-js": "1.9.0" + "rtl-css-js": "^1.8.0" } }, "jss-template": { @@ -6434,7 +6506,7 @@ "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "requires": { - "warning": "3.0.0" + "warning": "^3.0.0" } }, "jss-vendor-prefixer": { @@ -6442,7 +6514,7 @@ "resolved": "https://registry.npmjs.org/jss-vendor-prefixer/-/jss-vendor-prefixer-7.0.0.tgz", "integrity": "sha512-Agd+FKmvsI0HLcYXkvy8GYOw3AAASBUpsmIRvVQheps+JWaN892uFOInTr0DRydwaD91vSSUCU4NssschvF7MA==", "requires": { - "css-vendor": "0.3.8" + "css-vendor": "^0.3.8" } }, "jsx-ast-utils": { @@ -6451,7 +6523,7 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "3.0.3" + "array-includes": "^3.0.3" } }, "keycode": { @@ -6469,7 +6541,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } }, "klaw": { @@ -6477,7 +6549,7 @@ "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "latest-version": { @@ -6485,7 +6557,7 @@ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-cache": { @@ -6498,7 +6570,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "leven": { @@ -6511,8 +6583,8 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6520,11 +6592,11 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" } }, "loader-fs-cache": { @@ -6532,7 +6604,7 @@ "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=", "requires": { - "find-cache-dir": "0.1.1", + "find-cache-dir": "^0.1.1", "mkdirp": "0.5.1" }, "dependencies": { @@ -6541,9 +6613,9 @@ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", "requires": { - "commondir": "1.0.1", - "mkdirp": "0.5.1", - "pkg-dir": "1.0.0" + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" } }, "find-up": { @@ -6551,8 +6623,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -6560,7 +6632,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } }, "pkg-dir": { @@ -6568,7 +6640,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "requires": { - "find-up": "1.1.2" + "find-up": "^1.0.0" } } } @@ -6583,9 +6655,9 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "locate-path": { @@ -6593,8 +6665,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -6619,7 +6691,7 @@ "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", "dev": true, "requires": { - "lodash.isarray": "3.0.4" + "lodash.isarray": "^3.0.0" } }, "lodash.assign": { @@ -6643,8 +6715,8 @@ "integrity": "sha1-POaK4skWg7KBzFOUEoMDy/deaR8=", "dev": true, "requires": { - "lodash._baseget": "3.7.2", - "lodash._topath": "3.8.1" + "lodash._baseget": "^3.0.0", + "lodash._topath": "^3.0.0" } }, "lodash.isarray": { @@ -6668,8 +6740,8 @@ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.templatesettings": "4.1.0" + "lodash._reinterpolate": "~3.0.0", + "lodash.templatesettings": "^4.0.0" } }, "lodash.templatesettings": { @@ -6677,7 +6749,7 @@ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", "requires": { - "lodash._reinterpolate": "3.0.0" + "lodash._reinterpolate": "~3.0.0" } }, "lodash.uniq": { @@ -6700,7 +6772,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -6708,8 +6780,8 @@ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lower-case": { @@ -6727,14 +6799,14 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "luxon": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.2.0.tgz", - "integrity": "sha512-OFqqtLlSo7OpjFuTCJf+LYtyX1xTc5tp0X3f1ynLafjAM2qjaO6LVe0EkdfdoH1hSeS+Jo9FeAs244MEZ7dcww==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.2.1.tgz", + "integrity": "sha512-ymX+7rWJjYw6jfmtkLqHJmXo+FYC69icT60x+utlzjIOc/U4SNXljUITwH4C1RDP0ZukWf4apHT/d1Ux/4eHPg==" }, "macaddress": { "version": "0.2.8", @@ -6746,7 +6818,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" }, "dependencies": { "pify": { @@ -6761,7 +6833,7 @@ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=", "requires": { - "tmpl": "1.0.4" + "tmpl": "1.0.x" } }, "map-obj": { @@ -6769,63 +6841,14 @@ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" }, - "material-ui": { - "version": "1.0.0-beta.43", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-1.0.0-beta.43.tgz", - "integrity": "sha512-6prcG6pwOBAH3s44GJg1WiylByz/TSL6oXlDXnBW1Sb0mSjL1ezfdZj4nSO2qjrPyfDm9sjwxaR9ZoVIHxU17g==", - "requires": { - "@types/jss": "9.5.2", - "@types/react-transition-group": "2.0.9", - "babel-runtime": "6.26.0", - "brcast": "3.0.1", - "classnames": "2.2.5", - "deepmerge": "2.1.0", - "dom-helpers": "3.3.1", - "hoist-non-react-statics": "2.5.0", - "jss": "9.8.1", - "jss-camel-case": "6.1.0", - "jss-default-unit": "8.0.2", - "jss-global": "3.0.0", - "jss-nested": "6.0.1", - "jss-props-sort": "6.0.0", - "jss-vendor-prefixer": "7.0.0", - "keycode": "2.2.0", - "lodash": "4.17.5", - "normalize-scroll-left": "0.1.2", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "react-jss": "8.4.0", - "react-lifecycles-compat": "2.0.2", - "react-popper": "0.10.1", - "react-scrollbar-size": "2.1.0", - "react-transition-group": "2.3.1", - "recompose": "0.26.0", - "scroll": "2.0.3", - "warning": "3.0.0" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", - "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" - } - } - }, "material-ui-pickers-jalali-utils": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.4.0.tgz", - "integrity": "sha512-oo4LuFq9KYn3YwQWOL5Q06UxCaEweRraC/YUEsRt0veiA/m/IO7waddiM5cmyZFpuh4CZmX7jG879wgKnzO/KA==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/material-ui-pickers-jalali-utils/-/material-ui-pickers-jalali-utils-0.4.2.tgz", + "integrity": "sha512-I+VC0JelKiYrtXhg8K10cSu4LApaNhOd1L/DSzusRvr8M5BVZd5gQcVJhWm5i9QUUqOsmGbbiXq4/QWZvijZJQ==", "requires": { - "moment": "2.21.0", - "moment-jalaali": "0.7.2", - "moment-range": "3.1.1" - }, - "dependencies": { - "moment": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.21.0.tgz", - "integrity": "sha512-TCZ36BjURTeFTM/CwRcViQlfkMvL1/vFISuNLO5GkcVm1+QHfbSiNqZuWeMFjj1/3+uAjXswgRk30j1kkLYJBQ==" - } + "moment": "^2.22.1", + "moment-jalaali": "^0.7.3", + "moment-range": "^4.0.0" } }, "math-expression-evaluator": { @@ -6838,8 +6861,8 @@ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" }, "dependencies": { "hash-base": { @@ -6847,8 +6870,8 @@ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } } } @@ -6868,7 +6891,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "memory-fs": { @@ -6876,8 +6899,8 @@ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "requires": { - "errno": "0.1.6", - "readable-stream": "2.3.4" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" } }, "meow": { @@ -6885,16 +6908,16 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "minimist": { @@ -6924,19 +6947,19 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" } }, "miller-rabin": { @@ -6944,8 +6967,8 @@ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { @@ -6963,7 +6986,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.30.0" } }, "mimic-fn": { @@ -6976,7 +6999,7 @@ "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "minimalistic-assert": { @@ -6994,7 +7017,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -7016,21 +7039,21 @@ "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==" }, "moment-jalaali": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.7.2.tgz", - "integrity": "sha512-CO9FG+vuuhzcyboqmocubwmVj0d0Z1QvnU1uNUzuO9ZyyMT7oJAAj1oGC1JvN9PA5GcAhDcrEQkGWim1lfRYYQ==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.7.4.tgz", + "integrity": "sha512-wt05eHaG9QsXiq8dRyH4JP1LEcK0XwPrs1PSKN09EWx1gepn7juE/iP0cNyM9Di7uS4CkGxHWPCG5MgTscei9w==", "requires": { - "jalaali-js": "1.1.0", - "moment": "2.22.1", - "rimraf": "2.6.2" + "jalaali-js": "^1.1.0", + "moment": "^2.22.1", + "rimraf": "^2.6.2" } }, "moment-range": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-3.1.1.tgz", - "integrity": "sha1-XFLPn6sp253ZvNhtN+UrBKenJxo=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/moment-range/-/moment-range-4.0.1.tgz", + "integrity": "sha1-GujPIJ3e0KXOXhZgMUYmWzkGqG8=", "requires": { - "es6-symbol": "3.1.1" + "es6-symbol": "^3.1.0" } }, "ms": { @@ -7043,8 +7066,8 @@ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.2" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { @@ -7073,7 +7096,7 @@ "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", "requires": { - "xml-char-classes": "1.0.0" + "xml-char-classes": "^1.0.0" } }, "negotiator": { @@ -7086,7 +7109,7 @@ "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "requires": { - "lower-case": "1.1.4" + "lower-case": "^1.1.1" } }, "node-dir": { @@ -7094,7 +7117,7 @@ "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", "requires": { - "minimatch": "3.0.4" + "minimatch": "^3.0.2" } }, "node-fetch": { @@ -7102,8 +7125,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-forge": { @@ -7121,28 +7144,28 @@ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.4", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.6", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -7158,10 +7181,10 @@ "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "requires": { - "growly": "1.3.0", - "semver": "5.4.1", - "shellwords": "0.1.1", - "which": "1.3.0" + "growly": "^1.3.0", + "semver": "^5.4.1", + "shellwords": "^0.1.1", + "which": "^1.3.0" } }, "normalize-package-data": { @@ -7169,10 +7192,10 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7180,7 +7203,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-range": { @@ -7198,10 +7221,10 @@ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" } }, "npm-run-path": { @@ -7209,7 +7232,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "nth-check": { @@ -7217,7 +7240,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "num2fraction": { @@ -7260,8 +7283,8 @@ "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" } }, "obuf": { @@ -7287,7 +7310,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -7295,7 +7318,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { @@ -7303,7 +7326,7 @@ "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "optimist": { @@ -7311,8 +7334,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" }, "dependencies": { "wordwrap": { @@ -7327,12 +7350,12 @@ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "original": { @@ -7340,7 +7363,7 @@ "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", "requires": { - "url-parse": "1.0.5" + "url-parse": "1.0.x" }, "dependencies": { "url-parse": { @@ -7348,8 +7371,8 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" + "querystringify": "0.0.x", + "requires-port": "1.0.x" } } } @@ -7369,7 +7392,7 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "os-tmpdir": { @@ -7392,7 +7415,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "1.1.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -7405,10 +7428,10 @@ "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.4.1" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, "pako": { @@ -7421,7 +7444,7 @@ "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "requires": { - "no-case": "2.3.2" + "no-case": "^2.2.0" } }, "parse-asn1": { @@ -7429,11 +7452,11 @@ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "requires": { - "asn1.js": "4.9.2", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-glob": { @@ -7441,10 +7464,10 @@ "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" } }, "parse-json": { @@ -7452,7 +7475,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse-passwd": { @@ -7525,21 +7548,20 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "patreon": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/patreon/-/patreon-0.4.0.tgz", - "integrity": "sha512-ne5n35WOJ7HvJi54tYyQK3hDipXRqJokbGVyGNPbEJN3E4igLQezKJwgXUn+nxmRffiC5Wu9fiTa0w496cyj5Q==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/patreon/-/patreon-0.4.1.tgz", + "integrity": "sha512-aLhjx4rg2BArTq0Kg61MrM4dkJnTQ9kPN8F6a2IlQoYVEtIH7kUK/dprClTx+QYQKlXMfKksN9NCux1YarQJsQ==", "requires": { - "form-urlencoded": "2.0.4", - "is-plain-object": "2.0.4", - "isomorphic-fetch": "2.2.1", - "jsonapi-datastore": "0.4.0-beta", - "verror": "1.10.0" + "form-urlencoded": "^2.0.4", + "is-plain-object": "^2.0.4", + "isomorphic-fetch": "^2.2.1", + "jsonapi-datastore": "^0.4.0-beta" } }, "pbkdf2": { @@ -7547,11 +7569,11 @@ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "performance-now": { @@ -7574,7 +7596,7 @@ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pkg-dir": { @@ -7582,7 +7604,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "pluralize": { @@ -7601,9 +7623,9 @@ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "dependencies": { "async": { @@ -7618,9 +7640,9 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.17.tgz", "integrity": "sha512-Bl1nybsSzWYbP8O4gAVD8JIjZIul9hLNOPTGBIlVmZNUnNAGL+W0cpYWzVwfImZOwumct4c1SDvSbncVWKtXUw==", "requires": { - "chalk": "2.3.2", - "source-map": "0.6.1", - "supports-color": "5.2.0" + "chalk": "^2.3.0", + "source-map": "^0.6.1", + "supports-color": "^5.1.0" }, "dependencies": { "ansi-styles": { @@ -7628,7 +7650,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -7636,9 +7658,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "dependencies": { "supports-color": { @@ -7646,7 +7668,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -7656,7 +7678,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -7666,9 +7688,9 @@ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" }, "dependencies": { "chalk": { @@ -7676,11 +7698,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7700,10 +7722,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7716,7 +7738,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7724,7 +7746,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7734,9 +7756,9 @@ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "chalk": { @@ -7744,11 +7766,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7768,10 +7790,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7784,7 +7806,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7792,7 +7814,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7802,8 +7824,8 @@ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" }, "dependencies": { "chalk": { @@ -7811,11 +7833,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7835,10 +7857,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7851,7 +7873,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7859,7 +7881,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7869,7 +7891,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" }, "dependencies": { "chalk": { @@ -7877,11 +7899,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7901,10 +7923,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7917,7 +7939,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7925,7 +7947,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -7935,7 +7957,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "chalk": { @@ -7943,11 +7965,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -7967,10 +7989,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -7983,7 +8005,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -7991,7 +8013,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8001,7 +8023,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" }, "dependencies": { "chalk": { @@ -8009,11 +8031,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8033,10 +8055,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8049,7 +8071,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8057,7 +8079,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8067,7 +8089,7 @@ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.16" }, "dependencies": { "chalk": { @@ -8075,11 +8097,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8099,10 +8121,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8115,7 +8137,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8123,7 +8145,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8133,8 +8155,8 @@ "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" + "postcss": "^5.0.14", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -8142,11 +8164,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8166,10 +8188,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8182,7 +8204,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8190,7 +8212,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8200,8 +8222,8 @@ "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" + "postcss": "^5.0.4", + "uniqid": "^4.0.0" }, "dependencies": { "chalk": { @@ -8209,11 +8231,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8233,10 +8255,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8249,7 +8271,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8257,7 +8279,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8267,7 +8289,7 @@ "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-3.2.0.tgz", "integrity": "sha512-0AuD9HG1Ey3/3nqPWu9yqf7rL0KCPu5VgjDsjf5mzEcuo9H/z8nco/fljKgjsOUrZypa95MI0kS4xBZeBzz2lw==", "requires": { - "postcss": "6.0.17" + "postcss": "^6.0.1" } }, "postcss-load-config": { @@ -8275,10 +8297,10 @@ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1", - "postcss-load-options": "1.2.0", - "postcss-load-plugins": "2.3.0" + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" } }, "postcss-load-options": { @@ -8286,8 +8308,8 @@ "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" } }, "postcss-load-plugins": { @@ -8295,8 +8317,8 @@ "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" } }, "postcss-loader": { @@ -8304,10 +8326,10 @@ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.8.tgz", "integrity": "sha512-KtXBiQ/r/WYW8LxTSJK7h8wLqvCMSub/BqmRnud/Mu8RzwflW9cmXxwsMwbn15TNv287Hcufdb3ZSs7xHKnG8Q==", "requires": { - "loader-utils": "1.1.0", - "postcss": "6.0.17", - "postcss-load-config": "1.2.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.1.0", + "postcss": "^6.0.0", + "postcss-load-config": "^1.2.0", + "schema-utils": "^0.3.0" } }, "postcss-merge-idents": { @@ -8315,9 +8337,9 @@ "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" }, "dependencies": { "chalk": { @@ -8325,11 +8347,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8349,10 +8371,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8365,7 +8387,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8373,7 +8395,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8383,7 +8405,7 @@ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "chalk": { @@ -8391,11 +8413,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8415,10 +8437,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8431,7 +8453,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8439,7 +8461,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8449,11 +8471,11 @@ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" }, "dependencies": { "browserslist": { @@ -8461,8 +8483,8 @@ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "requires": { - "caniuse-db": "1.0.30000808", - "electron-to-chromium": "1.3.33" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } }, "chalk": { @@ -8470,11 +8492,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8494,10 +8516,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8510,7 +8532,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8518,7 +8540,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8533,9 +8555,9 @@ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" }, "dependencies": { "chalk": { @@ -8543,11 +8565,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8567,10 +8589,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8583,7 +8605,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8591,7 +8613,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8601,8 +8623,8 @@ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" }, "dependencies": { "chalk": { @@ -8610,11 +8632,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8634,10 +8656,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8650,7 +8672,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8658,7 +8680,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8668,10 +8690,10 @@ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -8679,11 +8701,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8703,10 +8725,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8719,7 +8741,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8727,7 +8749,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8737,10 +8759,10 @@ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" }, "dependencies": { "chalk": { @@ -8748,11 +8770,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8772,10 +8794,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8788,7 +8810,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8796,7 +8818,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8806,7 +8828,7 @@ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", "requires": { - "postcss": "6.0.17" + "postcss": "^6.0.1" } }, "postcss-modules-local-by-default": { @@ -8814,8 +8836,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.17" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-scope": { @@ -8823,8 +8845,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.17" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, "postcss-modules-values": { @@ -8832,8 +8854,8 @@ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.17" + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" } }, "postcss-normalize-charset": { @@ -8841,7 +8863,7 @@ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.5" }, "dependencies": { "chalk": { @@ -8849,11 +8871,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8873,10 +8895,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8889,7 +8911,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8897,7 +8919,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8907,10 +8929,10 @@ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "chalk": { @@ -8918,11 +8940,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -8942,10 +8964,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -8958,7 +8980,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -8966,7 +8988,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -8976,8 +8998,8 @@ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" }, "dependencies": { "chalk": { @@ -8985,11 +9007,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9009,10 +9031,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9025,7 +9047,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9033,7 +9055,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9043,8 +9065,8 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" }, "dependencies": { "chalk": { @@ -9052,11 +9074,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9076,10 +9098,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9092,7 +9114,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9100,7 +9122,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9110,7 +9132,7 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" }, "dependencies": { "chalk": { @@ -9118,11 +9140,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9142,10 +9164,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9158,7 +9180,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9166,7 +9188,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9176,9 +9198,9 @@ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" }, "dependencies": { "chalk": { @@ -9186,11 +9208,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9210,10 +9232,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9226,7 +9248,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9234,7 +9256,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9244,9 +9266,9 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } }, "postcss-svgo": { @@ -9254,10 +9276,10 @@ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" }, "dependencies": { "chalk": { @@ -9265,11 +9287,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9289,10 +9311,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9305,7 +9327,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9313,7 +9335,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9323,9 +9345,9 @@ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -9333,11 +9355,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9357,10 +9379,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9373,7 +9395,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9381,7 +9403,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9396,9 +9418,9 @@ "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" }, "dependencies": { "chalk": { @@ -9406,11 +9428,11 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -9430,10 +9452,10 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" } }, "source-map": { @@ -9446,7 +9468,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -9454,7 +9476,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" + "has-flag": "^1.0.0" } } } @@ -9484,8 +9506,8 @@ "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" + "renderkid": "^2.0.1", + "utila": "~0.4" } }, "pretty-format": { @@ -9493,8 +9515,8 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-20.0.3.tgz", "integrity": "sha1-Ag41ClYKH+GpjcO+tsz/s4beixQ=", "requires": { - "ansi-regex": "2.1.1", - "ansi-styles": "3.2.0" + "ansi-regex": "^2.1.1", + "ansi-styles": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -9502,7 +9524,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } } } @@ -9512,7 +9534,7 @@ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.14.0.tgz", "integrity": "sha512-sa2s4m60bXs+kU3jcuUwx3ZCrUH7o0kuqnOOINbODqlRrDB7KY8SRx+xR/D7nHLlgfDdG7zXbRO8wJ+su5Ls0A==", "requires": { - "clipboard": "2.0.0" + "clipboard": "^2.0.0" } }, "private": { @@ -9541,7 +9563,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-8.0.1.tgz", "integrity": "sha1-5F1osAoXZHttpxG/he1u1HII9FA=", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "prop-types": { @@ -9549,9 +9571,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "proxy-addr": { @@ -9559,7 +9581,7 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.5.2" } }, @@ -9578,11 +9600,11 @@ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "punycode": { @@ -9605,8 +9627,8 @@ "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "querystring": { @@ -9629,7 +9651,7 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "2.1.0" + "performance-now": "^2.1.0" } }, "rafl": { @@ -9637,7 +9659,7 @@ "resolved": "https://registry.npmjs.org/rafl/-/rafl-1.2.2.tgz", "integrity": "sha1-/pMPdYIRAg1H44gV9Rlqi+QVB0A=", "requires": { - "global": "4.3.2" + "global": "~4.3.0" } }, "randomatic": { @@ -9645,8 +9667,8 @@ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "is-number": { @@ -9654,7 +9676,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -9662,7 +9684,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9672,7 +9694,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -9682,7 +9704,7 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -9690,8 +9712,8 @@ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -9721,10 +9743,10 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "~0.4.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -9735,14 +9757,14 @@ } }, "react": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", - "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.4.0.tgz", + "integrity": "sha512-K0UrkLXSAekf5nJu89obKUM7o2vc6MMN9LYoKnCa+c+8MJRAT120xzPLENcWSRc7GYKIg0LlgJRDorrufdglQQ==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-dev-utils": { @@ -9762,7 +9784,7 @@ "inquirer": "3.3.0", "is-root": "1.0.0", "opn": "5.2.0", - "react-error-overlay": "4.0.0", + "react-error-overlay": "^4.0.0", "recursive-readdir": "2.2.1", "shell-quote": "1.6.1", "sockjs-client": "1.1.4", @@ -9775,7 +9797,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -9785,13 +9807,13 @@ "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-2.20.1.tgz", "integrity": "sha512-NYmD8nDPMWpIpqWqhSZjQ3P5iQml55IMkDG0ZInyWP7JD2ljaNhrxNWZnXPrOezUu6bYlcZUCxjw19s7zhE2uw==", "requires": { - "async": "2.6.0", - "babel-runtime": "6.26.0", - "babylon": "5.8.38", - "commander": "2.14.1", - "doctrine": "2.1.0", - "node-dir": "0.1.17", - "recast": "0.12.9" + "async": "^2.1.4", + "babel-runtime": "^6.9.2", + "babylon": "~5.8.3", + "commander": "^2.9.0", + "doctrine": "^2.0.0", + "node-dir": "^0.1.10", + "recast": "^0.12.6" }, "dependencies": { "babylon": { @@ -9802,14 +9824,14 @@ } }, "react-dom": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", - "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.0.tgz", + "integrity": "sha512-bbLd+HYpBEnYoNyxDe9XpSG2t9wypMohwQPvKw8Hov3nF7SJiJIgK56b46zHpBUpHb06a1iEuw7G3rbrsnNL6w==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-error-overlay": { @@ -9817,42 +9839,26 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.0.tgz", "integrity": "sha512-FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw==" }, - "react-event-listener": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.5.3.tgz", - "integrity": "sha512-fTGYvhe7eTsqq0m664Km0rxKQcqLIGZWZINmy1LU0fu312tay8Mt3Twq2P5Xj1dfDVvvzT1Ql3/FDkiMPJ1MOg==", - "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.6.1", - "warning": "3.0.0" - } - }, "react-jss": { "version": "8.4.0", "resolved": "https://registry.npmjs.org/react-jss/-/react-jss-8.4.0.tgz", "integrity": "sha512-yIi4udcTIIh5u4KJ47wsL3UZYMuSrp5xR1YBvPeRNshpCdRoJxt5BWmCu1RA3LIa+//dnRsAtAQmMAYeg1W9oQ==", "requires": { - "hoist-non-react-statics": "2.3.1", - "jss": "9.8.1", - "jss-preset-default": "4.3.0", - "prop-types": "15.6.1", - "theming": "1.3.0" + "hoist-non-react-statics": "^2.3.1", + "jss": "^9.7.0", + "jss-preset-default": "^4.3.0", + "prop-types": "^15.6.0", + "theming": "^1.3.0" } }, - "react-lifecycles-compat": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-2.0.2.tgz", - "integrity": "sha512-BPksUj7VMAAFhcCw79sZA0Ow/LTAEjs3Sio1AQcuwLeOP+ua0f/08Su2wyiW+JjDDH6fRqNy3h5CLXh21u1mVg==" - }, "react-markdown": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.5.1.tgz", "integrity": "sha512-N5xMde42RrclLIdF16bckTApFM56vkn4q3GoZlLkuE8IK23GOIqJsuE62RTrkgq//pAt4dovVgZcgawh7YtN4w==", "requires": { - "commonmark": "0.24.0", - "commonmark-react-renderer": "4.3.4", - "prop-types": "15.6.1" + "commonmark": "^0.24.0", + "commonmark-react-renderer": "^4.3.4", + "prop-types": "^15.5.1" } }, "react-popper": { @@ -9860,8 +9866,8 @@ "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.10.1.tgz", "integrity": "sha1-ah8llfr/2ncQW+1OiezyJgekxFI=", "requires": { - "popper.js": "1.14.3", - "prop-types": "15.6.1" + "popper.js": "^1.14.1", + "prop-types": "^15.6.1" } }, "react-router": { @@ -9869,13 +9875,13 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { - "history": "4.7.2", - "hoist-non-react-statics": "2.3.1", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "path-to-regexp": "1.7.0", - "prop-types": "15.6.1", - "warning": "3.0.0" + "history": "^4.7.2", + "hoist-non-react-statics": "^2.3.0", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.5.4", + "warning": "^3.0.0" } }, "react-router-dom": { @@ -9883,23 +9889,12 @@ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { - "history": "4.7.2", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "prop-types": "15.6.1", - "react-router": "4.2.0", - "warning": "3.0.0" - } - }, - "react-scrollbar-size": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/react-scrollbar-size/-/react-scrollbar-size-2.1.0.tgz", - "integrity": "sha512-9dDUJvk7S48r0TRKjlKJ9e/LkLLYgc9LdQR6W21I8ZqtSrEsedPOoMji4nU3DHy7fx2l8YMScJS/N7qiloYzXQ==", - "requires": { - "babel-runtime": "6.26.0", - "prop-types": "15.6.1", - "react-event-listener": "0.5.3", - "stifle": "1.0.4" + "history": "^4.7.2", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "prop-types": "^15.5.4", + "react-router": "^4.2.0", + "warning": "^3.0.0" } }, "react-transition-group": { @@ -9907,9 +9902,9 @@ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.3.1.tgz", "integrity": "sha512-hu4/LAOFSKjWt1+1hgnOv3ldxmt6lvZGTWz4KUkFrqzXrNDIVSu6txIcPszw7PNduR8en9YTN55JLRyd/L1ZiQ==", "requires": { - "dom-helpers": "3.3.1", - "loose-envify": "1.3.1", - "prop-types": "15.6.1" + "dom-helpers": "^3.3.1", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1" } }, "read-pkg": { @@ -9917,9 +9912,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -9927,8 +9922,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9936,8 +9931,8 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -9945,7 +9940,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -9955,13 +9950,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.0.3", + "util-deprecate": "~1.0.1" } }, "readdirp": { @@ -9969,10 +9964,10 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.4", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" } }, "recast": { @@ -9981,10 +9976,10 @@ "integrity": "sha512-y7ANxCWmMW8xLOaiopiRDlyjQ9ajKRENBH+2wjntIbk3A6ZR1+BLQttkmSHMY7Arl+AAZFwJ10grg2T6f1WI8A==", "requires": { "ast-types": "0.10.1", - "core-js": "2.5.3", - "esprima": "4.0.0", - "private": "0.1.8", - "source-map": "0.6.1" + "core-js": "^2.4.1", + "esprima": "~4.0.0", + "private": "~0.1.5", + "source-map": "~0.6.1" } }, "recompose": { @@ -9992,10 +9987,10 @@ "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.26.0.tgz", "integrity": "sha512-KwOu6ztO0mN5vy3+zDcc45lgnaUoaQse/a5yLVqtzTK13czSWnFGmXbQVmnoMgDkI5POd1EwIKSbjU1V7xdZog==", "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.3.1", - "symbol-observable": "1.2.0" + "change-emitter": "^0.1.2", + "fbjs": "^0.8.1", + "hoist-non-react-statics": "^2.3.1", + "symbol-observable": "^1.0.4" } }, "recursive-readdir": { @@ -10011,7 +10006,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz", "integrity": "sha1-Kk5AkLlrLbBqnX3wEFWmKnfJt3Q=", "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.0.0" } } } @@ -10021,8 +10016,8 @@ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "reduce-css-calc": { @@ -10030,9 +10025,9 @@ "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" }, "dependencies": { "balanced-match": { @@ -10047,7 +10042,7 @@ "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "requires": { - "balanced-match": "0.4.2" + "balanced-match": "^0.4.2" }, "dependencies": { "balanced-match": { @@ -10072,9 +10067,9 @@ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "regex-cache": { @@ -10082,7 +10077,7 @@ "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "requires": { - "is-equal-shallow": "0.1.3" + "is-equal-shallow": "^0.1.3" } }, "regexpp": { @@ -10096,9 +10091,9 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -10106,8 +10101,8 @@ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "requires": { - "rc": "1.2.5", - "safe-buffer": "5.1.1" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -10115,7 +10110,7 @@ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { - "rc": "1.2.5" + "rc": "^1.0.1" } }, "regjsgen": { @@ -10128,7 +10123,7 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -10153,11 +10148,11 @@ "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" + "css-select": "^1.1.0", + "dom-converter": "~0.1", + "htmlparser2": "~3.3.0", + "strip-ansi": "^3.0.0", + "utila": "~0.3" }, "dependencies": { "strip-ansi": { @@ -10165,7 +10160,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "utila": { @@ -10190,7 +10185,7 @@ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -10198,28 +10193,28 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -10243,8 +10238,8 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" } }, "requires-port": { @@ -10257,7 +10252,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "requires": { - "path-parse": "1.0.5" + "path-parse": "^1.0.5" } }, "resolve-cwd": { @@ -10265,7 +10260,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" }, "dependencies": { "resolve-from": { @@ -10280,8 +10275,8 @@ "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "requires": { - "expand-tilde": "2.0.2", - "global-modules": "1.0.0" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, "resolve-from": { @@ -10300,8 +10295,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "right-align": { @@ -10309,7 +10304,7 @@ "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", "requires": { - "align-text": "0.1.4" + "align-text": "^0.1.1" } }, "rimraf": { @@ -10317,7 +10312,7 @@ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { @@ -10325,8 +10320,8 @@ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" + "hash-base": "^2.0.0", + "inherits": "^2.0.1" } }, "rtl-css-js": { @@ -10339,7 +10334,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "rx-lite": { @@ -10352,7 +10347,7 @@ "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "requires": { - "rx-lite": "4.0.8" + "rx-lite": "*" } }, "safe-buffer": { @@ -10365,13 +10360,13 @@ "resolved": "https://registry.npmjs.org/sane/-/sane-1.6.0.tgz", "integrity": "sha1-lhDEUjB6E10pwf3+JUcDQYDEZ3U=", "requires": { - "anymatch": "1.3.2", - "exec-sh": "0.2.1", - "fb-watchman": "1.9.2", - "minimatch": "3.0.4", - "minimist": "1.2.0", - "walker": "1.0.7", - "watch": "0.10.0" + "anymatch": "^1.3.0", + "exec-sh": "^0.2.0", + "fb-watchman": "^1.8.0", + "minimatch": "^3.0.2", + "minimist": "^1.1.1", + "walker": "~1.0.5", + "watch": "~0.10.0" }, "dependencies": { "bser": { @@ -10379,7 +10374,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-1.0.2.tgz", "integrity": "sha1-OBEWlwsqbe6lZG3RXdcnhES1YWk=", "requires": { - "node-int64": "0.4.0" + "node-int64": "^0.4.0" } }, "fb-watchman": { @@ -10407,7 +10402,7 @@ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "requires": { - "ajv": "5.5.2" + "ajv": "^5.0.0" } }, "scroll": { @@ -10415,7 +10410,7 @@ "resolved": "https://registry.npmjs.org/scroll/-/scroll-2.0.3.tgz", "integrity": "sha512-3ncZzf8gUW739h3LeS68nSssO60O+GGjT3SxzgofQmT8PIoyHzebql9HHPJopZX8iT6TKOdwaWFMqL6LzUN3DQ==", "requires": { - "rafl": "1.2.2" + "rafl": "~1.2.1" } }, "select": { @@ -10447,7 +10442,7 @@ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { - "semver": "5.4.1" + "semver": "^5.0.3" } }, "send": { @@ -10456,18 +10451,18 @@ "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.1", + "destroy": "~1.0.4", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.2", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.3.1" }, "dependencies": { "mime": { @@ -10482,13 +10477,13 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.17", - "parseurl": "1.3.2" + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" } }, "serve-static": { @@ -10496,9 +10491,9 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.1" } }, @@ -10532,8 +10527,8 @@ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shebang-command": { @@ -10541,7 +10536,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -10554,10 +10549,10 @@ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "shellwords": { @@ -10581,7 +10576,7 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0" + "is-fullwidth-code-point": "^2.0.0" } }, "sntp": { @@ -10589,7 +10584,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "sockjs": { @@ -10597,8 +10592,8 @@ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", "requires": { - "faye-websocket": "0.10.0", - "uuid": "2.0.3" + "faye-websocket": "^0.10.0", + "uuid": "^2.0.2" }, "dependencies": { "faye-websocket": { @@ -10606,7 +10601,7 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "uuid": { @@ -10621,12 +10616,12 @@ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "requires": { - "debug": "2.6.9", + "debug": "^2.6.6", "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.2.0" + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" } }, "sort-keys": { @@ -10634,7 +10629,7 @@ "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "source-list-map": { @@ -10652,7 +10647,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" }, "dependencies": { "source-map": { @@ -10667,7 +10662,7 @@ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", "requires": { - "spdx-license-ids": "1.2.2" + "spdx-license-ids": "^1.0.2" } }, "spdx-expression-parse": { @@ -10685,12 +10680,12 @@ "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" } }, "spdy-transport": { @@ -10698,13 +10693,13 @@ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.1", - "readable-stream": "2.3.4", - "safe-buffer": "5.1.1", - "wbuf": "1.7.2" + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" } }, "sprintf-js": { @@ -10717,14 +10712,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "statuses": { @@ -10732,18 +10727,13 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" }, - "stifle": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stifle/-/stifle-1.0.4.tgz", - "integrity": "sha1-izvN9SQZsKnHnjWtrc5QEjwdjpk=" - }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" } }, "stream-http": { @@ -10751,11 +10741,11 @@ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.3", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" } }, "strict-uri-encode": { @@ -10768,7 +10758,7 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", "requires": { - "strip-ansi": "3.0.1" + "strip-ansi": "^3.0.0" }, "dependencies": { "strip-ansi": { @@ -10776,7 +10766,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -10786,8 +10776,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "string.prototype.repeat": { @@ -10800,7 +10790,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } }, "stringstream": { @@ -10813,7 +10803,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" }, "dependencies": { "ansi-regex": { @@ -10828,7 +10818,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -10841,7 +10831,7 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -10854,8 +10844,8 @@ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.0.tgz", "integrity": "sha512-9mx9sC9nX1dgP96MZOODpGC6l1RzQBITI2D5WJhu+wnbrSYVKLGuy14XJSLVQih/0GFrPpjelt+s//VcZQ2Evw==", "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" } }, "supports-color": { @@ -10868,13 +10858,13 @@ "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" }, "dependencies": { "esprima": { @@ -10887,8 +10877,8 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" + "argparse": "^1.0.7", + "esprima": "^2.6.0" } } } @@ -10898,16 +10888,16 @@ "resolved": "https://registry.npmjs.org/sw-precache/-/sw-precache-5.2.1.tgz", "integrity": "sha512-8FAy+BP/FXE+ILfiVTt+GQJ6UEf4CVHD9OfhzH0JX+3zoy2uFk7Vn9EfXASOtVmmIVbL3jE/W8Z66VgPSZcMhw==", "requires": { - "dom-urls": "1.1.0", - "es6-promise": "4.2.4", - "glob": "7.1.2", - "lodash.defaults": "4.2.0", - "lodash.template": "4.4.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "pretty-bytes": "4.0.2", - "sw-toolbox": "3.6.0", - "update-notifier": "2.3.0" + "dom-urls": "^1.1.0", + "es6-promise": "^4.0.5", + "glob": "^7.1.1", + "lodash.defaults": "^4.2.0", + "lodash.template": "^4.4.0", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "pretty-bytes": "^4.0.2", + "sw-toolbox": "^3.4.0", + "update-notifier": "^2.3.0" } }, "sw-precache-webpack-plugin": { @@ -10915,9 +10905,9 @@ "resolved": "https://registry.npmjs.org/sw-precache-webpack-plugin/-/sw-precache-webpack-plugin-0.11.4.tgz", "integrity": "sha1-ppUBflTu1XVVFJOlGdwdqNotxeA=", "requires": { - "del": "2.2.2", - "sw-precache": "5.2.1", - "uglify-js": "3.3.10" + "del": "^2.2.2", + "sw-precache": "^5.1.1", + "uglify-js": "^3.0.13" } }, "sw-toolbox": { @@ -10925,8 +10915,8 @@ "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", "requires": { - "path-to-regexp": "1.7.0", - "serviceworker-cache-polyfill": "4.0.0" + "path-to-regexp": "^1.0.1", + "serviceworker-cache-polyfill": "^4.0.0" } }, "symbol-observable": { @@ -10945,12 +10935,12 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "chalk": "2.3.2", - "lodash": "4.17.5", + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", "slice-ansi": "1.0.0", - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-styles": { @@ -10959,7 +10949,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -10968,9 +10958,9 @@ "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -10979,7 +10969,7 @@ "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -10994,7 +10984,7 @@ "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "test-exclude": { @@ -11002,11 +10992,11 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-4.1.1.tgz", "integrity": "sha512-35+Asrsk3XHJDBgf/VRFexPgh3UyETv8IAn/LRTiZjVy6rjPVqdEk8dJcJYBzl1w0XCJM48lvTy8SfEsCWS4nA==", "requires": { - "arrify": "1.0.1", - "micromatch": "2.3.11", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "require-main-filename": "1.0.1" + "arrify": "^1.0.1", + "micromatch": "^2.3.11", + "object-assign": "^4.1.0", + "read-pkg-up": "^1.0.1", + "require-main-filename": "^1.0.1" } }, "text-table": { @@ -11019,10 +11009,10 @@ "resolved": "https://registry.npmjs.org/theming/-/theming-1.3.0.tgz", "integrity": "sha512-ya5Ef7XDGbTPBv5ENTwrwkPUexrlPeiAg/EI9kdlUAZhNlRbCdhMKRgjNX1IcmsmiPcqDQZE6BpSaH+cr31FKw==", "requires": { - "brcast": "3.0.1", - "is-function": "1.0.1", - "is-plain-object": "2.0.4", - "prop-types": "15.6.1" + "brcast": "^3.0.1", + "is-function": "^1.0.1", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.8" } }, "throat": { @@ -11055,7 +11045,7 @@ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "tiny-emitter": { @@ -11069,7 +11059,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "tmpl": { @@ -11097,7 +11087,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tr46": { @@ -11125,7 +11115,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11139,7 +11129,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-is": { @@ -11148,7 +11138,7 @@ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "~2.1.15" } }, "typedarray": { @@ -11167,8 +11157,8 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.10.tgz", "integrity": "sha512-dNib7aUDNZFJNTXFyq0CDmLRVOsnY1F+IQgt2FAOdZFx2+LvKVLbbIb/fL+BYKCv3YH3bPCE/6M/JaxChtQLHQ==", "requires": { - "commander": "2.14.1", - "source-map": "0.6.1" + "commander": "~2.14.1", + "source-map": "~0.6.1" } }, "uglify-to-browserify": { @@ -11182,9 +11172,9 @@ "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.1.0" + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" }, "dependencies": { "source-map": { @@ -11197,9 +11187,9 @@ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" } }, "yargs": { @@ -11207,9 +11197,9 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", "window-size": "0.1.0" } } @@ -11231,7 +11221,7 @@ "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "requires": { - "macaddress": "0.2.8" + "macaddress": "^0.2.8" } }, "uniqs": { @@ -11244,7 +11234,7 @@ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "universalify": { @@ -11267,15 +11257,15 @@ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "requires": { - "boxen": "1.3.0", - "chalk": "2.3.2", - "configstore": "3.1.1", - "import-lazy": "2.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -11283,7 +11273,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -11291,9 +11281,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.3.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "supports-color": { @@ -11301,7 +11291,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -11337,9 +11327,9 @@ "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", "requires": { - "loader-utils": "1.1.0", - "mime": "1.6.0", - "schema-utils": "0.3.0" + "loader-utils": "^1.0.2", + "mime": "^1.4.1", + "schema-utils": "^0.3.0" } }, "url-parse": { @@ -11347,8 +11337,8 @@ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" + "querystringify": "~1.0.0", + "requires-port": "~1.0.0" }, "dependencies": { "querystringify": { @@ -11363,7 +11353,7 @@ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "util": { @@ -11406,8 +11396,8 @@ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "~1.0.0", + "spdx-expression-parse": "~1.0.0" } }, "value-equal": { @@ -11430,9 +11420,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vm-browserify": { @@ -11448,7 +11438,7 @@ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=", "requires": { - "makeerror": "1.0.11" + "makeerror": "1.0.x" } }, "warning": { @@ -11456,7 +11446,7 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "watch": { @@ -11469,9 +11459,9 @@ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" + "async": "^2.1.2", + "chokidar": "^1.7.0", + "graceful-fs": "^4.1.2" } }, "wbuf": { @@ -11479,7 +11469,7 @@ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", "requires": { - "minimalistic-assert": "1.0.0" + "minimalistic-assert": "^1.0.0" } }, "webidl-conversions": { @@ -11492,28 +11482,28 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", "requires": { - "acorn": "5.4.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.1.0", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.1.0", - "yargs": "8.0.2" + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^5.1.5", + "ajv-keywords": "^2.0.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" }, "dependencies": { "camelcase": { @@ -11526,9 +11516,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" }, "dependencies": { "string-width": { @@ -11536,9 +11526,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } } } @@ -11553,7 +11543,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "load-json-file": { @@ -11561,10 +11551,10 @@ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" } }, "os-locale": { @@ -11572,9 +11562,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "path-type": { @@ -11582,7 +11572,7 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "requires": { - "pify": "2.3.0" + "pify": "^2.0.0" } }, "read-pkg": { @@ -11590,9 +11580,9 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" } }, "read-pkg-up": { @@ -11600,8 +11590,8 @@ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" } }, "source-map": { @@ -11614,7 +11604,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -11627,7 +11617,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } }, "which-module": { @@ -11640,19 +11630,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" } }, "yargs-parser": { @@ -11660,7 +11650,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" } } } @@ -11670,11 +11660,11 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", "requires": { - "memory-fs": "0.4.1", - "mime": "1.6.0", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" } }, "webpack-dev-server": { @@ -11683,32 +11673,32 @@ "integrity": "sha512-thrqC0EQEoSjXeYgP6pUXcUCZ+LNrKsDPn+mItLnn5VyyNZOJKd06hUP5vqkYwL8nWWXsii0loSF9NHNccT6ow==", "requires": { "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "1.7.0", - "compression": "1.7.1", - "connect-history-api-fallback": "1.5.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.2", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "import-local": "0.1.1", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^1.6.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.13.3", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.17.4", + "import-local": "^0.1.1", "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.2.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.2", - "serve-index": "1.9.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", "sockjs": "0.3.18", "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "4.5.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" + "spdy": "^3.4.1", + "strip-ansi": "^3.0.1", + "supports-color": "^4.2.1", + "webpack-dev-middleware": "^1.11.0", + "yargs": "^6.6.0" }, "dependencies": { "camelcase": { @@ -11721,9 +11711,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "debug": { @@ -11739,12 +11729,12 @@ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" } }, "globby": { @@ -11752,11 +11742,11 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -11776,7 +11766,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "pify": { @@ -11789,9 +11779,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -11799,7 +11789,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "supports-color": { @@ -11807,7 +11797,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } }, "yargs": { @@ -11815,19 +11805,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" } }, "yargs-parser": { @@ -11835,7 +11825,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" } } } @@ -11845,8 +11835,8 @@ "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-1.3.2.tgz", "integrity": "sha512-MX60Bv2G83Zks9pi3oLOmRgnPAnwrlMn+lftMrWBm199VQjk46/xgzBi9lPfpZldw2+EI2S+OevuLIaDuxCWRw==", "requires": { - "fs-extra": "0.30.0", - "lodash": "4.17.5" + "fs-extra": "^0.30.0", + "lodash": ">=3.5 <5" }, "dependencies": { "fs-extra": { @@ -11854,11 +11844,11 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, "jsonfile": { @@ -11866,7 +11856,7 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } } } @@ -11876,8 +11866,8 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, "websocket-driver": { @@ -11885,8 +11875,8 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "requires": { - "http-parser-js": "0.4.10", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -11912,8 +11902,8 @@ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" }, "dependencies": { "webidl-conversions": { @@ -11933,7 +11923,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -11946,7 +11936,7 @@ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" } }, "window-size": { @@ -11964,8 +11954,8 @@ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", "requires": { - "errno": "0.1.6", - "xtend": "4.0.1" + "errno": "^0.1.4", + "xtend": "^4.0.1" } }, "wrap-ansi": { @@ -11973,8 +11963,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "dependencies": { "is-fullwidth-code-point": { @@ -11982,7 +11972,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -11990,9 +11980,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -12000,7 +11990,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -12016,7 +12006,7 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "0.5.1" + "mkdirp": "^0.5.1" } }, "write-file-atomic": { @@ -12024,9 +12014,9 @@ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "xdg-basedir": { @@ -12069,19 +12059,19 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" }, "dependencies": { "camelcase": { @@ -12094,9 +12084,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "is-fullwidth-code-point": { @@ -12104,7 +12094,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "string-width": { @@ -12112,9 +12102,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "strip-ansi": { @@ -12122,7 +12112,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } } } @@ -12132,7 +12122,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" }, "dependencies": { "camelcase": { diff --git a/docs/package.json b/docs/package.json index e777f655815dea..f6bfce328dd535 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "@material-ui/core": "^1.0.0-rc.0", "autoprefixer": "7.1.6", "babel-core": "6.26.0", "babel-eslint": "7.2.3", @@ -27,25 +28,24 @@ "html-webpack-plugin": "2.29.0", "jest": "20.0.4", "jss": "^9.8.1", - "jss-preset-default": "^4.3.0", + "jss-preset-default": "^4.5.0", "jss-rtl": "^0.2.3", - "luxon": "^1.2.0", - "material-ui": "^1.0.0-beta.43", - "material-ui-pickers-jalali-utils": "^0.4.0", + "luxon": "^1.2.1", + "material-ui-pickers-jalali-utils": "^0.4.2", "moment": "^2.22.1", - "moment-jalaali": "^0.7.2", + "moment-jalaali": "^0.7.4", "object-assign": "4.1.1", - "patreon": "^0.4.0", + "patreon": "^0.4.1", "postcss-flexbugs-fixes": "3.2.0", "postcss-loader": "2.0.8", "prismjs": "^1.14.0", "promise": "8.0.1", "prop-types": "^15.6.1", "raf": "3.4.0", - "react": "^16.3.2", + "react": "^16.4.0", "react-dev-utils": "^5.0.1", "react-docgen": "^2.20.1", - "react-dom": "^16.3.2", + "react-dom": "^16.4.0", "react-jss": "^8.4.0", "react-markdown": "^2.5.1", "react-router": "^4.2.0", @@ -59,13 +59,13 @@ "whatwg-fetch": "2.0.3" }, "devDependencies": { - "cross-env": "^5.1.4", + "cross-env": "^5.1.6", "eslint": "^4.19.1", "eslint-config-airbnb": "^16.1.0", "eslint-import-resolver-webpack": "^0.8.4", - "eslint-plugin-import": "^2.11.0", + "eslint-plugin-import": "^2.12.0", "eslint-plugin-jsx-a11y": "^6.0.3", - "eslint-plugin-react": "^7.7.0", + "eslint-plugin-react": "^7.8.2", "raw-loader": "^0.5.1" }, "scripts": { diff --git a/docs/patrons.json b/docs/patrons.json index eca48319bbee09..c48f898ec4d4a0 100644 --- a/docs/patrons.json +++ b/docs/patrons.json @@ -1 +1 @@ -[{"about":"","created":"2015-08-16T23:30:46+00:00","email":"olivier.tassinari@gmail.com","facebook":null,"first_name":"Olivier","full_name":"Olivier","gender":0,"image_url":"https://c10.patreonusercontent.com/3/eyJ2IjoiMSIsInciOjIwMH0%3D/patreon-media/user/1003328/2a4cb816e19644b09a8fdb6ebecc9c50?token-time=2145916800&token-hash=kEFWPSnKOP7yKN2oOdP1pB6gHpeP5JPVyf843K2SieM%3D","is_email_verified":false,"last_name":"","social_connections":{"deviantart":null,"discord":null,"facebook":null,"spotify":null,"twitch":null,"twitter":null,"youtube":null},"thumb_url":"https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInYiOiIxIiwidyI6MTAwfQ%3D%3D/patreon-media/user/1003328/2a4cb816e19644b09a8fdb6ebecc9c50?token-time=2145916800&token-hash=qtvZEcHHJmCc4utry8yGK2RnmWF27x-ucp76z15dzuQ%3D","twitch":null,"twitter":"olivtassinari","url":"https://www.patreon.com/oliviertassinari","vanity":"oliviertassinari","youtube":null},{"about":null,"created":"2017-09-11T22:06:00+00:00","email":"social@conor.me","facebook":null,"first_name":"Conor","full_name":"Conor Dunk","gender":0,"image_url":"https://c10.patreonusercontent.com/3/eyJ2IjoiMSIsInciOjIwMH0%3D/patreon-media/user/7660415/9907af199aff453ebe6381bbc8683359?token-time=2145916800&token-hash=dETTWwg2vPxIlel9GHNK1RTQztejcd9gigf37VPRZRo%3D","is_email_verified":false,"last_name":"Dunk","social_connections":{"deviantart":null,"discord":null,"facebook":null,"spotify":null,"twitch":null,"twitter":null,"youtube":null},"thumb_url":"https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInYiOiIxIiwidyI6MTAwfQ%3D%3D/patreon-media/user/7660415/9907af199aff453ebe6381bbc8683359?token-time=2145916800&token-hash=nMoLAX1KnfOu9-VODAGoV21lP8pry-vdpwiPtNhiEzY%3D","twitch":null,"twitter":null,"url":"https://www.patreon.com/user?u=7660415","vanity":null,"youtube":null}] \ No newline at end of file +[{"about":"","created":"2015-08-16T23:30:46+00:00","email":"olivier.tassinari@gmail.com","facebook":null,"first_name":"Olivier","full_name":"Olivier","gender":0,"image_url":"https://c10.patreonusercontent.com/3/eyJ2IjoiMSIsInciOjIwMH0%3D/patreon-media/user/1003328/2a4cb816e19644b09a8fdb6ebecc9c50?token-time=2145916800&token-hash=kEFWPSnKOP7yKN2oOdP1pB6gHpeP5JPVyf843K2SieM%3D","is_email_verified":false,"last_name":"","social_connections":{"deviantart":null,"discord":null,"facebook":null,"spotify":null,"twitch":null,"twitter":null,"youtube":null},"thumb_url":"https://c10.patreonusercontent.com/3/eyJoIjoxMDAsInYiOiIxIiwidyI6MTAwfQ%3D%3D/patreon-media/user/1003328/2a4cb816e19644b09a8fdb6ebecc9c50?token-time=2145916800&token-hash=qtvZEcHHJmCc4utry8yGK2RnmWF27x-ucp76z15dzuQ%3D","twitch":null,"twitter":"olivtassinari","url":"https://www.patreon.com/oliviertassinari","vanity":"oliviertassinari","youtube":null}] \ No newline at end of file diff --git a/docs/src/App.js b/docs/src/App.js index 34fc5a2179fe09..f4f3fb27b7223e 100644 --- a/docs/src/App.js +++ b/docs/src/App.js @@ -1,5 +1,5 @@ import React, { Component } from 'react'; -import { MuiThemeProvider, createMuiTheme } from 'material-ui'; +import { MuiThemeProvider, createMuiTheme } from '@material-ui/core'; import Utils from 'material-ui-pickers/utils/date-fns-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; @@ -8,7 +8,7 @@ import { create } from 'jss'; import preset from 'jss-preset-default'; import rtl from 'jss-rtl'; import JssProvider from 'react-jss/lib/JssProvider'; -import createGenerateClassName from 'material-ui/styles/createGenerateClassName'; +import createGenerateClassName from '@material-ui/core/styles/createGenerateClassName'; import frLocale from 'date-fns/locale/fr'; import enLocale from 'date-fns/locale/en-US'; diff --git a/docs/src/Examples/Demo/CustomDateTimePicker.jsx b/docs/src/Examples/Demo/CustomDateTimePicker.jsx index b8cd2f79aef9f2..893c6c64f899ad 100644 --- a/docs/src/Examples/Demo/CustomDateTimePicker.jsx +++ b/docs/src/Examples/Demo/CustomDateTimePicker.jsx @@ -1,6 +1,6 @@ import React, { PureComponent, Fragment } from 'react'; import { DateTimePicker } from 'material-ui-pickers'; -import { IconButton, Icon, InputAdornment } from 'material-ui'; +import { IconButton, Icon, InputAdornment } from '@material-ui/core'; export default class CustomDateTimePicker extends PureComponent { state = { diff --git a/docs/src/Examples/Demo/CustomElementsDatePicker.jsx b/docs/src/Examples/Demo/CustomElementsDatePicker.jsx index f81e9a89bbc90a..af1cf6aa12ce34 100644 --- a/docs/src/Examples/Demo/CustomElementsDatePicker.jsx +++ b/docs/src/Examples/Demo/CustomElementsDatePicker.jsx @@ -5,7 +5,7 @@ import classNames from 'classnames'; import moment from 'moment'; import { DatePicker } from 'material-ui-pickers'; -import { IconButton, withStyles } from 'material-ui'; +import { IconButton, withStyles } from '@material-ui/core'; import isValid from 'date-fns/isValid'; import format from 'date-fns/format'; diff --git a/docs/src/Examples/Guides/ControllingProgrammatically.jsx b/docs/src/Examples/Guides/ControllingProgrammatically.jsx index 13f2b5c6f5bd1e..6ba7cf30077ae2 100644 --- a/docs/src/Examples/Guides/ControllingProgrammatically.jsx +++ b/docs/src/Examples/Guides/ControllingProgrammatically.jsx @@ -2,8 +2,8 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import DatePicker from 'material-ui-pickers/DatePicker'; -import Button from 'material-ui/Button'; -import withStyles from 'material-ui/styles/withStyles'; +import Button from '@material-ui/core/Button'; +import withStyles from '@material-ui/core/styles/withStyles'; class ControllingProgrammaticallyExample extends PureComponent { static propTypes = { diff --git a/docs/src/Examples/Guides/CssTheme.jsx b/docs/src/Examples/Guides/CssTheme.jsx index 472f550be4c44c..6b8e2f5147dbc1 100644 --- a/docs/src/Examples/Guides/CssTheme.jsx +++ b/docs/src/Examples/Guides/CssTheme.jsx @@ -1,8 +1,8 @@ import React, { PureComponent } from 'react'; import { DatePicker } from 'material-ui-pickers'; -import { MuiThemeProvider, createMuiTheme } from 'material-ui'; +import { MuiThemeProvider, createMuiTheme } from '@material-ui/core'; -import lightBlue from 'material-ui/colors/lightBlue'; +import lightBlue from '@material-ui/core/colors/lightBlue'; const materialTheme = createMuiTheme({ overrides: { diff --git a/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx b/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx index 886882718d3cd0..89c852237ea8f2 100644 --- a/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx +++ b/docs/src/Examples/Localization/DateFnsLocalizationExample.jsx @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import DatePicker from 'material-ui-pickers/DatePicker'; import DateFnsUtils from 'material-ui-pickers/utils/date-fns-utils'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; -import { Icon, IconButton, Menu, MenuItem } from 'material-ui'; +import { Icon, IconButton, Menu, MenuItem } from '@material-ui/core'; import frLocale from 'date-fns/locale/fr'; import ruLocale from 'date-fns/locale/ru'; diff --git a/docs/src/Examples/Localization/PersianPickers.jsx b/docs/src/Examples/Localization/PersianPickers.jsx index d2292564981647..8fcce64f4f0cb6 100644 --- a/docs/src/Examples/Localization/PersianPickers.jsx +++ b/docs/src/Examples/Localization/PersianPickers.jsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import moment from 'moment'; import jMoment from 'moment-jalaali'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; import { TimePicker, DateTimePicker, DatePicker } from 'material-ui-pickers'; import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider'; import JalaliUtils from 'material-ui-pickers-jalali-utils'; diff --git a/docs/src/Routes/Demos/DatePickerDemo.jsx b/docs/src/Routes/Demos/DatePickerDemo.jsx index 2275f184341aa8..fcd882cdfbcd7f 100644 --- a/docs/src/Routes/Demos/DatePickerDemo.jsx +++ b/docs/src/Routes/Demos/DatePickerDemo.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypesTable from '_shared/PropTypesTable'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const DatePickerDemoDemo = () => (
diff --git a/docs/src/Routes/Demos/DateTimePickerDemo.jsx b/docs/src/Routes/Demos/DateTimePickerDemo.jsx index 1e32807b7f9623..1e3a724a53a59c 100644 --- a/docs/src/Routes/Demos/DateTimePickerDemo.jsx +++ b/docs/src/Routes/Demos/DateTimePickerDemo.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypesTable from '_shared/PropTypesTable'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const DateTimePickerDemo = () => (
diff --git a/docs/src/Routes/Demos/TimePickerDemo.jsx b/docs/src/Routes/Demos/TimePickerDemo.jsx index f90c9de2ced93a..1e320914a06007 100644 --- a/docs/src/Routes/Demos/TimePickerDemo.jsx +++ b/docs/src/Routes/Demos/TimePickerDemo.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypesTable from '_shared/PropTypesTable'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const DatePickerDemoDemo = () => (
diff --git a/docs/src/Routes/GettingStarted/Installation.jsx b/docs/src/Routes/GettingStarted/Installation.jsx index d4ee22da78608a..d0e5294c257d75 100644 --- a/docs/src/Routes/GettingStarted/Installation.jsx +++ b/docs/src/Routes/GettingStarted/Installation.jsx @@ -1,6 +1,6 @@ import React from 'react'; import Code from '_shared/Code'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; // eslint-disable-next-line import muiPickerProviderCode from '!raw-loader!Examples/CodeSnippets/MuiPickerProviderCode'; diff --git a/docs/src/Routes/GettingStarted/Usage.jsx b/docs/src/Routes/GettingStarted/Usage.jsx index 1a738e8d85e83a..5b4d9f998139e1 100644 --- a/docs/src/Routes/GettingStarted/Usage.jsx +++ b/docs/src/Routes/GettingStarted/Usage.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import Code from '_shared/Code'; -import { Typography, withStyles } from 'material-ui'; +import { Typography, withStyles } from '@material-ui/core'; // eslint-disable-next-line import quickStartCode from '!raw-loader!Examples/CodeSnippets/QuickStart'; diff --git a/docs/src/Routes/Guides/ControllingProgrammatically.jsx b/docs/src/Routes/Guides/ControllingProgrammatically.jsx index d2959984f692e1..3af38965d4757e 100644 --- a/docs/src/Routes/Guides/ControllingProgrammatically.jsx +++ b/docs/src/Routes/Guides/ControllingProgrammatically.jsx @@ -1,6 +1,6 @@ import React from 'react'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const ControllingProgrammatically = () => (
diff --git a/docs/src/Routes/Guides/CssOverrides.jsx b/docs/src/Routes/Guides/CssOverrides.jsx index b1ddc853b864d3..7e5e01c0abbd0b 100644 --- a/docs/src/Routes/Guides/CssOverrides.jsx +++ b/docs/src/Routes/Guides/CssOverrides.jsx @@ -1,6 +1,6 @@ import React from 'react'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const CssOverrides = () => (
diff --git a/docs/src/Routes/Guides/FormatsCustomization.jsx b/docs/src/Routes/Guides/FormatsCustomization.jsx index 216dd435bc5bce..dbbe0e572d8ec1 100644 --- a/docs/src/Routes/Guides/FormatsCustomization.jsx +++ b/docs/src/Routes/Guides/FormatsCustomization.jsx @@ -1,7 +1,7 @@ import React from 'react'; import Code from '_shared/Code'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; // eslint-disable-next-line import/no-webpack-loader-syntax import utilsInterfaceCode from '!raw-loader!material-ui-pickers/typings/utils.d.ts'; diff --git a/docs/src/Routes/Landing/Landing.jsx b/docs/src/Routes/Landing/Landing.jsx index b6f37d9a9cdca3..f43dc25c296648 100644 --- a/docs/src/Routes/Landing/Landing.jsx +++ b/docs/src/Routes/Landing/Landing.jsx @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; -import { Toolbar, Typography, withStyles, Button } from 'material-ui'; +import { Toolbar, Typography, withStyles, Button } from '@material-ui/core'; import PatreonSponsors from './components/PatreonSponsors'; class Demo extends Component { diff --git a/docs/src/Routes/Landing/components/PatreonSponsors.jsx b/docs/src/Routes/Landing/components/PatreonSponsors.jsx index 162763c47bb789..83fd2ba32d49ed 100644 --- a/docs/src/Routes/Landing/components/PatreonSponsors.jsx +++ b/docs/src/Routes/Landing/components/PatreonSponsors.jsx @@ -2,9 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; -import List, { ListItem, ListItemText } from 'material-ui/List'; -import { withStyles, Avatar } from 'material-ui'; - +import { withStyles, Avatar, List, ListItem, ListItemText } from '@material-ui/core'; import patrons from '../../../../patrons.json'; class PatreonSponsors extends Component { diff --git a/docs/src/Routes/Localization/DateFnsLocalization.jsx b/docs/src/Routes/Localization/DateFnsLocalization.jsx index b52cf599ecaf76..637302d40c2ae7 100644 --- a/docs/src/Routes/Localization/DateFnsLocalization.jsx +++ b/docs/src/Routes/Localization/DateFnsLocalization.jsx @@ -1,6 +1,6 @@ import React from 'react'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const DateFnsLocalization = () => (
diff --git a/docs/src/Routes/Localization/MomentLocalization.jsx b/docs/src/Routes/Localization/MomentLocalization.jsx index a0a79e3633b163..47f502604520d1 100644 --- a/docs/src/Routes/Localization/MomentLocalization.jsx +++ b/docs/src/Routes/Localization/MomentLocalization.jsx @@ -1,6 +1,6 @@ import React from 'react'; import Code from '_shared/Code'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; // eslint-disable-next-line import momentLocalizationCode from '!raw-loader!Examples/Localization/MomentLocalizationExample'; diff --git a/docs/src/Routes/Localization/PersianCalendar.jsx b/docs/src/Routes/Localization/PersianCalendar.jsx index d97b4d91a2292d..da66b2d398fdd5 100644 --- a/docs/src/Routes/Localization/PersianCalendar.jsx +++ b/docs/src/Routes/Localization/PersianCalendar.jsx @@ -1,7 +1,7 @@ import React from 'react'; import Code from '_shared/Code'; import SourcablePanel from '_shared/SourcablePanel'; -import { Typography } from 'material-ui'; +import { Typography } from '@material-ui/core'; const PersianCalendar = () => (
diff --git a/docs/src/_shared/Code.jsx b/docs/src/_shared/Code.jsx index 63c5f37a5f6cfb..581213d769f3ac 100644 --- a/docs/src/_shared/Code.jsx +++ b/docs/src/_shared/Code.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import { withStyles } from 'material-ui/styles'; +import { withStyles } from '@material-ui/core/styles'; import prism from 'utils/prism'; const anchorLinkStyle = (theme, size) => ({ diff --git a/docs/src/_shared/GithubIcon.jsx b/docs/src/_shared/GithubIcon.jsx index 036168c05b2bf9..6cd647c6a8bf6c 100644 --- a/docs/src/_shared/GithubIcon.jsx +++ b/docs/src/_shared/GithubIcon.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import SvgIcon from 'material-ui/SvgIcon'; +import SvgIcon from '@material-ui/core/SvgIcon'; const GitHub = props => ( diff --git a/docs/src/_shared/PropTypesTable.jsx b/docs/src/_shared/PropTypesTable.jsx index e9fe08f5863181..2c798bbfcc3bba 100644 --- a/docs/src/_shared/PropTypesTable.jsx +++ b/docs/src/_shared/PropTypesTable.jsx @@ -1,8 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import classnames from 'classnames'; -import { Typography, withStyles, Paper } from 'material-ui'; -import Table, { TableBody, TableCell, TableHead, TableRow } from 'material-ui/Table'; +import { Table, Typography, withStyles, Paper, TableBody, TableCell, TableHead, TableRow } from '@material-ui/core'; import PropTypesDoc from '../../prop-types.json'; class PropTypesTable extends React.PureComponent { diff --git a/docs/src/_shared/SourcablePanel.jsx b/docs/src/_shared/SourcablePanel.jsx index 75ec77e758017c..3b6a6bfddb3da0 100644 --- a/docs/src/_shared/SourcablePanel.jsx +++ b/docs/src/_shared/SourcablePanel.jsx @@ -4,8 +4,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; -import Collapse from 'material-ui/transitions/Collapse'; -import { Typography, IconButton, Icon, withStyles } from 'material-ui'; +import { Typography, IconButton, Icon, withStyles, Collapse } from '@material-ui/core'; import Code from './Code'; class SourcablePanel extends PureComponent { diff --git a/docs/src/layout/DrawerMenu.jsx b/docs/src/layout/DrawerMenu.jsx index a05b3becc115ed..ec9e9ba4e4b57a 100644 --- a/docs/src/layout/DrawerMenu.jsx +++ b/docs/src/layout/DrawerMenu.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; -import { Divider, Toolbar, Typography, withStyles } from 'material-ui'; +import { Divider, Toolbar, Typography, withStyles } from '@material-ui/core'; import NavigationMenu from './NavigationMenu'; import { version } from '../../../lib/package.json'; diff --git a/docs/src/layout/Layout.jsx b/docs/src/layout/Layout.jsx index 2609b1be6ee082..9637cba7f014c5 100644 --- a/docs/src/layout/Layout.jsx +++ b/docs/src/layout/Layout.jsx @@ -1,10 +1,10 @@ import React, { Component } from 'react'; import classnames from 'classnames'; import PropTypes from 'prop-types'; -import Hidden from 'material-ui/Hidden'; -import Drawer from 'material-ui/Drawer'; +import Hidden from '@material-ui/core/Hidden'; +import Drawer from '@material-ui/core/Drawer'; import { withRouter } from 'react-router-dom'; -import { AppBar, Toolbar, IconButton, Icon, withStyles, Tooltip } from 'material-ui'; +import { AppBar, Toolbar, IconButton, Icon, withStyles, Tooltip } from '@material-ui/core'; import Github from '_shared/GithubIcon'; import DrawerMenu from './DrawerMenu'; diff --git a/docs/src/layout/NavItem.jsx b/docs/src/layout/NavItem.jsx index b0ceebd7ed7254..1ca29c0e56b96d 100644 --- a/docs/src/layout/NavItem.jsx +++ b/docs/src/layout/NavItem.jsx @@ -1,8 +1,8 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { ListItem, withStyles } from 'material-ui'; -import Collapse from 'material-ui/transitions/Collapse'; -import Button from 'material-ui/Button'; +import { ListItem, withStyles, Collapse } from '@material-ui/core'; + +import Button from '@material-ui/core/Button'; import { NavLink } from 'react-router-dom'; const styles = theme => ({ diff --git a/docs/src/layout/NavigationMenu.jsx b/docs/src/layout/NavigationMenu.jsx index faa0960903bd0e..a13fb50af7e29d 100644 --- a/docs/src/layout/NavigationMenu.jsx +++ b/docs/src/layout/NavigationMenu.jsx @@ -1,6 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { List } from 'material-ui'; +import { List } from '@material-ui/core'; import { withRouter } from 'react-router-dom'; import NavItem from './NavItem'; From 31b6731bbb3a8a5c0c468bbc82b33034e4ed793d Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 31 May 2018 11:24:13 +0300 Subject: [PATCH 0601/1801] Update material-ui-logo --- docs/src/Routes/Landing/Landing.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/src/Routes/Landing/Landing.jsx b/docs/src/Routes/Landing/Landing.jsx index f43dc25c296648..31e71dffeea60b 100644 --- a/docs/src/Routes/Landing/Landing.jsx +++ b/docs/src/Routes/Landing/Landing.jsx @@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; import { Link } from 'react-router-dom'; import { Toolbar, Typography, withStyles, Button } from '@material-ui/core'; import PatreonSponsors from './components/PatreonSponsors'; +import MuiLogo from '../../assets/mui-logo.svg'; class Demo extends Component { static propTypes = { @@ -26,7 +27,7 @@ class Demo extends Component { Material-UI logo From 9e781a7c55595fa5990afb35411431eda92cd44c Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 31 May 2018 11:24:38 +0300 Subject: [PATCH 0602/1801] Commit new material-ui-logo --- docs/src/assets/mui-logo.svg | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docs/src/assets/mui-logo.svg diff --git a/docs/src/assets/mui-logo.svg b/docs/src/assets/mui-logo.svg new file mode 100644 index 00000000000000..c3608b737980d4 --- /dev/null +++ b/docs/src/assets/mui-logo.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From 591cad090c31fa686b5af6b613c0b64a382ee5b1 Mon Sep 17 00:00:00 2001 From: Dmitriy Kovalenko Date: Thu, 31 May 2018 11:30:46 +0300 Subject: [PATCH 0603/1801] Update codesandbox to actual version of pickers and material-ui --- docs/prop-types.json | 49 +++++++++++++++++++++++- docs/src/Routes/GettingStarted/Usage.jsx | 2 +- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/docs/prop-types.json b/docs/prop-types.json index 3bee7e5e0bc024..48f1c1d8556d5a 100644 --- a/docs/prop-types.json +++ b/docs/prop-types.json @@ -2833,6 +2833,13 @@ "required": true, "description": "" }, + "onKeyDown": { + "type": { + "name": "func" + }, + "required": true, + "description": "" + }, "onAccept": { "type": { "name": "func" @@ -3006,7 +3013,22 @@ { "description": "", "displayName": "MuiPickersUtilsProvider", - "methods": [], + "methods": [ + { + "name": "getDerivedStateFromProps", + "docblock": null, + "modifiers": [ + "static" + ], + "params": [ + { + "name": "{ utils: Utils, locale, moment }", + "type": null + } + ], + "returns": null + } + ], "props": { "utils": { "type": { @@ -3036,7 +3058,18 @@ }, "children": { "type": { - "name": "element" + "name": "union", + "value": [ + { + "name": "element" + }, + { + "name": "arrayOf", + "value": { + "name": "element" + } + } + ] }, "required": true, "description": "" @@ -3060,6 +3093,18 @@ "description": "", "displayName": "ModalWrapper", "methods": [ + { + "name": "handleKeyDown", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "event", + "type": null + } + ], + "returns": null + }, { "name": "handleSetTodayDate", "docblock": null, diff --git a/docs/src/Routes/GettingStarted/Usage.jsx b/docs/src/Routes/GettingStarted/Usage.jsx index 5b4d9f998139e1..d28be6cd15ed7f 100644 --- a/docs/src/Routes/GettingStarted/Usage.jsx +++ b/docs/src/Routes/GettingStarted/Usage.jsx @@ -36,7 +36,7 @@ const Usage = ({ classes }) => (