diff --git a/packages/ui-toolkit/package.json b/packages/ui-toolkit/package.json index 3578d037..71571b9a 100644 --- a/packages/ui-toolkit/package.json +++ b/packages/ui-toolkit/package.json @@ -10,8 +10,11 @@ "lint:css": "echo 0", "lint:js": "eslint . --fix", "lint": "redrun -s lint:*", - "test": "echo 0", "test-ci": "echo 0", + "test": "echo 0", + "test:visual": "run-p serve jest", + "jest": "jest", + "serve": "http-server styleguide -p 6060 -s", "copy-fonts": "rm -rf dist; mkdir -p dist/es/typography; mkdir -p dist/umd/typography; cp -r src/typography/libre-franklin dist/es/typography; cp -r src/typography/libre-franklin dist/umd/typography", "compile-watch:es": "NODE_ENV=development babel src --out-dir dist/es --source-maps inline --watch", "compile:es": "NODE_ENV=development babel src --out-dir dist/es --source-maps inline", @@ -27,6 +30,7 @@ "babel-cli": "^6.26.0", "babel-generator": "^6.26.0", "babel-helpers": "^6.24.1", + "babel-loader": "^7.1.2", "babel-plugin-inline-react-svg": "^0.4.0", "babel-plugin-styled-components": "^1.1.7", "babel-preset-joyent-portal": "^3.0.1", @@ -35,6 +39,7 @@ "cross-env": "^5.0.5", "d3": "^4.10.0", "disable-scroll": "^0.3.0", + "file-loader": "^1.1.5", "fontfaceobserver": "^2.0.13", "joyent-manifest-editor": "^1.3.0", "lodash.difference": "^4.5.0", @@ -56,20 +61,33 @@ "remcalc": "^1.0.8", "rnd-id": "^1.0.8", "styled-components": "^2.1.2", - "styled-is": "^1.0.14", - "unitcalc": "^1.1.0" + "styled-is": "^1.0.15", + "svg-inline-loader": "^0.8.0", + "unitcalc": "^1.1.0", + "url-loader": "^0.6.2" }, "devDependencies": { + "babel-plugin-add-module-exports": "^0.2.1", + "babel-plugin-transform-es3-member-expression-literals": "^6.22.0", + "babel-plugin-transform-es3-property-literals": "^6.22.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-stage-0": "^6.24.1", "chart.js": "^2.7.0", + "css-loader": "^0.28.7", "csso": "^3.1.1", "eslint": "^4.5.0", "eslint-config-joyent-portal": "2.0.0", + "file-loader": "^1.1.5", + "http-server": "^0.10.0", "jest": "^20.0.4", "jest-diff": "^20.0.3", + "jest-image-snapshot": "^1.0.0", "jest-matcher-utils": "^20.0.3", "jest-snapshot": "^20.0.3", "jest-styled-components": "^4.4.1", "jsesc": "^2.5.1", + "navalia": "^1.2.0", + "npm-run-all": "^4.1.1", "react": "^15.6.1", "react-docgen": "^2.17.0", "react-docgen-displayname-handler": "^1.0.0", @@ -81,12 +99,16 @@ "react-test-renderer": "^15.6.1", "redux": "^3.7.2", "redux-form": "^7.0.3", + "serve-static": "^1.13.1", "snapguidist": "^2.0.0", + "style-loader": "^0.19.0", "stylelint": "^8.1.1", "stylelint-config-joyent-portal": "^2.0.0", + "svg-inline-loader": "^0.8.0", "svgo": "^0.7.2", "tinycolor2": "^1.4.1", "title-case": "^2.1.1", + "url-loader": "^0.6.2", "webpack": "^3.5.5" }, "peerDependencies": { diff --git a/packages/ui-toolkit/src/card/card.js b/packages/ui-toolkit/src/card/card.js index c5e109f1..5e541b7f 100644 --- a/packages/ui-toolkit/src/card/card.js +++ b/packages/ui-toolkit/src/card/card.js @@ -49,7 +49,9 @@ const StyledCard = Row.extend` `}; ${is('icon')` - background: url(${props => props.icon}) no-repeat scroll ${remcalc(7)} ${remcalc(7)}; + background: url(${props => props.icon}) no-repeat scroll ${remcalc( + 7 + )} ${remcalc(7)}; padding-left: ${remcalc(30)}; `}; @@ -74,6 +76,10 @@ const StyledCard = Row.extend` ${paperEffect} `}; + ${is('disabled')` + background-color: ${props => props.theme.disabled}; + `}; + ${isNot('active')` background-color: ${props => props.theme.disabled}; `}; diff --git a/packages/ui-toolkit/src/card/description.js b/packages/ui-toolkit/src/card/description.js index 39ec676d..aede37db 100644 --- a/packages/ui-toolkit/src/card/description.js +++ b/packages/ui-toolkit/src/card/description.js @@ -1,7 +1,7 @@ import { Subscriber } from 'react-broadcast'; import Baseline from '../baseline'; import typography from '../typography'; -import { isNot } from 'styled-is'; +import is, { isNot } from 'styled-is'; import remcalc from 'remcalc'; import styled from 'styled-components'; import PropTypes from 'prop-types'; @@ -17,12 +17,26 @@ const StyledTitle = Title.extend` ${isNot('collapsed')` padding-bottom: ${remcalc(12)}; `}; + + ${is('disabled')` + color: ${props => props.theme.text}; + `}; `; const InnerDescription = styled.div` justify-content: flex-start; + display: flex; + align-items: center; height: 100%; position: relative; + + span { + display: flex; + flex-direction: column; + height: 100%; + align-items: flex-start; + justify-content: space-between; + } `; const Description = ({ children, ...rest }) => { @@ -33,7 +47,9 @@ const Description = ({ children, ...rest }) => { xs={collapsed ? 6 : 12} {...rest} > - {children} + + {children} + ); diff --git a/packages/ui-toolkit/src/card/header.js b/packages/ui-toolkit/src/card/header.js index 8c4824b9..216c8cf3 100644 --- a/packages/ui-toolkit/src/card/header.js +++ b/packages/ui-toolkit/src/card/header.js @@ -2,12 +2,11 @@ import React from 'react'; import { Broadcast, Subscriber } from 'react-broadcast'; import remcalc from 'remcalc'; import PropTypes from 'prop-types'; -import { isNot } from 'styled-is'; +import is from 'styled-is'; import Baseline from '../baseline'; import Card from './card'; const StyledCard = Card.extend` - position: absolute; flex-direction: row; background-color: ${props => props.theme.primary}; @@ -17,7 +16,7 @@ const StyledCard = Card.extend` width: calc(100% + ${remcalc(2)}); margin: ${remcalc(-1)} ${remcalc(-1)} 0 ${remcalc(-1)}; - ${isNot('active')` + ${is('disabled')` background-color: ${props => props.theme.disabled}; border-color: ${props => props.theme.grey}; `}; diff --git a/packages/ui-toolkit/src/card/index.js b/packages/ui-toolkit/src/card/index.js index 63828c20..580497e9 100644 --- a/packages/ui-toolkit/src/card/index.js +++ b/packages/ui-toolkit/src/card/index.js @@ -11,3 +11,4 @@ export { default as CardAction } from './action.js'; export { default as CardView } from './view.js'; export { default as CardFooter } from './footer.js'; export { default as CardLabel } from './label.js'; +export { default as CardInfo } from './info.js'; diff --git a/packages/ui-toolkit/src/card/info.js b/packages/ui-toolkit/src/card/info.js new file mode 100644 index 00000000..06cbab6e --- /dev/null +++ b/packages/ui-toolkit/src/card/info.js @@ -0,0 +1,59 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import styled from 'styled-components'; +import remcalc from 'remcalc'; +import Label from '../label'; + +const StyledLabel = Label.extend` + display: inline-block; + ${props => (props.color === 'light' ? `color: ${props.theme.white};` : '')}; + ${props => (props.color === 'disabled' ? `color: ${props.theme.text};` : '')}; + margin-left: ${props => (props.iconPosition === 'left' ? remcalc(12) : 0)}; +`; + +const StyledIconContainer = styled.div` + display: flex; + > svg { + ${props => (props.color === 'light' ? `fill: ${props.theme.white};` : '')}; + ${props => + props.color === 'disabled' ? `fill: ${props.theme.text};` : ''}; + } +`; + +const CardInfoContainer = styled.div` + height: 100%; + float: right; + display: flex; + align-items: center; + justify-content: flex-end; + flex-direction: row; +`; + +const CardInfo = ({ + label, + icon, + iconPosition = 'left', + color = 'light', + onMouseOver, + onMouseOut +}) => { + return ( + + + {icon} + + + {label} + + + ); +}; + +CardInfo.propTypes = { + label: PropTypes.string.isRequired, + icon: PropTypes.node.isRequired, + iconPosition: PropTypes.string, + color: PropTypes.oneOf(['dark', 'light', 'disabled']) +}; + +export default CardInfo; diff --git a/packages/ui-toolkit/src/card/metrics.json b/packages/ui-toolkit/src/card/metrics.json new file mode 100644 index 00000000..00e2df3c --- /dev/null +++ b/packages/ui-toolkit/src/card/metrics.json @@ -0,0 +1,221 @@ +[{ + "instance": "2c921f3a-8bc3-4f57-9cd7-789ebae72061", + "name": "AVG_MEM_BYTES", + "start": "2017-10-05T13:12:13Z", + "end": "2017-10-05T13:13:58Z", + "metrics": [ + { + "time": "2017-10-05T13:12:28Z", + "value": 97595392, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:43Z", + "value": 94142464, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:58Z", + "value": 63918080, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:13Z", + "value": 94023680, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:28Z", + "value": 99467264, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:43Z", + "value": 99737600, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:58Z", + "value": 86839296, + "__typename": "Metric" + } + ], + "__typename": "InstanceMetric" + }, + { + "instance": "68d3046e-8e34-4f5d-a0e5-db3795a250fd", + "name": "AVG_MEM_BYTES", + "start": "2017-10-05T13:12:13Z", + "end": "2017-10-05T13:13:58Z", + "metrics": [ + { + "time": "2017-10-05T13:12:28Z", + "value": 99844096, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:43Z", + "value": 93655040, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:58Z", + "value": 64172032, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:13Z", + "value": 100237312, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:28Z", + "value": 99844096, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:43Z", + "value": 88035328, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:58Z", + "value": 100237312, + "__typename": "Metric" + } + ], + "__typename": "InstanceMetric" + }, + { + "instance": "2ea99763-3b44-4179-8393-d66d94961051", + "name": "AVG_MEM_BYTES", + "start": "2017-10-05T13:12:13Z", + "end": "2017-10-05T13:13:58Z", + "metrics": [ + { + "time": "2017-10-05T13:12:28Z", + "value": 98512896, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:43Z", + "value": 98258944, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:58Z", + "value": 91385856, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:13Z", + "value": 50900992, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:28Z", + "value": 98512896, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:43Z", + "value": 98033664, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:58Z", + "value": 80048128, + "__typename": "Metric" + } + ], + "__typename": "InstanceMetric" + }, + { + "instance": "25f6bc62-63b8-4959-908e-1f6d7ff6341d", + "name": "AVG_MEM_BYTES", + "start": "2017-10-05T13:12:13Z", + "end": "2017-10-05T13:13:58Z", + "metrics": [ + { + "time": "2017-10-05T13:12:28Z", + "value": 95563776, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:43Z", + "value": 48996352, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:58Z", + "value": 89772032, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:13Z", + "value": 83755008, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:28Z", + "value": 101920768, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:43Z", + "value": 95576064, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:58Z", + "value": 101699584, + "__typename": "Metric" + } + ], + "__typename": "InstanceMetric" + }, + { + "instance": "8be01042-0281-4a77-a357-25979e87bf3d", + "name": "AVG_MEM_BYTES", + "start": "2017-10-05T13:12:13Z", + "end": "2017-10-05T13:13:58Z", + "metrics": [ + { + "time": "2017-10-05T13:12:28Z", + "value": 101732352, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:43Z", + "value": 101732352, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:12:58Z", + "value": 94240768, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:13Z", + "value": 102371328, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:28Z", + "value": 61218816, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:43Z", + "value": 102371328, + "__typename": "Metric" + }, + { + "time": "2017-10-05T13:13:58Z", + "value": 100716544, + "__typename": "Metric" + } + ], + "__typename": "InstanceMetric" + } +] \ No newline at end of file diff --git a/packages/ui-toolkit/src/card/options.js b/packages/ui-toolkit/src/card/options.js index 10be1134..4bcf370f 100644 --- a/packages/ui-toolkit/src/card/options.js +++ b/packages/ui-toolkit/src/card/options.js @@ -3,7 +3,7 @@ import styled from 'styled-components'; import { Nav } from 'normalized-styled-components'; import Baseline from '../baseline'; import remcalc from 'remcalc'; -import is, { isNot } from 'styled-is'; +import is, { isOr, isNot } from 'styled-is'; import PropTypes from 'prop-types'; import Button from '../button'; import React from 'react'; @@ -13,12 +13,13 @@ const StyledNav = Nav.extend` border-left: ${remcalc(1)} solid ${props => props.theme.grey}; box-sizing: border-box; - ${is('fromHeader')` - border-left-color: ${props => props.theme.primaryDesaturatedActive}; + ${isOr('disabled', 'active')` + border-left-color: ${props => props.theme.grey}; `}; - ${isNot('active')` - border-left-color: ${props => props.theme.grey}; + ${is('fromHeader') && + isNot('disabled')` + border-left-color: ${props => props.theme.primaryDesaturatedActive}; `}; `; @@ -55,7 +56,7 @@ const StyledButton = Button.extend` border-width: 0; } - ${isNot('active')` + ${is('disabled')` background-color: ${props => props.theme.disabled}; border-color: ${props => props.theme.grey}; @@ -66,6 +67,8 @@ const StyledButton = Button.extend` &:active:focus { background-color: ${props => props.theme.grey}; } + + `}; `; @@ -86,13 +89,17 @@ const StyledCircle = styled.div` background-color: ${props => props.theme.secondary}; `}; - ${isNot('active')` + ${is('disabled')` background-color: ${props => props.theme.text}; `}; `; const Options = ({ children, ...rest }) => { - const render = ({ fromHeader = false, collapsed = false, active = true }) => ( + const render = ({ + fromHeader = false, + collapsed = false, + active = true + }) => ( { {...rest} > - - - + + + diff --git a/packages/ui-toolkit/src/card/subtitle.js b/packages/ui-toolkit/src/card/subtitle.js index 039fc470..63114cc4 100644 --- a/packages/ui-toolkit/src/card/subtitle.js +++ b/packages/ui-toolkit/src/card/subtitle.js @@ -22,6 +22,10 @@ const Span = styled.span` ${is('collapsed')` display: flex; `}; + + ${is('disabled')` + color: ${props => props.theme.text}; + `}; ${is('fromHeader')` color: ${props => props.theme.white}; diff --git a/packages/ui-toolkit/src/card/title.js b/packages/ui-toolkit/src/card/title.js index c4df35bd..6a3f48f4 100644 --- a/packages/ui-toolkit/src/card/title.js +++ b/packages/ui-toolkit/src/card/title.js @@ -19,9 +19,9 @@ const Container = styled.div` display: flex; flex-direction: row; - justify-content: flex-start; + align-items: center; - flex-grow: 2; + flex-grow: 4; flex-basis: ${remcalc(90)}; width: 100%; @@ -33,13 +33,14 @@ const Container = styled.div` `}; ${is('collapsed')` - flex-grow: 6; - flex-direction: column; width: auto; - justify-content: center; padding: 0 ${remcalc(18)}; `}; + ${is('disabled')` + color: ${props => props.theme.text}; + `}; + ${is('selected')` color: ${props => props.theme.blue}; `}; diff --git a/packages/ui-toolkit/src/card/usage.md b/packages/ui-toolkit/src/card/usage.md index 86427aaf..28c73f80 100644 --- a/packages/ui-toolkit/src/card/usage.md +++ b/packages/ui-toolkit/src/card/usage.md @@ -1,4 +1,6 @@ -``` +#### Card > Headed > Collapsed + +```jsx const { CardDescription, CardHeader, @@ -8,52 +10,457 @@ const { CardSubTitle, CardTitle, CardView, - CardGroupView + CardInfo } = require('./'); +const { InstancesIconLight } = require('../icons'); + + + + + Nginx + + } + iconPosition="left" + label="4 of 4 instances" + /> + + + + + +``` + +#### Card > Headed + +```jsx +const { + CardDescription, + CardHeader, + CardMeta, + CardOptions, + CardOutlet, + CardSubTitle, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { InstancesIconLight, HealthyIcon } = require('../icons'); + + + + + Nginx + + } + iconPosition="left" + label="4 of 4 instances" + /> + + + + + + + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + +``` + +#### Card > Single state + +```jsx +const { + CardDescription, + CardHeader, + CardMeta, + CardOptions, + CardOutlet, + CardSubTitle, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { InstancesIconLight, HealthyIcon } = require('../icons'); + + + + + Nginx + + } + iconPosition="left" + label="4 of 4 instances" + /> + + + + + + + 1 instance paused
+ 1 instances stopped
+ 1 instance not responding
+
+
+
+``` + +#### Card > Metrics + +```jsx +const { + CardDescription, + CardHeader, + CardMeta, + CardOptions, + CardOutlet, + CardSubTitle, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { MetricGraph, GraphContainer, GraphTitle } = require('../metrics'); +const { Row } = require('react-styled-flexboxgrid'); +const metrics = require('./metrics.json'); +const { InstancesIconLight, HealthyIcon } = require('../icons'); + + + + + Nginx + + } + iconPosition="left" + label="4 of 4 instances" + /> + + + + + + + Scaling from 1 to 4: finished + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + + + Memory usage + + + + CPU usage + + + + CPU wait time + + + + + + +``` + +#### Card > Provisioning + +```jsx +const { + CardDescription, + CardHeader, + CardMeta, + CardOptions, + CardOutlet, + CardSubTitle, + CardTitle, + CardView, + CardInfo +} = require('./'); +const StatusLoader = require('../status-loader').default; +const { InstancesIconLight, HealthyIcon } = require('../icons'); + + + + + + Nginx + + + + + + +``` + +```jsx +const { + CardDescription, + CardHeader, + CardMeta, + CardOptions, + CardOutlet, + CardSubTitle, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { MetricGraph, GraphContainer, GraphTitle } = require('../metrics'); +const StatusLoader = require('../status-loader').default; +const { InstancesIconLight, HealthyIcon } = require('../icons'); + + + + + Nginx + + } + iconPosition="left" + label="4 of 4 instances" + /> + + + + + + + +
+
+
+ } + iconPosition="left" + label="Healthy" + color="dark" + /> +
+
+
+``` + +#### Card > Disabled + +```jsx +const { + CardDescription, + CardHeader, + CardMeta, + CardOptions, + CardOutlet, + CardSubTitle, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { InstancesIcon, HealthyIcon } = require('../icons'); +const StatusLoader = require('../status-loader').default; + + + + + Nginx + + } + iconPosition="left" + label="4 of 4 instances" + color="dark" + /> + + + + + + + + + + +``` + +#### Card > Instance + +```jsx +const { + CardDescription, + CardOutlet, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { MetricGraph, GraphContainer, GraphTitle } = require('../metrics'); +const { Row } = require('react-styled-flexboxgrid'); +const metrics = require('./metrics.json'); +const { InstancesIconLight, HealthyIcon } = require('../icons'); - - Title - Subtitle - Description - - Outlet + + percona_primary + } + iconPosition="left" + label="Healthy" + color="dark" + /> + - ``` -#### `collapsed` +#### Card > Instance > Stacked -``` +```jsx const { CardDescription, - CardHeader, - CardMeta, - CardOptions, CardOutlet, - CardSubTitle, CardTitle, CardView, - CardGroupView + CardInfo } = require('./'); +const { MetricGraph, GraphContainer, GraphTitle } = require('../metrics'); +const { Row } = require('react-styled-flexboxgrid'); +const { InstancesIconLight, HealthyIcon } = require('../icons'); + + + + + percona_primary + 4 instances + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + +``` + +#### Card > Instance > Group + +```jsx +const { + CardDescription, + CardOutlet, + CardTitle, + CardView, + CardInfo +} = require('./'); +const { MetricGraph, GraphContainer, GraphTitle } = require('../metrics'); +const { Row } = require('react-styled-flexboxgrid'); +const { InstancesIconLight, HealthyIcon } = require('../icons'); + +
+ + + + percona_primary + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + + + + + percona_primary + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + + + + + percona_primary + 4 instances + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + +
+``` + +#### Card > Instance > List + +```jsx +const { + Card, + CardInfo, + CardView, + CardTitle, + CardDescription, + CardOptions +} = require('./'); +const { HealthyIcon, DataCenterIcon } = require('../icons'); - - Title - Subtitle - Description - - Outlet + WordPress_01 + + } + iconPosition="left" + label="Healthy" + color="dark" + /> + + + } + iconPosition="left" + label="eu-ams-1" + color="dark" + /> + + - ``` -#### `transparent` -``` +#### Card > Secondary + +```jsx const { CardDescription, CardHeader, @@ -82,7 +489,9 @@ const { ``` -``` +#### Card > Secondary > Active + +```jsx const { CardDescription, CardHeader, @@ -109,243 +518,4 @@ const { -``` - -#### `headed` - -``` -const { - CardDescription, - CardHeader, - CardMeta, - CardOptions, - CardOutlet, - CardSubTitle, - CardTitle, - CardView, - CardGroupView -} = require('./'); - - - - - Title - Subtitle - Description - - - - - - Description - - Outlet - - -``` - -#### `headed` and `collapsed` - -``` -const { - CardDescription, - CardHeader, - CardMeta, - CardOptions, - CardOutlet, - CardSubTitle, - CardTitle, - CardView, - CardGroupView -} = require('./'); - - - - - Title - Subtitle - Description - - - - - - Description - - Outlet - - -``` - -#### `stacked` - -``` -const { - CardDescription, - CardHeader, - CardMeta, - CardOptions, - CardOutlet, - CardSubTitle, - CardTitle, - CardView, - CardGroupView -} = require('./'); - - - - - Title - Subtitle - Description - - Outlet - - - -``` - -#### group - -``` -const { - CardDescription, - CardHeader, - CardMeta, - CardOptions, - CardOutlet, - CardSubTitle, - CardTitle, - CardView, - CardGroupView -} = require('./'); - - - - - Title - Subtitle - Description - - - - - - - - Title - - Outlet - - - - - - Title - Subtitle - Description - - Outlet - - - - - - Title - Subtitle - - Outlet - - - - -``` - -#### `disabled` - -``` -const { - CardDescription, - CardHeader, - CardMeta, - CardOptions, - CardOutlet, - CardSubTitle, - CardTitle, - CardView, - CardGroupView -} = require('./'); - - - - - Title - Subtitle - Description - - - - - - Description - - Outlet - - -``` - -#### group and `disabled` - -``` -const { - CardDescription, - CardHeader, - CardMeta, - CardOptions, - CardOutlet, - CardSubTitle, - CardTitle, - CardView, - CardGroupView -} = require('./'); - - - - - Title - Subtitle - Description - - - - - - - - Title - - Outlet - - - - - - Title - Subtitle - Description - - Outlet - - - - - - Title - Subtitle - - Outlet - - - - ``` \ No newline at end of file diff --git a/packages/ui-toolkit/src/form/checkbox.js b/packages/ui-toolkit/src/form/checkbox.js index b29e23ad..97e21e19 100644 --- a/packages/ui-toolkit/src/form/checkbox.js +++ b/packages/ui-toolkit/src/form/checkbox.js @@ -4,11 +4,18 @@ import BaseInput from './base/input'; import BaseToggle from './base/toggle'; import Baseline from '../baseline'; import React from 'react'; +import remcalc from 'remcalc'; const Li = styled.li` list-style-type: none; + display: flex; + align-items: center; ${typography.fontFamily}; ${typography.normal}; + + label { + font-weight: 400; + } `; const Ul = styled.ul` diff --git a/packages/ui-toolkit/src/form/radio.js b/packages/ui-toolkit/src/form/radio.js index d973c067..2321647e 100644 --- a/packages/ui-toolkit/src/form/radio.js +++ b/packages/ui-toolkit/src/form/radio.js @@ -8,6 +8,12 @@ import React from 'react'; const Li = styled.li` list-style-type: none; ${typography.normal}; + display: flex; + align-items: center; + + label { + font-weight: 400; + } `; const Ul = styled.ul` diff --git a/packages/ui-toolkit/src/form/select.js b/packages/ui-toolkit/src/form/select.js index 88ecd50a..c22c0dad 100644 --- a/packages/ui-toolkit/src/form/select.js +++ b/packages/ui-toolkit/src/form/select.js @@ -1,10 +1,42 @@ -import Baseline from '../baseline'; -import BaseInput, { Stylable } from './base/input'; +import styled from 'styled-components'; import React from 'react'; +import remcalc from 'remcalc'; +import Baseline from '../baseline'; +import { isNot } from 'styled-is'; +import BaseInput, { Stylable } from './base/input'; const Select = Baseline(BaseInput(Stylable('select'))); +const SelectWrapper = styled.div` + position: relative; + display: inline-flex; + + ${isNot('fluid')` + min-width: ${remcalc(200)}; + `}; + + &:after { + content: ''; + width: ${remcalc(10)}; + height: ${remcalc(10)}; + background: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI2IiB2aWV3Qm94PSIwIDAgOSA2IiB4bWxucz0iaHR0cDo +vL3d3dy53My5vcmcvMjAwMC9zdmciPjx0aXRsZT5hcnJvdzogcmlnaHQ8L3RpdGxlPjxwYXRoIG +Q9Ik05IDEuMzg2TDcuNjQ4IDAgNC41IDMuMjI4IDEuMzUyIDAgMCAxLjM4NiA0LjUgNnoiIGZpb +Gw9IiM0OTQ5NDkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==') + center center no-repeat; + display: block; + position: absolute; + top: 50%; + transform: translateY(-50%); + right: ${remcalc(12)}; + } +`; + /** * @example ./usage-select.md */ -export default ({ children, ...rest }) => ; +export default ({ children, fluid, ...rest }) => ( + + + +); diff --git a/packages/ui-toolkit/src/form/usage-checkbox.md b/packages/ui-toolkit/src/form/usage-checkbox.md index ba347642..4120a2fb 100644 --- a/packages/ui-toolkit/src/form/usage-checkbox.md +++ b/packages/ui-toolkit/src/form/usage-checkbox.md @@ -3,48 +3,22 @@ const FormGroup = require('./group').default; const Label = require('./label').default; - - + + + + + + + + + + + + ``` -#### `checked` - -``` -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - -``` - -#### `disabled` - -``` -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - -``` - -#### label before - -``` -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - -``` - -#### warning +#### Checkbox input validation ``` const FormMeta = require('./meta').default; @@ -52,155 +26,29 @@ const FormGroup = require('./group').default; const Label = require('./label').default;
- - - - - - - - - + + + + + Everything looks great + + - - + + - Unexpected children warning! + Are you sure ? + - - - - -
-``` - -#### error - -``` -const FormMeta = require('./meta').default; -const FormGroup = require('./group').default; -const Label = require('./label').default; - -
- - - - - - - - - - - - - + + - Unexpected children error! + Something’s missing - - - - - +
``` - -#### success - -``` -const FormMeta = require('./meta').default; -const FormGroup = require('./group').default; -const Label = require('./label').default; - -
- - - - - - - - - - - - - - - Unexpected children success! - - - - - - - -
-``` - -#### label before with status - -``` -const FormMeta = require('./meta').default; -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - - Thanks for ticking, you are a star! - - -``` - -#### multiple with meta - -``` -const { Col, Row } = require('react-styled-flexboxgrid'); -const FormMeta = require('./meta').default; -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - - - - - - - - - - Thanks for ticking, you are a star! - - - - - - - - - - - Thanks for ticking, you are a star! - - - - - - - - - - - - -``` diff --git a/packages/ui-toolkit/src/form/usage-input.md b/packages/ui-toolkit/src/form/usage-input.md index 92d8ca4d..859c2817 100644 --- a/packages/ui-toolkit/src/form/usage-input.md +++ b/packages/ui-toolkit/src/form/usage-input.md @@ -1,18 +1,12 @@ -``` - -``` - #### `type` ``` const FormGroup = require('./group').default; const Label = require('./label').default; -const Small = require('../text/small').default; - - - We'll never share your email with anyone else. + + ``` @@ -113,18 +107,4 @@ const FormMeta = require('./meta').default; -``` - -#### meta - -``` -const FormGroup = require('./group').default; -const Label = require('./label').default; -const FormMeta = require('./meta').default; - - - - - I'm a children of meta - -``` +``` \ No newline at end of file diff --git a/packages/ui-toolkit/src/form/usage-radio.md b/packages/ui-toolkit/src/form/usage-radio.md index ea49c488..835485b1 100644 --- a/packages/ui-toolkit/src/form/usage-radio.md +++ b/packages/ui-toolkit/src/form/usage-radio.md @@ -1,4 +1,4 @@ -``` +```jsx const { RadioList } = require('./radio'); const FormGroup = require('./group').default; const Label = require('./label').default; @@ -7,201 +7,85 @@ const Legend = require('./legend').default; Who killed the radio star? - + - + - + ``` -#### `disabled` +#### Radio input validation -``` -const { RadioList } = require('./radio'); -const FormGroup = require('./group').default; -const Legend = require('./legend').default; - - - Who killed the radio star? - - Video - TV - Netflix - - -``` - -#### error - -``` +```jsx const { RadioList } = require('./radio'); const FormGroup = require('./group').default; const Legend = require('./legend').default; const FormMeta = require('./meta').default; +const Label = require('./label').default;
Who killed the radio star? - - Video - TV - Netflix + + TV + Netflix - - - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - Unexpected children error! - - - Video - TV - Netflix - - -
-``` - -#### warning - -``` -const { RadioList } = require('./radio'); -const FormGroup = require('./group').default; -const Legend = require('./legend').default; -const FormMeta = require('./meta').default; - -
- - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - Unexpected children warning! - - - Video - TV - Netflix - - -
-``` - -#### success - -``` -const { RadioList } = require('./radio'); -const FormGroup = require('./group').default; -const Legend = require('./legend').default; -const FormMeta = require('./meta').default; - -
- - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - - - Video - TV - Netflix - - - - Who killed the radio star? - Unexpected children success! + You are the best ! + + + Who killed the radio star? - Video - TV - Netflix + + TV + Netflix + + + Are you sure ? + + + + Who killed the radio star? + + + TV + Netflix + + + You need to select one + + + You can also have validation in each radio button + + Who killed the radio star? + + + + + + You are the best ! + + + + + + Are you sure ? + + + + + + No, sorry +
-``` - -#### meta before - -``` -const { RadioList } = require('./radio'); -const FormGroup = require('./group').default; -const Legend = require('./legend').default; -const FormMeta = require('./meta').default; - - - Who killed the radio star? - I'm a children of meta - - Video - TV - Netflix - - ``` \ No newline at end of file diff --git a/packages/ui-toolkit/src/form/usage-select.md b/packages/ui-toolkit/src/form/usage-select.md index 54623de3..eccbc5bf 100644 --- a/packages/ui-toolkit/src/form/usage-select.md +++ b/packages/ui-toolkit/src/form/usage-select.md @@ -1,20 +1,3 @@ -``` -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - -``` - -#### placeholder - ``` - - - - - - - -``` - -#### multiple - -``` -const FormGroup = require('./group').default; -const Label = require('./label').default; - - - - - -``` #### warning diff --git a/packages/ui-toolkit/src/icons/actions-light.js b/packages/ui-toolkit/src/icons/actions-light.js index 4c5a7a80..68a1839f 100644 --- a/packages/ui-toolkit/src/icons/actions-light.js +++ b/packages/ui-toolkit/src/icons/actions-light.js @@ -1,7 +1,6 @@ -import Baseline from '../baseline'; // eslint-disable-next-line no-unused-vars import React from 'react'; import ActionsIconLight from './svg/icon_actions_light.svg'; -export default Baseline(ActionsIconLight); +export default ActionsIconLight; diff --git a/packages/ui-toolkit/src/icons/actions.js b/packages/ui-toolkit/src/icons/actions.js index 1587b8fa..f0bba779 100644 --- a/packages/ui-toolkit/src/icons/actions.js +++ b/packages/ui-toolkit/src/icons/actions.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import ActionsIcon from './svg/icon_actions.svg'; -export default Baseline(ActionsIcon); +export default ActionsIcon diff --git a/packages/ui-toolkit/src/icons/arrow-light.js b/packages/ui-toolkit/src/icons/arrow-light.js index 4fd94aab..fa34c425 100644 --- a/packages/ui-toolkit/src/icons/arrow-light.js +++ b/packages/ui-toolkit/src/icons/arrow-light.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import ArrowIconLight from './svg/icon_arrow_light.svg'; -export default Baseline(ArrowIconLight); +export default ArrowIconLight diff --git a/packages/ui-toolkit/src/icons/arrow.js b/packages/ui-toolkit/src/icons/arrow.js index 64bb5e42..ff382191 100644 --- a/packages/ui-toolkit/src/icons/arrow.js +++ b/packages/ui-toolkit/src/icons/arrow.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import ArrowIcon from './svg/icon_arrow.svg'; -export default Baseline(ArrowIcon); +export default ArrowIcon diff --git a/packages/ui-toolkit/src/icons/bin.js b/packages/ui-toolkit/src/icons/bin.js index 5b8b8357..f15ef6c0 100644 --- a/packages/ui-toolkit/src/icons/bin.js +++ b/packages/ui-toolkit/src/icons/bin.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import BinIcon from './svg/icon_bin.svg'; -export default Baseline(BinIcon); +export default BinIcon diff --git a/packages/ui-toolkit/src/icons/chevron.js b/packages/ui-toolkit/src/icons/chevron.js index 866e371e..33f61e5a 100644 --- a/packages/ui-toolkit/src/icons/chevron.js +++ b/packages/ui-toolkit/src/icons/chevron.js @@ -1,8 +1,8 @@ -import Baseline from '../baseline'; + import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import ChevronIcon from './svg/icon_chevron.svg'; -export default Baseline(Basealign(ChevronIcon)); +export default Basealign(ChevronIcon) diff --git a/packages/ui-toolkit/src/icons/close.js b/packages/ui-toolkit/src/icons/close.js index 43f2945a..1263e2cf 100644 --- a/packages/ui-toolkit/src/icons/close.js +++ b/packages/ui-toolkit/src/icons/close.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import CloseIcon from './svg/icon_close_cross.svg'; -export default Baseline(CloseIcon); +export default CloseIcon diff --git a/packages/ui-toolkit/src/icons/completed.js b/packages/ui-toolkit/src/icons/completed.js index d0361a61..1ca5cb8e 100644 --- a/packages/ui-toolkit/src/icons/completed.js +++ b/packages/ui-toolkit/src/icons/completed.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import CompletedIcon from './svg/icon_completed.svg'; -export default Baseline(CompletedIcon); +export default CompletedIcon diff --git a/packages/ui-toolkit/src/icons/data-center-light.js b/packages/ui-toolkit/src/icons/data-center-light.js index c2304748..bb0e2a45 100644 --- a/packages/ui-toolkit/src/icons/data-center-light.js +++ b/packages/ui-toolkit/src/icons/data-center-light.js @@ -1,8 +1,8 @@ -import Baseline from '../baseline'; + import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import DataCenterIconLight from './svg/icon_data_center_light.svg'; -export default Baseline(Basealign(DataCenterIconLight)); +export default Basealign(DataCenterIconLight) diff --git a/packages/ui-toolkit/src/icons/data-center.js b/packages/ui-toolkit/src/icons/data-center.js index 122dce90..7bb1a086 100644 --- a/packages/ui-toolkit/src/icons/data-center.js +++ b/packages/ui-toolkit/src/icons/data-center.js @@ -1,8 +1,8 @@ -import Baseline from '../baseline'; + import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import DataCenterIcon from './svg/icon_data_center.svg'; -export default Baseline(Basealign(DataCenterIcon)); +export default Basealign(DataCenterIcon) diff --git a/packages/ui-toolkit/src/icons/healthy.js b/packages/ui-toolkit/src/icons/healthy.js index 4ba2709b..375835d2 100644 --- a/packages/ui-toolkit/src/icons/healthy.js +++ b/packages/ui-toolkit/src/icons/healthy.js @@ -1,4 +1,4 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import styled from 'styled-components'; @@ -12,4 +12,4 @@ const StyledHealthyIcon = styled(HealthyIcon)` : props.theme.orange}; `; -export default Baseline(StyledHealthyIcon); +export default StyledHealthyIcon diff --git a/packages/ui-toolkit/src/icons/icons.js b/packages/ui-toolkit/src/icons/icons.js index a74c3388..c3c62d2e 100644 --- a/packages/ui-toolkit/src/icons/icons.js +++ b/packages/ui-toolkit/src/icons/icons.js @@ -27,7 +27,8 @@ import { CompletedIcon, PartCompletedIcon, IncompleteIcon, - LoadingIcon + LoadingIcon, + ImportIcon } from './'; const List = styled.ul` @@ -104,6 +105,12 @@ const Icons = () => ( + + + + + + diff --git a/packages/ui-toolkit/src/icons/import.js b/packages/ui-toolkit/src/icons/import.js new file mode 100644 index 00000000..981a7c38 --- /dev/null +++ b/packages/ui-toolkit/src/icons/import.js @@ -0,0 +1,6 @@ +// eslint-disable-next-line no-unused-vars +import React from 'react'; + +import Import from './svg/import.svg'; + +export default Import; diff --git a/packages/ui-toolkit/src/icons/incomplete.js b/packages/ui-toolkit/src/icons/incomplete.js index 050c68f2..9274cec4 100644 --- a/packages/ui-toolkit/src/icons/incomplete.js +++ b/packages/ui-toolkit/src/icons/incomplete.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import IncompleteIcon from './svg/icon_incomplete.svg'; -export default Baseline(IncompleteIcon); +export default IncompleteIcon diff --git a/packages/ui-toolkit/src/icons/index.js b/packages/ui-toolkit/src/icons/index.js index 55ac737c..916c3c00 100644 --- a/packages/ui-toolkit/src/icons/index.js +++ b/packages/ui-toolkit/src/icons/index.js @@ -20,3 +20,4 @@ export { default as CompletedIcon } from './completed'; export { default as PartCompletedIcon } from './part-complete'; export { default as IncompleteIcon } from './incomplete'; export { default as LoadingIcon } from './loading'; +export { default as ImportIcon } from './import'; diff --git a/packages/ui-toolkit/src/icons/instances-light.js b/packages/ui-toolkit/src/icons/instances-light.js index 95df2055..12f0f6fd 100644 --- a/packages/ui-toolkit/src/icons/instances-light.js +++ b/packages/ui-toolkit/src/icons/instances-light.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import InstancesIconLight from './svg/icon_instances_light.svg'; -export default Baseline(InstancesIconLight); +export default InstancesIconLight diff --git a/packages/ui-toolkit/src/icons/instances.js b/packages/ui-toolkit/src/icons/instances.js index b184a672..e984adfc 100644 --- a/packages/ui-toolkit/src/icons/instances.js +++ b/packages/ui-toolkit/src/icons/instances.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import InstancesIcon from './svg/icon_instances.svg'; -export default Baseline(InstancesIcon); +export default InstancesIcon diff --git a/packages/ui-toolkit/src/icons/loading.js b/packages/ui-toolkit/src/icons/loading.js index 3280bf92..120d95b8 100644 --- a/packages/ui-toolkit/src/icons/loading.js +++ b/packages/ui-toolkit/src/icons/loading.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import LoadingIcon from './svg/icon_loading.svg'; -export default Baseline(LoadingIcon); +export default LoadingIcon diff --git a/packages/ui-toolkit/src/icons/minus.js b/packages/ui-toolkit/src/icons/minus.js index c1322528..8a47e16e 100644 --- a/packages/ui-toolkit/src/icons/minus.js +++ b/packages/ui-toolkit/src/icons/minus.js @@ -1,8 +1,8 @@ -import Baseline from '../baseline'; + import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import MinusIcon from './svg/icon_minus.svg'; -export default Baseline(Basealign(MinusIcon)); +export default Basealign(MinusIcon) diff --git a/packages/ui-toolkit/src/icons/part-complete.js b/packages/ui-toolkit/src/icons/part-complete.js index 62f4c27c..de6acfcb 100644 --- a/packages/ui-toolkit/src/icons/part-complete.js +++ b/packages/ui-toolkit/src/icons/part-complete.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import PartCompletedIcon from './svg/icon_part_completed.svg'; -export default Baseline(PartCompletedIcon); +export default PartCompletedIcon diff --git a/packages/ui-toolkit/src/icons/plus.js b/packages/ui-toolkit/src/icons/plus.js index 38c7f1a2..f32e7a57 100644 --- a/packages/ui-toolkit/src/icons/plus.js +++ b/packages/ui-toolkit/src/icons/plus.js @@ -1,8 +1,8 @@ -import Baseline from '../baseline'; + import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import CloseIcon from './svg/icon_plus.svg'; -export default Baseline(Basealign(CloseIcon)); +export default Basealign(CloseIcon) diff --git a/packages/ui-toolkit/src/icons/svg/import.svg b/packages/ui-toolkit/src/icons/svg/import.svg new file mode 100644 index 00000000..5fa71f93 --- /dev/null +++ b/packages/ui-toolkit/src/icons/svg/import.svg @@ -0,0 +1,26 @@ + +Import +Created using Figma + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/ui-toolkit/src/icons/tick.js b/packages/ui-toolkit/src/icons/tick.js index 472e0e23..2637e372 100644 --- a/packages/ui-toolkit/src/icons/tick.js +++ b/packages/ui-toolkit/src/icons/tick.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import TickIcon from './svg/icon_tick.svg'; -export default Baseline(TickIcon); +export default TickIcon diff --git a/packages/ui-toolkit/src/icons/triton.js b/packages/ui-toolkit/src/icons/triton.js index 1144767d..3eaf18ae 100644 --- a/packages/ui-toolkit/src/icons/triton.js +++ b/packages/ui-toolkit/src/icons/triton.js @@ -1,8 +1,8 @@ -import Baseline from '../baseline'; + import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import TritonIcon from './svg/triton_logo.svg'; -export default Baseline(Basealign(TritonIcon)); +export default Basealign(TritonIcon) diff --git a/packages/ui-toolkit/src/icons/unhealthy.js b/packages/ui-toolkit/src/icons/unhealthy.js index 9c4f8670..3d252dde 100644 --- a/packages/ui-toolkit/src/icons/unhealthy.js +++ b/packages/ui-toolkit/src/icons/unhealthy.js @@ -1,7 +1,7 @@ -import Baseline from '../baseline'; + // eslint-disable-next-line no-unused-vars import React from 'react'; import UnhealthyIcon from './svg/icon_error_failure.svg'; -export default Baseline(UnhealthyIcon); +export default UnhealthyIcon diff --git a/packages/ui-toolkit/src/icons/user.js b/packages/ui-toolkit/src/icons/user.js index f54d3f5d..d05f9d50 100644 --- a/packages/ui-toolkit/src/icons/user.js +++ b/packages/ui-toolkit/src/icons/user.js @@ -1,8 +1,6 @@ -import Baseline from '../baseline'; -import Basealign from '../basealign'; // eslint-disable-next-line no-unused-vars import React from 'react'; import UserIcon from './svg/icon_user.svg'; -export default Baseline(Basealign(UserIcon)); +export default UserIcon diff --git a/packages/ui-toolkit/src/index.js b/packages/ui-toolkit/src/index.js index 85c738c7..da8ebdfb 100644 --- a/packages/ui-toolkit/src/index.js +++ b/packages/ui-toolkit/src/index.js @@ -103,11 +103,24 @@ export { CloseIcon, PlusIcon, MinusIcon, + IconActions, + IconActionsLight, ArrowIcon, + ArrowIconLight, + TickIcon, InstancesIcon, + InstancesIconLight, HealthyIcon, UnhealthyIcon, BinIcon, UserIcon, - DataCenterIcon + DataCenterIcon, + DataCenterIconLight, + ChevronIcon, + TritonIcon, + CompletedIcon, + PartCompletedIcon, + IncompleteIcon, + LoadingIcon, + ImportIcon } from './icons'; diff --git a/packages/ui-toolkit/src/metrics/container.js b/packages/ui-toolkit/src/metrics/container.js new file mode 100644 index 00000000..5a8af035 --- /dev/null +++ b/packages/ui-toolkit/src/metrics/container.js @@ -0,0 +1,9 @@ +import { Col } from 'react-styled-flexboxgrid'; +import styled from 'styled-components'; +import remcalc from 'remcalc'; + +export default styled(Col)` + position: relative; + border-left: ${remcalc(1)} solid #d8d8d8; + padding-top: ${remcalc(20)}; +`; diff --git a/packages/ui-toolkit/src/metrics/index.js b/packages/ui-toolkit/src/metrics/index.js index 8f9c2e7a..f465d2d4 100644 --- a/packages/ui-toolkit/src/metrics/index.js +++ b/packages/ui-toolkit/src/metrics/index.js @@ -1 +1,3 @@ export { default as MetricGraph } from './graph'; +export { default as GraphContainer } from './container'; +export { default as GraphTitle } from './title'; \ No newline at end of file diff --git a/packages/ui-toolkit/src/metrics/title.js b/packages/ui-toolkit/src/metrics/title.js new file mode 100644 index 00000000..67e3f2ea --- /dev/null +++ b/packages/ui-toolkit/src/metrics/title.js @@ -0,0 +1,16 @@ +import remcalc from 'remcalc'; +import Small from '../text/small'; + +export default Small.extend` + z-index: 99; + position: absolute; + top: 0; + left: 0; + right: 0; + height: ${remcalc(20)}; + border-bottom: ${remcalc(1)} solid #d8d8d8; + + font-size: ${remcalc(13)}; + text-align: center; + color: #494949; +`; diff --git a/packages/ui-toolkit/src/status-loader/index.js b/packages/ui-toolkit/src/status-loader/index.js index 74a9f2b6..f5292082 100644 --- a/packages/ui-toolkit/src/status-loader/index.js +++ b/packages/ui-toolkit/src/status-loader/index.js @@ -1,8 +1,10 @@ import React from 'react'; import styled from 'styled-components'; +import is, { isNot } from 'styled-is'; import Widget from './widget'; import P from '../text/p'; +import remcalc from 'remcalc'; const Container = styled.div` display: flex; @@ -11,8 +13,16 @@ const Container = styled.div` justify-content: center; align-content: center; align-items: center; - flex: 1 0 auto; - align-self: stretch; + min-height: ${remcalc(20)}; + + ${isNot('inline')` + flex: 1 0 auto; + `} ${is('row')` + flex-direction: row; + `}; + ${is('row', 'inline')` + margin-left: ${remcalc(44)}; + `}; `; const Loader = styled(Widget)` @@ -25,10 +35,11 @@ const Msg = P.extend` align-self: stretch; text-align: center; margin-bottom: 0; + margin-left: ${remcalc(6)}; `; -export default ({ msg }) => ( - +export default ({ msg, row, inline }) => ( + {msg || 'Loading...'} diff --git a/packages/ui-toolkit/src/text/Readme.md b/packages/ui-toolkit/src/text/Readme.md index 68cdef01..afb21949 100644 --- a/packages/ui-toolkit/src/text/Readme.md +++ b/packages/ui-toolkit/src/text/Readme.md @@ -21,6 +21,7 @@ const H2 = require('/').H2; ``` #### Heading 3 + ```jsx const H3 = require('/').H3;

Inspire the lazy

@@ -74,17 +75,37 @@ const Anchor = require('/').Anchor; #### Reversed Reversed anchors is used on dark backgrounds, where a default anchor would not provide enough contrast. -``` +```jsx const Anchor = require('/').Anchor; - + Inspire the lazy secondary ``` -#### Disabled -Disabled anchors cannot be actioned and the cursor is disabled. +#### In text anchor +In-paragraph anchor is a link that sits inside a text components. The default state does not have an underline. The underline appears on hover and click. + +```jsx +const P = require('/').P; +const Anchor = require('/').Anchor; +

Body text. Crack that whip. Give the past a slip. Step on a crack. Break your momma's back. When a problem comes along.You must whip it. + Learn More +

``` + +#### Disabled + +Disabled anchors cannot be actioned and the cursor is disabled. + +```jsx const Anchor = require('/').Anchor; Inspire the lazy disabled ``` diff --git a/packages/ui-toolkit/styleguide.config.js b/packages/ui-toolkit/styleguide.config.js index 675c5830..ca8b3abe 100644 --- a/packages/ui-toolkit/styleguide.config.js +++ b/packages/ui-toolkit/styleguide.config.js @@ -13,18 +13,36 @@ module.exports = { }) }), module: Object.assign(webpackConfig.module, { - rules: webpackConfig.module.rules.map(rule => { - if (!(rule.loader || '').match(/babel-loader/)) { - return rule; - } - - return Object.assign(rule, { + rules: [ + { + test: /\.svg$/, + loader: 'svg-inline-loader' + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + }, + { + test: /\.(js|jsx)$/, + use: ['babel-loader'] + }, + { + test: /\.(eot|ttf|woff|woff2)$/, + use: [ + { + loader: 'file-loader' + } + ] + }, + { + test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/], + loader: 'url-loader', options: { - babelrc: true, - cacheDirectory: false + limit: 10000, + name: 'static/media/[name].[hash:8].[ext]' } - }); - }) + } + ] }) }), title: 'UI Toolkit', diff --git a/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-1-snap.png b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-1-snap.png new file mode 100644 index 00000000..981d6dce Binary files /dev/null and b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-1-snap.png differ diff --git a/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-2-snap.png b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-2-snap.png new file mode 100644 index 00000000..9fdbfbdb Binary files /dev/null and b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-2-snap.png differ diff --git a/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-collapsed-1-snap.png b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-collapsed-1-snap.png new file mode 100644 index 00000000..fea519c9 Binary files /dev/null and b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-collapsed-1-snap.png differ diff --git a/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-collapsed-2-snap.png b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-collapsed-2-snap.png new file mode 100644 index 00000000..743dd6dd Binary files /dev/null and b/packages/ui-toolkit/test/__image_snapshots__/cards-spec-js-visual-regressions-card-headed-collapsed-2-snap.png differ diff --git a/packages/ui-toolkit/test/cards.spec.js b/packages/ui-toolkit/test/cards.spec.js new file mode 100644 index 00000000..19c1db35 --- /dev/null +++ b/packages/ui-toolkit/test/cards.spec.js @@ -0,0 +1,161 @@ +const { Chrome } = require('navalia'); +const { toMatchImageSnapshot } = require('jest-image-snapshot'); + +expect.extend({ toMatchImageSnapshot }); + +describe('Visual Regressions', () => { + let chrome = null; + + beforeEach(() => { + chrome = new Chrome(); + }); + + afterEach(() => { + chrome.done(); + }); + + it('Card > Headed > Collapsed', () => + chrome + .goto('http://0.0.0.0:6060/#!/Card/1') + .wait('div[name="card"]') + .then(() => chrome.screenshot()) + .then(image => expect(image).toMatchImageSnapshot())); + + it('Card > Headed', () => + chrome + .goto('http://0.0.0.0:6060/#!/Card/2') + .then(() => chrome.screenshot()) + .then(image => expect(image).toMatchImageSnapshot())); + + it('Card > Headed > Collapsed', () => + chrome + .goto('http://0.0.0.0:6060/#!/Card/3') + .then(() => chrome.screenshot()) + .then(image => expect(image).toMatchImageSnapshot())); + + it('Card > Headed', () => + chrome + .goto('http://0.0.0.0:6060/#!/Card/4') + .then(() => chrome.screenshot()) + .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/5') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/6') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/7') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/8') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/9') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/10') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/11') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/12') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/13') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/14') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/15') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/16') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/17') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/18') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/19') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/20') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/21') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/22') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed > Collapsed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/23') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); + + // it('Card > Headed', () => + // chrome + // .goto('http://0.0.0.0:6060/#!/Card/24') + // .then(() => chrome.screenshot()) + // .then(image => expect(image).toMatchImageSnapshot())); +}); diff --git a/packages/ui-toolkit/test/start.js b/packages/ui-toolkit/test/start.js new file mode 100644 index 00000000..9ab1314b --- /dev/null +++ b/packages/ui-toolkit/test/start.js @@ -0,0 +1,11 @@ +const http = require('http'); +const serveStatic = require('serve-static'); +const jest = require('jest'); + +const serve = serveStatic('styleguide/'); +const server = http.createServer((req, res) => { + serve(req, res, (req, res) => console.log('yay')); +}); +// "test": "cross-env NODE_ENV=test run-s styleguide:build test:visual", +// Listen +server.listen(6060); diff --git a/yarn.lock b/yarn.lock index d267b47a..c350cf9f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -643,6 +643,10 @@ asap@^2.0.0, asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" +asap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asap/-/asap-1.0.0.tgz#b2a45da5fdfa20b0496fc3768cc27c12fa916a7d" + asn1.js@^4.0.0: version "4.9.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" @@ -701,6 +705,10 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" +async@0.1.15: + version "0.1.15" + resolved "https://registry.yarnpkg.com/async/-/async-0.1.15.tgz#2180eaca2cf2a6ca5280d41c0585bec9b3e49bd3" + async@^1.4.0, async@^1.5.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -899,6 +907,14 @@ babel-generator@^6.18.0, babel-generator@^6.25.0, babel-generator@^6.26.0: source-map "^0.5.6" trim-right "^1.0.1" +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" @@ -945,6 +961,15 @@ babel-helper-explode-assignable-expression@^6.24.1: babel-traverse "^6.24.1" babel-types "^6.24.1" +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + babel-helper-flip-expressions@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.2.0.tgz#160d2090a3d9f9c64a750905321a0bc218f884ec" @@ -1059,6 +1084,14 @@ babel-loader@7.1.1: loader-utils "^1.0.2" mkdirp "^0.5.1" +babel-loader@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126" + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + babel-messages@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" @@ -1073,6 +1106,10 @@ babel-minify-webpack-plugin@^0.2.0: babel-preset-minify "^0.2.0" webpack-sources "^1.0.1" +babel-plugin-add-module-exports@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz#9ae9a1f4a8dc67f0cdec4f4aeda1e43a5ff65e25" + babel-plugin-check-es2015-constants@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" @@ -1190,10 +1227,26 @@ babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-constructor-call@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" + babel-plugin-syntax-class-properties@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-do-expressions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz#5747756139aa26d390d09410b03744ba07e4796d" + babel-plugin-syntax-dynamic-import@6.18.0, babel-plugin-syntax-dynamic-import@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" @@ -1202,10 +1255,18 @@ babel-plugin-syntax-exponentiation-operator@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" +babel-plugin-syntax-export-extensions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" + babel-plugin-syntax-flow@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" +babel-plugin-syntax-function-bind@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz#48c495f177bdf31a981e732f55adc0bdd2601f46" + babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" @@ -1218,7 +1279,15 @@ babel-plugin-syntax-trailing-function-commas@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" -babel-plugin-transform-async-to-generator@^6.22.0: +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: @@ -1226,7 +1295,15 @@ babel-plugin-transform-async-to-generator@^6.22.0: babel-plugin-syntax-async-functions "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-class-properties@6.24.1: +babel-plugin-transform-class-constructor-call@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" + dependencies: + babel-plugin-syntax-class-constructor-call "^6.18.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-class-properties@6.24.1, babel-plugin-transform-class-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" dependencies: @@ -1235,6 +1312,23 @@ babel-plugin-transform-class-properties@6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-do-expressions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz#28ccaf92812d949c2cd1281f690c8fdc468ae9bb" + dependencies: + babel-plugin-syntax-do-expressions "^6.8.0" + babel-runtime "^6.22.0" + babel-plugin-transform-es2015-arrow-functions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" @@ -1247,7 +1341,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0: +babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: @@ -1257,7 +1351,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0: babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0: +babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -1271,33 +1365,33 @@ babel-plugin-transform-es2015-classes@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0: +babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0: +babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0: +babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -1328,7 +1422,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0: +babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -1336,7 +1430,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0: +babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -1344,14 +1438,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0: +babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0: +babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -1362,7 +1456,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0: babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0: +babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -1375,7 +1469,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0: +babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -1389,13 +1483,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0: +babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -1403,7 +1497,19 @@ babel-plugin-transform-es2015-unicode-regex@^6.22.0: babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.22.0: +babel-plugin-transform-es3-member-expression-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-member-expression-literals/-/babel-plugin-transform-es3-member-expression-literals-6.22.0.tgz#733d3444f3ecc41bef8ed1a6a4e09657b8969ebb" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es3-property-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es3-property-literals/-/babel-plugin-transform-es3-property-literals-6.22.0.tgz#b2078d5842e22abf40f73e8cde9cd3711abd5758" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: @@ -1411,6 +1517,13 @@ babel-plugin-transform-exponentiation-operator@^6.22.0: babel-plugin-syntax-exponentiation-operator "^6.8.0" babel-runtime "^6.22.0" +babel-plugin-transform-export-extensions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" + dependencies: + babel-plugin-syntax-export-extensions "^6.8.0" + babel-runtime "^6.22.0" + babel-plugin-transform-flow-strip-types@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" @@ -1418,6 +1531,13 @@ babel-plugin-transform-flow-strip-types@^6.22.0: babel-plugin-syntax-flow "^6.18.0" babel-runtime "^6.22.0" +babel-plugin-transform-function-bind@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz#c6fb8e96ac296a310b8cf8ea401462407ddf6a97" + dependencies: + babel-plugin-syntax-function-bind "^6.8.0" + babel-runtime "^6.22.0" + babel-plugin-transform-inline-consecutive-adds@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.2.0.tgz#15dae78921057f4004f8eafd79e15ddc5f12f426" @@ -1441,6 +1561,13 @@ babel-plugin-transform-object-rest-spread@6.23.0: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.22.0" +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + babel-plugin-transform-property-literals@^6.8.5: version "6.8.5" resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.8.5.tgz#67ed5930b34805443452c8b9690c7ebe1e206c40" @@ -1487,7 +1614,7 @@ babel-plugin-transform-regenerator@6.24.1: dependencies: regenerator-transform "0.9.11" -babel-plugin-transform-regenerator@^6.22.0: +babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: @@ -1575,6 +1702,35 @@ babel-preset-env@1.5.2: invariant "^2.2.2" semver "^5.3.0" +babel-preset-es2015@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + 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-flow@^6.23.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" @@ -1657,6 +1813,41 @@ babel-preset-react@6.24.1: babel-plugin-transform-react-jsx-source "^6.22.0" babel-preset-flow "^6.23.0" +babel-preset-stage-0@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz#5642d15042f91384d7e5af8bc88b1db95b039e6a" + dependencies: + babel-plugin-transform-do-expressions "^6.22.0" + babel-plugin-transform-function-bind "^6.22.0" + babel-preset-stage-1 "^6.24.1" + +babel-preset-stage-1@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" + dependencies: + babel-plugin-transform-class-constructor-call "^6.24.1" + babel-plugin-transform-export-extensions "^6.22.0" + babel-preset-stage-2 "^6.24.1" + +babel-preset-stage-2@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + babel-register@^6.24.1, babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" @@ -1785,6 +1976,14 @@ binary-extensions@^1.0.0: version "1.10.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.10.0.tgz#9aeb9a6c5e88638aad171e167f5900abe24835d0" +blink-diff@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/blink-diff/-/blink-diff-1.0.13.tgz#80e3df69de804b30d40c70f041e983841ecda899" + dependencies: + pngjs-image "~0.11.5" + preceptor-core "~0.10.0" + promise "6.0.0" + block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" @@ -2335,6 +2534,17 @@ chrome-devtools-frontend@1.0.422034: version "1.0.422034" resolved "https://registry.yarnpkg.com/chrome-devtools-frontend/-/chrome-devtools-frontend-1.0.422034.tgz#071c8ce14466b7653032fcd1ad1a4a68d5e3cbd9" +chrome-launcher@^0.3.0: + version "0.3.2" + resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.3.2.tgz#c3a89e40ed2462899bac809417c4d7c451d5de05" + dependencies: + "@types/core-js" "^0.9.41" + "@types/mkdirp" "^0.3.29" + "@types/node" "6.0.66" + lighthouse-logger "^1.0.0" + mkdirp "0.5.1" + rimraf "^2.6.1" + chrome-launcher@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/chrome-launcher/-/chrome-launcher-0.8.0.tgz#5cdf3089015a441faeb36388489ab5494742f00f" @@ -2348,6 +2558,13 @@ chrome-launcher@^0.8.0: mkdirp "0.5.1" rimraf "^2.6.1" +chrome-remote-interface@^0.24.1: + version "0.24.5" + resolved "https://registry.yarnpkg.com/chrome-remote-interface/-/chrome-remote-interface-0.24.5.tgz#3d504269659aba5a5ecf72cdc182a6f1a36692cc" + dependencies: + commander "2.1.x" + ws "2.0.x" + ci-info@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.1.tgz#47b44df118c48d2597b56d342e7e25791060171a" @@ -2552,6 +2769,10 @@ colormin@^1.0.5: css-color-names "0.0.4" has "^1.0.1" +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + colors@~0.6.0-1, colors@~0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/colors/-/colors-0.6.2.tgz#2423fe6678ac0c5dae8852e5d0e5be08c997abcc" @@ -2581,7 +2802,7 @@ commander@2, commander@2.11.x, commander@^2.11.0, commander@^2.9.0, commander@~2 version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" -commander@~2.1.0: +commander@2.1.x, commander@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.1.0.tgz#d121bbae860d9992a3d517ba96f56588e47c6781" @@ -2949,6 +3170,10 @@ cors@^2.8.3: object-assign "^4" vary "^1" +corser@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87" + cosmiconfig@^2.1.0, cosmiconfig@^2.1.1, cosmiconfig@^2.1.3: version "2.2.2" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" @@ -3711,7 +3936,7 @@ dictionary-en-us@^1.0.2: version "1.2.1" resolved "https://registry.yarnpkg.com/dictionary-en-us/-/dictionary-en-us-1.2.1.tgz#d21009edaccab49fae8eefdc483da83438526b5f" -diff@^3.0.0, diff@^3.2.0: +diff@^3.0.0, diff@^3.1.0, diff@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" @@ -3873,6 +4098,15 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" +ecstatic@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ecstatic/-/ecstatic-2.2.1.tgz#b5087fad439dd9dd49d31e18131454817fe87769" + dependencies: + he "^1.1.1" + mime "^1.2.11" + minimist "^1.1.0" + url-join "^2.0.2" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -3975,7 +4209,7 @@ error-ex@^1.2.0, error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.6.1, es-abstract@^1.7.0: +es-abstract@^1.4.3, es-abstract@^1.6.1, es-abstract@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.9.0.tgz#690829a07cae36b222e7fd9b75c0d0573eb25227" dependencies: @@ -4521,6 +4755,15 @@ expect@^21.2.1: jest-message-util "^21.2.1" jest-regex-util "^21.2.0" +express-graphql@^0.6.6: + version "0.6.11" + resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.6.11.tgz#3dce78d0643e78e7e3606646ce162025ba0585ab" + dependencies: + accepts "^1.3.0" + content-type "^1.0.2" + http-errors "^1.3.0" + raw-body "^2.1.0" + "express-graphql@github:apis-guru/express-graphql#rootValue_dist": version "0.6.2" resolved "https://codeload.github.com/apis-guru/express-graphql/tar.gz/90ff36c20d49e7cec0b64846d0481f75b93d4ae6" @@ -4530,7 +4773,7 @@ expect@^21.2.1: http-errors "^1.3.0" raw-body "^2.1.0" -express@^4.13.3, express@^4.15.4: +express@^4.13.3, express@^4.15.3, express@^4.15.4: version "4.16.1" resolved "https://registry.yarnpkg.com/express/-/express-4.16.1.tgz#6b33b560183c9b253b7b62144df33a4654ac9ed0" dependencies: @@ -4725,6 +4968,13 @@ file-loader@0.11.2: dependencies: loader-utils "^1.0.2" +file-loader@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.5.tgz#91c25b6b6fbe56dae99f10a425fd64933b5c9daa" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" @@ -5737,7 +5987,7 @@ hawk@~6.0.2: hoek "4.x.x" sntp "2.x.x" -he@1.1.x: +he@1.1.x, he@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" @@ -5917,13 +6167,26 @@ http-proxy-middleware@~0.17.1, http-proxy-middleware@~0.17.4: lodash "^4.17.2" micromatch "^2.3.11" -http-proxy@^1.16.2: +http-proxy@^1.16.2, http-proxy@^1.8.1: version "1.16.2" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" dependencies: eventemitter3 "1.x.x" requires-port "1.x.x" +http-server@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/http-server/-/http-server-0.10.0.tgz#b2a446b16a9db87ed3c622ba9beb1b085b1234a7" + dependencies: + colors "1.0.3" + corser "~2.0.0" + ecstatic "^2.0.0" + http-proxy "^1.8.1" + opener "~1.4.0" + optimist "0.6.x" + portfinder "^1.0.13" + union "~0.4.3" + http-signature@^1.0.2, http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -5964,7 +6227,7 @@ hyphenate-style-name@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz#31160a36930adaf1fc04c6074f7eb41465d4ec4b" -iconv-lite@0.4, iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: +iconv-lite@0.4, iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@^0.4.8, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" @@ -6826,6 +7089,15 @@ jest-haste-map@^21.2.0: sane "^2.0.0" worker-farm "^1.3.1" +jest-image-snapshot@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-1.0.1.tgz#9b92f57b46c29627b2e9da6e07c27ee784be95a4" + dependencies: + blink-diff "^1.0.13" + chalk "^1.1.3" + lodash "^4.17.4" + mkdirp "^0.5.1" + jest-jasmine2@^20.0.4: version "20.0.4" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz#fcc5b1411780d911d042902ef1859e852e60d5e1" @@ -7592,7 +7864,7 @@ loader-runner@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" -loader-utils@^0.2.15, loader-utils@^0.2.16: +loader-utils@^0.2.11, loader-utils@^0.2.15, loader-utils@^0.2.16: version "0.2.17" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" dependencies: @@ -7864,6 +8136,14 @@ log-update@^1.0.2: ansi-escapes "^1.0.0" cli-cursor "^1.0.2" +log4js@0.6.20: + version "0.6.20" + resolved "https://registry.yarnpkg.com/log4js/-/log4js-0.6.20.tgz#5382993d038ee2e453de21c82f4b1beeed2c48fa" + dependencies: + async "0.1.15" + readable-stream "~1.0.2" + semver "~1.1.4" + loglevel@^1.4.1: version "1.5.0" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.5.0.tgz#3863984a2c326b986fbb965f378758a6dc8a4324" @@ -7938,6 +8218,10 @@ make-dir@^1.0.0: dependencies: pify "^2.3.0" +make-error@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.0.tgz#52ad3a339ccf10ce62b4040b708fe707244b8b96" + makeerror@1.0.x: version "1.0.11" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" @@ -8043,6 +8327,12 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" +memory-streams@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/memory-streams/-/memory-streams-0.1.2.tgz#273ff777ab60fec599b116355255282cca2c50c2" + dependencies: + readable-stream "~1.0.2" + meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -8128,7 +8418,7 @@ mime@1.3.x: version "1.3.6" resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.6.tgz#591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0" -mime@1.4.1, mime@^1.2.11, mime@^1.3.4: +mime@1.4.1, mime@^1.2.11, mime@^1.3.4, mime@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -8167,7 +8457,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -8302,6 +8592,20 @@ natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" +navalia@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/navalia/-/navalia-1.2.0.tgz#a3fde3ba8de1ca44b1824efceb1638c92edbc152" + dependencies: + chrome-launcher "^0.3.0" + chrome-remote-interface "^0.24.1" + debug "^2.6.8" + express "^4.15.3" + express-graphql "^0.6.6" + graphql "^0.10.5" + lodash "^4.17.4" + ts-node "^3.1.0" + yargs "^8.0.2" + ncname@1.0.x: version "1.0.0" resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c" @@ -8526,6 +8830,20 @@ normalized-styled-components@^1.0.14: dependencies: remcalc "^1.0.8" +npm-run-all@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.1.tgz#3095cf3f3cacf57fcb662b210ab10c609af6ddbb" + dependencies: + ansi-styles "^3.2.0" + chalk "^2.1.0" + cross-spawn "^5.1.0" + memory-streams "^0.1.2" + minimatch "^3.0.4" + ps-tree "^1.1.0" + read-pkg "^2.0.0" + shell-quote "^1.6.1" + string.prototype.padend "^3.0.0" + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -8650,6 +8968,10 @@ open@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc" +opener@~1.4.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" + opn@4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" @@ -8670,7 +8992,7 @@ oppsy@1.x.x: hoek "4.x.x" items "2.x.x" -optimist@^0.6.1, optimist@~0.6.1: +optimist@0.6.x, optimist@^0.6.1, optimist@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: @@ -8795,7 +9117,7 @@ pad-right@^0.2.2: dependencies: repeat-string "^1.5.2" -pako@~0.2.0: +pako@^0.2.6, pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -9030,6 +9352,21 @@ pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" +pngjs-image@~0.11.5: + version "0.11.7" + resolved "https://registry.yarnpkg.com/pngjs-image/-/pngjs-image-0.11.7.tgz#631dd59924569fc82ffebae0d5d53f85f54dab62" + dependencies: + iconv-lite "^0.4.8" + pako "^0.2.6" + pngjs "2.3.1" + request "^2.55.0" + stream-buffers "1.0.1" + underscore "1.7.0" + +pngjs@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-2.3.1.tgz#11d1e12b9cb64d63e30c143a330f4c1f567da85f" + podium@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/podium/-/podium-1.3.0.tgz#3c490f54d16f10f5260cbe98641f1cb733a8851c" @@ -9042,7 +9379,7 @@ polished@^1.6.1: version "1.7.0" resolved "https://registry.yarnpkg.com/polished/-/polished-1.7.0.tgz#cfc55113f52e9ecec7c84dbd0c708b9a3235d7c3" -portfinder@^1.0.9: +portfinder@^1.0.13, portfinder@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" dependencies: @@ -9390,6 +9727,13 @@ postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.11, postcss@^6.0.2, postcss@^6.0.3, source-map "^0.5.7" supports-color "^4.4.0" +preceptor-core@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/preceptor-core/-/preceptor-core-0.10.0.tgz#d906e88760c6fb92121f942b393c91dfcf7618a4" + dependencies: + log4js "0.6.20" + underscore "1.7.0" + precond@0.2: version "0.2.3" resolved "https://registry.yarnpkg.com/precond/-/precond-0.2.3.tgz#aa9591bcaa24923f1e0f4849d240f47efc1075ac" @@ -9465,6 +9809,12 @@ promise-inflight@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" +promise@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-6.0.0.tgz#456538dd4afdd25dc7d0f52a5201ed242b7c109d" + dependencies: + asap "~1.0.0" + promise@8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/promise/-/promise-8.0.1.tgz#e45d68b00a17647b6da711bf85ed6ed47208f450" @@ -9574,6 +9924,10 @@ qs@6.5.1, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +qs@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-2.3.3.tgz#e9e85adbe75da0bbe4c8e0476a086290f863b404" + qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -10246,7 +10600,7 @@ read@1.0.7: string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@1.0: +readable-stream@1.0, readable-stream@~1.0.2: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: @@ -10658,7 +11012,7 @@ request@2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.79.0: +request@^2.55.0, request@^2.79.0: version "2.83.0" resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" dependencies: @@ -11066,6 +11420,10 @@ semver@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" +semver@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-1.1.4.tgz#2e5a4e72bab03472cc97f72753b4508912ef5540" + semver@~5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" @@ -11100,7 +11458,7 @@ serve-index@^1.7.2: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.13.1: +serve-static@1.13.1, serve-static@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" dependencies: @@ -11183,7 +11541,7 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shell-quote@1.6.1: +shell-quote@1.6.1, shell-quote@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" dependencies: @@ -11219,6 +11577,10 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" +simple-html-tokenizer@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/simple-html-tokenizer/-/simple-html-tokenizer-0.1.1.tgz#05c2eec579ffffe145a030ac26cfea61b980fabe" + simple-statistics@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/simple-statistics/-/simple-statistics-4.1.1.tgz#533c48d48336ba3d350d8135f20fa7138acb0c7d" @@ -11335,7 +11697,7 @@ source-map-resolve@^0.3.0: source-map-url "~0.3.0" urix "~0.1.0" -source-map-support@^0.4.15: +source-map-support@^0.4.0, source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" dependencies: @@ -11545,6 +11907,10 @@ stream-browserify@^2.0.1: inherits "~2.0.1" readable-stream "^2.0.2" +stream-buffers@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-1.0.1.tgz#9a44a37555f96a5b78a5a765f0c48446cb160b8c" + stream-cache@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f" @@ -11622,6 +11988,14 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string.prototype.padend@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.4.3" + function-bind "^1.0.2" + string_decoder@^0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -11695,7 +12069,7 @@ strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" -strip-json-comments@2.0.1, strip-json-comments@~2.0.1: +strip-json-comments@2.0.1, strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -11724,6 +12098,13 @@ style-loader@0.18.2, style-loader@^0.18.2: loader-utils "^1.0.2" schema-utils "^0.3.0" +style-loader@^0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.19.0.tgz#7258e788f0fee6a42d710eaf7d6c2412a4c50759" + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" @@ -11746,6 +12127,10 @@ styled-is@^1.0.14: version "1.0.14" resolved "https://registry.yarnpkg.com/styled-is/-/styled-is-1.0.14.tgz#4e00e0a43b1c8e941ed05a4f8fb4b6958a8473e9" +styled-is@^1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/styled-is/-/styled-is-1.0.15.tgz#8f29979a087ffe8bd4f6bade7aacf4c4b071c5b2" + stylelint-config-joyent-portal@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-joyent-portal/-/stylelint-config-joyent-portal-2.0.0.tgz#0a43378d5b1a2b3fa4d40b3a4584c97c19154da4" @@ -11888,6 +12273,14 @@ supports-color@^4.0.0, supports-color@^4.1.0, supports-color@^4.2.1, supports-co dependencies: has-flag "^2.0.0" +svg-inline-loader@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/svg-inline-loader/-/svg-inline-loader-0.8.0.tgz#7e9d905d80d0b4e68d2df21afcd08ee9e9a3ea6e" + dependencies: + loader-utils "^0.2.11" + object-assign "^4.0.1" + simple-html-tokenizer "^0.1.1" + svg-pan-zoom@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/svg-pan-zoom/-/svg-pan-zoom-3.5.2.tgz#18a2d68c27d15ffc562d4a7f9925519269f6abd0" @@ -12295,6 +12688,28 @@ tryit@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/tryit/-/tryit-1.0.3.tgz#393be730a9446fd1ead6da59a014308f36c289cb" +ts-node@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-3.3.0.tgz#c13c6a3024e30be1180dd53038fc209289d4bf69" + dependencies: + arrify "^1.0.0" + chalk "^2.0.0" + diff "^3.1.0" + make-error "^1.1.1" + minimist "^1.2.0" + mkdirp "^0.5.1" + source-map-support "^0.4.0" + tsconfig "^6.0.0" + v8flags "^3.0.0" + yn "^2.0.0" + +tsconfig@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-6.0.0.tgz#6b0e8376003d7af1864f8df8f89dd0059ffcd032" + dependencies: + strip-bom "^3.0.0" + strip-json-comments "^2.0.0" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -12408,6 +12823,10 @@ undefsafe@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f" +underscore@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + unfetch@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-2.1.2.tgz#684fee4d8acdb135bdb26c0364c642fc326ca95b" @@ -12435,6 +12854,12 @@ unified@^6.0.0, unified@^6.1.5: x-is-function "^1.0.4" x-is-string "^0.1.0" +union@~0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/union/-/union-0.4.6.tgz#198fbdaeba254e788b0efcb630bc11f24a2959e0" + dependencies: + qs "~2.3.3" + uniq@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" @@ -12563,6 +12988,10 @@ urix@^0.1.0, urix@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" +url-join@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-2.0.2.tgz#c072756967ad24b8b59e5741551caac78f50b8b7" + url-loader@0.5.9: version "0.5.9" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.5.9.tgz#cc8fea82c7b906e7777019250869e569e995c295" @@ -12570,6 +12999,14 @@ url-loader@0.5.9: loader-utils "^1.0.2" mime "1.3.x" +url-loader@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-0.6.2.tgz#a007a7109620e9d988d14bce677a1decb9a993f7" + dependencies: + loader-utils "^1.0.2" + mime "^1.4.1" + schema-utils "^0.3.0" + url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" @@ -12641,6 +13078,12 @@ v8flags@^2.1.1: dependencies: user-home "^1.1.1" +v8flags@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.0.1.tgz#dce8fc379c17d9f2c9e9ed78d89ce00052b1b76b" + dependencies: + homedir-polyfill "^1.0.1" + validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" @@ -13156,6 +13599,12 @@ ws@1.1.1: options ">=0.0.5" ultron "1.0.x" +ws@2.0.x: + version "2.0.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-2.0.3.tgz#532fd499c3f7d7d720e543f1f807106cfc57d9cb" + dependencies: + ultron "~1.1.0" + ws@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ws/-/ws-3.2.0.tgz#d5d3d6b11aff71e73f808f40cc69d52bb6d4a185" @@ -13321,6 +13770,10 @@ yargs@~3.10.0: decamelize "^1.0.0" window-size "0.1.0" +yn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yn/-/yn-2.0.0.tgz#e5adabc8acf408f6385fc76495684c88e6af689a" + zen-observable-ts@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.4.4.tgz#c244c71eaebef79a985ccf9895bc90307a6e9712"