From 58052c42b4be423e94ab1ce27ae5821d5936831e Mon Sep 17 00:00:00 2001 From: Greg Fodor <gfodor@gmail.com> Date: Fri, 16 Mar 2018 18:57:19 -0700 Subject: [PATCH] Basic entry dialog styled --- package.json | 3 + src/assets/loading.gif | Bin 71698 -> 0 bytes src/react-components/ui-root.js | 30 ++- src/room.css | 26 --- src/room.html | 2 +- src/room.js | 5 +- src/room.scss | 55 ++++++ webpack.config.js | 15 ++ yarn.lock | 325 ++++++++++++++++++++++++++++++-- 9 files changed, 412 insertions(+), 49 deletions(-) delete mode 100644 src/assets/loading.gif delete mode 100644 src/room.css create mode 100644 src/room.scss diff --git a/package.json b/package.json index 69093ea8a..2978fec9f 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "aframe-input-mapping-component": "https://github.com/johnshaughnessy/aframe-input-mapping-component#23e2855", "aframe-teleport-controls": "https://github.com/netpro2k/aframe-teleport-controls#feature/teleport-origin", "aframe-xr": "github:brianpeiris/aframe-xr#3162aed", + "classnames": "^2.2.5", "detect-browser": "^2.1.0", "event-target-shim": "^3.0.1", "jsonschema": "^1.2.2", @@ -54,8 +55,10 @@ "html-loader": "^0.5.5", "html-webpack-plugin": "webpack-contrib/html-webpack-plugin", "lodash": "^4.17.5", + "node-sass": "^4.7.2", "prettier": "^1.7.0", "rimraf": "^2.6.2", + "sass-loader": "^6.0.7", "selfsigned": "^1.10.2", "style-loader": "^0.20.2", "webpack": "^4.0.1", diff --git a/src/assets/loading.gif b/src/assets/loading.gif deleted file mode 100644 index 60f15ef2e34263e13f13450e264f1b7220b710ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71698 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 diff --git a/src/react-components/ui-root.js b/src/react-components/ui-root.js index 068407173..c0d231f92 100644 --- a/src/react-components/ui-root.js +++ b/src/react-components/ui-root.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; +import classNames from 'classnames'; import NameEntryPanel from './name-entry-panel'; import { VR_DEVICE_AVAILABILITY } from "../utils/vr-caps-detect"; import queryString from "query-string"; @@ -267,7 +268,7 @@ class UIRoot extends Component { } setMediaStreamToDefault = async () => { - const constraints = { audio: true, video: this.mediaVideoConstraint() }; + const constraints = { audio: true, video: false }; this.setupNewMediaStream(await navigator.mediaDevices.getUserMedia(constraints)); } @@ -350,13 +351,13 @@ class UIRoot extends Component { render() { if (!this.props.scene.hasLoaded) { return ( - <div>Loading scene</div> + <div className="loading-panel">Loading scene</div> ); } const entryPanel = this.state.entryStep === ENTRY_STEPS.start ? ( - <div> + <div className="entry-panel"> <TwoDEntryButton onClick={this.enter2D}/> { this.props.availableVREntryTypes.generic !== VR_DEVICE_AVAILABILITY.no && <GenericEntryButton onClick={this.enterVR}/> } { this.props.availableVREntryTypes.gearvr !== VR_DEVICE_AVAILABILITY.no && <GearVREntryButton onClick={this.enterGearVR}/> } @@ -386,15 +387,18 @@ class UIRoot extends Component { <select value={selectedMicDeviceId} onChange={this.micDeviceChanged}> { this.state.micDevices.map(d => (<option key={ d.deviceId } value={ d.deviceId }>{d.label}</option>)) } </select> + <br/> { this.state.tonePlaying && (<div>Tone</div>) } + <br/> { this.state.micLevel } + <br/> <button onClick={this.onAudioReadyButton}> Audio Ready </button> </div> ) : null; - const overlay = this.isWaitingForAutoExit() ? + const dialogContents = this.isWaitingForAutoExit() ? (<AutoExitWarning secondsRemaining={this.state.secondsRemainingBeforeAutoExit} onCancel={this.endAutoExitTimer} />) : ( <div> @@ -406,11 +410,23 @@ class UIRoot extends Component { </div> ); + const dialogClassNames = classNames({ + 'ui-dialog': true, + 'ui-dialog--darkened': this.state.entryStep !== ENTRY_STEPS.finished + }); + return !this.state.exited ? ( - <div> - Base UI here - {overlay} + <div className={dialogClassNames}> + Base UI Here + { + this.state.entryStep !== ENTRY_STEPS.finished && + ( + <div className='ui-dialog-box'> + {dialogContents} + </div> + ) + } </div> ) : ( diff --git a/src/room.css b/src/room.css deleted file mode 100644 index d98df797e..000000000 --- a/src/room.css +++ /dev/null @@ -1,26 +0,0 @@ -.a-enter-vr { - top: 90px; - bottom: auto; -} - -#loader { - position: fixed; - width: 100vw; - height: 100vh; - z-index: 10001; - background: #eaeaea no-repeat url("./assets/loading.gif") center center; - opacity: 0.9; -} - -#ui-root { - width: 0; - height: 0; - top: 0; - left: 0; - position: absolute; -} - -.rs-base { - top: auto; - bottom: 20px; -} diff --git a/src/room.html b/src/room.html index 98f1aa201..d158a540f 100644 --- a/src/room.html +++ b/src/room.html @@ -209,7 +209,7 @@ ></a-entity> </a-scene> - <div id="ui-root"></div> + <div id="ui-root" class="ui"></div> </body> </html> diff --git a/src/room.js b/src/room.js index d52722a30..2df334fa2 100644 --- a/src/room.js +++ b/src/room.js @@ -1,4 +1,4 @@ -import "./room.css"; +import "./room.scss"; import queryString from "query-string"; import { patchWebGLRenderingContext } from "./utils/webgl"; @@ -121,6 +121,7 @@ function setNameTagFromStore() { async function enterScene(mediaStream, enterInVR) { const scene = document.querySelector("a-scene"); + document.querySelector("a-scene canvas").classList.remove("blurred") if (enterInVR) { scene.enterVR(); @@ -200,7 +201,6 @@ async function enterScene(mediaStream, enterInVR) { } function onConnect() { - document.getElementById("loader").style.display = "none"; } function mountUI(scene) { @@ -228,6 +228,7 @@ function mountUI(scene) { document.addEventListener("DOMContentLoaded", () => { const scene = document.querySelector("a-scene"); + document.querySelector("a-scene canvas").classList.add("blurred"); window.APP.scene = scene; mountUI(scene); }); diff --git a/src/room.scss b/src/room.scss new file mode 100644 index 000000000..bc7ef870a --- /dev/null +++ b/src/room.scss @@ -0,0 +1,55 @@ +$dark-transparent: rgba(0, 0, 0, 0.5); + +.a-enter-vr { + display: none; +} + +.ui { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + pointer-events: none; + color: white; +} + +.blurred { + filter: blur(5px); +} + +.ui-dialog { + display: grid; + grid-template-columns: 1fr 20px minmax(200px, 400px) 20px 1fr; + grid-template-rows: 1fr 20px minmax(400px, 600px) 20px 1fr; + width: 100%; + height: 100%; +} + +.ui-dialog--darkened { + display: grid; + grid-template-columns: 1fr 20px minmax(200px, 400px) 20px 1fr; + grid-template-rows: 1fr 20px minmax(400px, 600px) 20px 1fr; + width: 100%; + height: 100%; + background-color: $dark-transparent; +} + +.ui-dialog-box { + grid-column: 3; + grid-row : 3; + background-color: black; + border-radius: 4px; + pointer-events: auto; +} + +.loading-panel { + background-color: black; + width: 100%; + height: 100%; +} + +.rs-base { + top: auto; + bottom: 20px; +} diff --git a/webpack.config.js b/webpack.config.js index a9b388b51..7626670bf 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -138,6 +138,21 @@ const config = { plugins: ["transform-class-properties", "transform-object-rest-spread"] } }, + { + test: /\.scss$/, + loader: ExtractTextPlugin.extract({ + fallback: "style-loader", + use: [ + { + loader: "css-loader", + options: { + minimize: process.env.NODE_ENV === "production" + } + }, + "sass-loader" + ] + }) + }, { test: /\.css$/, use: ExtractTextPlugin.extract({ diff --git a/yarn.lock b/yarn.lock index 044e7146d..c7958cf28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -185,6 +185,10 @@ alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + ansi-escapes@^1.0.0, ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -371,6 +375,10 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + async@0.2.x: version "0.2.10" resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" @@ -1423,6 +1431,10 @@ camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -1448,6 +1460,10 @@ caniuse-lite@^1.0.30000792: version "0.6.2" resolved "https://codeload.github.com/donmccurdy/cannon.js/tar.gz/022e8ba53fa83abf0ad8a0e4fd08623123838a17" +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -1549,6 +1565,10 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.5.tgz#fb3801d453467649ef3603c7d61a02bd129bde6d" + clean-css@4.1.x: version "4.1.9" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.1.9.tgz#35cee8ae7687a49b98034f70de00c4edd3826301" @@ -1600,6 +1620,15 @@ clone-buffer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" +clone-deep@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-2.0.2.tgz#00db3a1e173656730d1188c3d6aced6d7ea97713" + dependencies: + for-own "^1.0.0" + is-plain-object "^2.0.4" + kind-of "^6.0.0" + shallow-clone "^1.0.0" + clone-stats@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" @@ -1699,7 +1728,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.14.x, commander@~2.14.1: +commander@2.14.x, commander@^2.9.0, commander@~2.14.1: version "2.14.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa" @@ -1852,6 +1881,13 @@ cross-env@^5.1.3: cross-spawn "^5.1.0" is-windows "^1.0.0" +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + cross-spawn@^5.0.1, cross-spawn@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" @@ -2886,6 +2922,10 @@ flush-write-stream@^1.0.0: inherits "^2.0.1" readable-stream "^2.0.4" +for-in@^0.1.3: + version "0.1.8" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" + for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -2896,6 +2936,12 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + foreach@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" @@ -2991,6 +3037,22 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +gaze@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105" + dependencies: + globule "^1.0.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -3057,7 +3119,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob@^6.0.1: +glob@^6.0.1, glob@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" dependencies: @@ -3067,7 +3129,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2, glob@~7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -3143,6 +3205,14 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +globule@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09" + dependencies: + glob "~7.1.1" + lodash "~4.17.4" + minimatch "~3.0.2" + got@^7.0.0, got@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" @@ -3180,6 +3250,15 @@ har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + har-validator@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" @@ -3485,6 +3564,10 @@ imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + indent-string@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" @@ -3722,6 +3805,20 @@ is-glob@^4.0.0: dependencies: is-extglob "^2.1.1" +is-my-ip-valid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" + +is-my-json-valid@^2.12.4: + version "2.17.2" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz#6b2103a288e94ef3de5cf15d29dd85fc4b78d65c" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + is-my-ip-valid "^1.0.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" @@ -3786,6 +3883,10 @@ is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -3888,7 +3989,7 @@ jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" -js-base64@^2.1.9: +js-base64@^2.1.8, js-base64@^2.1.9: version "2.4.3" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582" @@ -3980,6 +4081,10 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + jsonschema@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.2.tgz#83ab9c63d65bf4d596f91d81195e78772f6452bc" @@ -4121,7 +4226,7 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.2, loader-utils@^1.1.0: +loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -4136,10 +4241,18 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + lodash.endswith@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09" @@ -4156,15 +4269,23 @@ lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" +lodash.mergewith@^4.6.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927" + lodash.startswith@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c" +lodash.tail@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664" + lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0: +lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.3.0, lodash@~4.17.4: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" @@ -4302,7 +4423,7 @@ memory-fs@^0.4.0, memory-fs@~0.4.1: errno "^0.1.3" readable-stream "^2.0.1" -meow@^3.3.0: +meow@^3.3.0, meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" dependencies: @@ -4416,7 +4537,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" -"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: @@ -4456,6 +4577,13 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mixin-object@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" + dependencies: + for-in "^0.1.3" + is-extendable "^0.1.1" + mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -4520,7 +4648,7 @@ mute-stream@0.0.7: debug "^3.1.0" minijanus "https://github.com/mozilla/minijanus.js#master" -nan@^2.3.0: +nan@^2.3.0, nan@^2.3.2: version "2.9.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.1.tgz#af88fcaee5292992c5b755121ceeaa74536fc228" @@ -4595,6 +4723,24 @@ node-forge@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300" +node-gyp@^3.3.1: + version "3.6.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + node-libs-browser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" @@ -4639,6 +4785,30 @@ node-pre-gyp@^0.6.39: tar "^2.2.1" tar-pack "^3.4.0" +node-sass@^4.7.2: + version "4.7.2" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.7.2.tgz#9366778ba1469eb01438a9e8592f4262bcb6794e" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + lodash.mergewith "^4.6.0" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "~2.79.0" + sass-graph "^2.2.4" + stdout-stream "^1.4.0" + "true-case-path" "^1.0.2" + nomnom@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" @@ -4646,6 +4816,12 @@ nomnom@^1.8.1: chalk "~0.4.0" underscore "~1.6.0" +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -4687,7 +4863,7 @@ npm-run-path@^2.0.0: dependencies: path-key "^2.0.0" -npmlog@^4.0.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -4831,6 +5007,12 @@ os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + os-locale@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" @@ -4847,7 +5029,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.4: +osenv@0, osenv@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" dependencies: @@ -5458,6 +5640,10 @@ qs@6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +qs@~6.3.0: + version "6.3.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.2.tgz#e75bd5f6e268122a2a0e0bda630b2550c166502c" + qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -5797,6 +5983,31 @@ replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" +request@2, request@~2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + request@2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -5961,6 +6172,25 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +sass-graph@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + +sass-loader@^6.0.7: + version "6.0.7" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-6.0.7.tgz#dd2fdb3e7eeff4a53f35ba6ac408715488353d00" + dependencies: + clone-deep "^2.0.1" + loader-utils "^1.0.1" + lodash.tail "^4.1.1" + neo-async "^2.5.0" + pify "^3.0.0" + sax@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -5976,6 +6206,13 @@ scoped-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + sdp@^2.3.0, sdp@^2.6.0: version "2.6.0" resolved "https://registry.yarnpkg.com/sdp/-/sdp-2.6.0.tgz#b5260be98fa55289e925a7badcb46655d868215b" @@ -5994,6 +6231,10 @@ selfsigned@^1.10.2, selfsigned@^1.9.1: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + send@0.16.1: version "0.16.1" resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" @@ -6088,6 +6329,14 @@ sha.js@^2.4.0, sha.js@^2.4.8: inherits "^2.0.1" safe-buffer "^5.0.1" +shallow-clone@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-1.0.0.tgz#4480cd06e882ef68b2ad88a3ea54832e2c48b571" + dependencies: + is-extendable "^0.1.1" + kind-of "^5.0.0" + mixin-object "^2.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -6257,6 +6506,12 @@ source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, sourc version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" +source-map@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -6346,6 +6601,12 @@ static-extend@^0.1.1: version "1.3.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" +stdout-stream@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.0.tgz#a2c7c8587e54d9427ea9edb3ac3f2cd522df378b" + dependencies: + readable-stream "^2.0.1" + stream-browserify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" @@ -6539,7 +6800,7 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar@^2.2.1: +tar@^2.0.0, tar@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -6662,6 +6923,12 @@ trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" +"true-case-path@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.2.tgz#7ec91130924766c7f573be3020c34f8fdfd00d62" + dependencies: + glob "^6.0.4" + tty-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" @@ -6672,6 +6939,10 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -7153,11 +7424,15 @@ whet.extend@~0.9.9: version "0.9.9" resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.14, which@^1.2.9: +which@1, which@^1.2.14, which@^1.2.9: version "1.3.0" resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" dependencies: @@ -7240,6 +7515,12 @@ yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + yargs-parser@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" @@ -7264,6 +7545,24 @@ yargs@9.0.1: y18n "^3.2.1" yargs-parser "^7.0.0" +yargs@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + yargs@~1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" -- GitLab