├── .gitignore
├── LICENSE
├── README.md
├── dist
├── index.html
├── index.js
├── src.7ed060e2.js
└── src.7ed060e2.js.map
├── example
└── index.html
├── package-lock.json
├── package.json
└── src
└── index.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 |
8 | # Runtime data
9 | pids
10 | *.pid
11 | *.seed
12 | *.pid.lock
13 |
14 | # Directory for instrumented libs generated by jscoverage/JSCover
15 | lib-cov
16 |
17 | # Coverage directory used by tools like istanbul
18 | coverage
19 |
20 | # nyc test coverage
21 | .nyc_output
22 |
23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
24 | .grunt
25 |
26 | # Bower dependency directory (https://bower.io/)
27 | bower_components
28 |
29 | # node-waf configuration
30 | .lock-wscript
31 |
32 | # Compiled binary addons (https://nodejs.org/api/addons.html)
33 | build/Release
34 |
35 | # Dependency directories
36 | node_modules/
37 | jspm_packages/
38 |
39 | # TypeScript v1 declaration files
40 | typings/
41 |
42 | # Optional npm cache directory
43 | .npm
44 |
45 | # Optional eslint cache
46 | .eslintcache
47 |
48 | # Optional REPL history
49 | .node_repl_history
50 |
51 | # Output of 'npm pack'
52 | *.tgz
53 |
54 | # Yarn Integrity file
55 | .yarn-integrity
56 |
57 | # dotenv environment variables file
58 | .env
59 |
60 | # next.js build output
61 | .next
62 |
63 | .cache/
64 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 extraymond
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://www.npmjs.com/package/aframe-mouse-dragndrop-component)
2 | [](https://cdn.jsdelivr.net/npm/aframe-mouse-dragndrop-component@1.0.4/dist/index.js)
3 |
4 | # aframe-mouse-dragndrop
5 |
6 | Drag-n-drop entites using mouse cursor.
7 |
8 | ## implementation
9 |
10 | There's a new parameter in cursor component that we can use to monitor mouse interaction.
11 |
12 | ```html
13 |
14 | ```
15 |
16 | Based on this feature, we can intercept the event data emitting by the cursor component. [read more about cursor component](https://aframe.io/docs/0.9.0/components/cursor.html#intersection-data)
17 |
18 | I've sperated this module into two sepearte component, **track-cursor** and **dragndrop**. And use dependencies to chain component startup. [read more about component dependencies](https://aframe.io/docs/0.9.0/core/component.html#dependencies)
19 | So you can add features like animation or hovering effects before draggin it.
20 |
21 | When a draggable component is being hovered by the cursor, it will make the entity into tracking state. You can check it with
22 |
23 | ```js
24 | if (this.el.is("tracking")) {
25 | ...
26 | }
27 | ```
28 |
29 | If a draggable component is being pressed, it will enter the dragging state. Likewise you can check it with:
30 |
31 | ```js
32 | if (this.el.is("dragging")) {
33 | ...
34 | }
35 | ```
36 |
37 | If you want to do some startup/cleanup before entering/exiting these two states, be sure to listener to "stateadded"/"stateremoved" events.
38 |
39 | ## usage
40 |
41 | ```html
42 |
43 | ```
44 |
45 | After adding the component, you can drag and drop it with mouse click.
46 |
47 | ## additional features
48 |
49 | 1. When dragging the entity, look-controls on the camera will be temporary disabled.
50 | 2. You can use mousewheel to send it further/closer when dragging.
51 |
52 | Check out the live demo: [link](https://sassy-piper.glitch.me)
53 |
54 | Appreciate any suggestions or feedback.
55 |
--------------------------------------------------------------------------------
/dist/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/dist/index.js:
--------------------------------------------------------------------------------
1 | parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c numeric require
5 | //
6 | // anything defined in a previous bundle is accessed via the
7 | // orig method which is the require for previous bundles
8 | parcelRequire = (function (modules, cache, entry, globalName) {
9 | // Save the require from previous bundle to this closure if any
10 | var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
11 | var nodeRequire = typeof require === 'function' && require;
12 |
13 | function newRequire(name, jumped) {
14 | if (!cache[name]) {
15 | if (!modules[name]) {
16 | // if we cannot find the module within our internal map or
17 | // cache jump to the current global require ie. the last bundle
18 | // that was added to the page.
19 | var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
20 | if (!jumped && currentRequire) {
21 | return currentRequire(name, true);
22 | }
23 |
24 | // If there are other bundles on this page the require from the
25 | // previous one is saved to 'previousRequire'. Repeat this as
26 | // many times as there are bundles until the module is found or
27 | // we exhaust the require chain.
28 | if (previousRequire) {
29 | return previousRequire(name, true);
30 | }
31 |
32 | // Try the node require function if it exists.
33 | if (nodeRequire && typeof name === 'string') {
34 | return nodeRequire(name);
35 | }
36 |
37 | var err = new Error('Cannot find module \'' + name + '\'');
38 | err.code = 'MODULE_NOT_FOUND';
39 | throw err;
40 | }
41 |
42 | localRequire.resolve = resolve;
43 | localRequire.cache = {};
44 |
45 | var module = cache[name] = new newRequire.Module(name);
46 |
47 | modules[name][0].call(module.exports, localRequire, module, module.exports, this);
48 | }
49 |
50 | return cache[name].exports;
51 |
52 | function localRequire(x){
53 | return newRequire(localRequire.resolve(x));
54 | }
55 |
56 | function resolve(x){
57 | return modules[name][1][x] || x;
58 | }
59 | }
60 |
61 | function Module(moduleName) {
62 | this.id = moduleName;
63 | this.bundle = newRequire;
64 | this.exports = {};
65 | }
66 |
67 | newRequire.isParcelRequire = true;
68 | newRequire.Module = Module;
69 | newRequire.modules = modules;
70 | newRequire.cache = cache;
71 | newRequire.parent = previousRequire;
72 | newRequire.register = function (id, exports) {
73 | modules[id] = [function (require, module) {
74 | module.exports = exports;
75 | }, {}];
76 | };
77 |
78 | var error;
79 | for (var i = 0; i < entry.length; i++) {
80 | try {
81 | newRequire(entry[i]);
82 | } catch (e) {
83 | // Save first error but execute all entries
84 | if (!error) {
85 | error = e;
86 | }
87 | }
88 | }
89 |
90 | if (entry.length) {
91 | // Expose entry point to Node, AMD or browser globals
92 | // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
93 | var mainExports = newRequire(entry[entry.length - 1]);
94 |
95 | // CommonJS
96 | if (typeof exports === "object" && typeof module !== "undefined") {
97 | module.exports = mainExports;
98 |
99 | // RequireJS
100 | } else if (typeof define === "function" && define.amd) {
101 | define(function () {
102 | return mainExports;
103 | });
104 |
105 | //
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aframe-mouse-dragndrop-component",
3 | "version": "1.1.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "acorn": {
8 | "version": "5.7.3",
9 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
10 | "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
11 | "dev": true
12 | },
13 | "aframe": {
14 | "version": "0.9.2",
15 | "resolved": "https://registry.npmjs.org/aframe/-/aframe-0.9.2.tgz",
16 | "integrity": "sha512-Bz/YBRZsQMcQfuZWn71CweESH/L7OHmc1oEB7fryPRb5qQ/XTD5yFeNbtHgR69MFqPOk9ieJNceCO1/kbLO2pg==",
17 | "dev": true,
18 | "requires": {
19 | "browserify-css": "^0.8.4",
20 | "custom-event-polyfill": "^1.0.6",
21 | "debug": "github:ngokevin/debug#noTimestamp",
22 | "deep-assign": "^2.0.0",
23 | "document-register-element": "github:dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90",
24 | "envify": "^3.4.1",
25 | "load-bmfont": "^1.2.3",
26 | "object-assign": "^4.0.1",
27 | "present": "0.0.6",
28 | "promise-polyfill": "^3.1.0",
29 | "style-attr": "^1.0.2",
30 | "super-animejs": "^3.0.0",
31 | "super-three": "^0.102.2",
32 | "three-bmfont-text": "^2.1.0",
33 | "webvr-polyfill": "^0.10.10"
34 | }
35 | },
36 | "amdefine": {
37 | "version": "1.0.1",
38 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
39 | "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
40 | "dev": true
41 | },
42 | "an-array": {
43 | "version": "1.0.0",
44 | "resolved": "https://registry.npmjs.org/an-array/-/an-array-1.0.0.tgz",
45 | "integrity": "sha1-wSWlu4JXd4419LT2qpx9D6nkJmU=",
46 | "dev": true
47 | },
48 | "arr-diff": {
49 | "version": "2.0.0",
50 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
51 | "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
52 | "dev": true,
53 | "requires": {
54 | "arr-flatten": "^1.0.1"
55 | }
56 | },
57 | "arr-flatten": {
58 | "version": "1.1.0",
59 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
60 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
61 | "dev": true
62 | },
63 | "array-shuffle": {
64 | "version": "1.0.1",
65 | "resolved": "https://registry.npmjs.org/array-shuffle/-/array-shuffle-1.0.1.tgz",
66 | "integrity": "sha1-fqSIKjVrS8pfVF4LblLq9tlxVXo=",
67 | "dev": true
68 | },
69 | "array-unique": {
70 | "version": "0.2.1",
71 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
72 | "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
73 | "dev": true
74 | },
75 | "as-number": {
76 | "version": "1.0.0",
77 | "resolved": "https://registry.npmjs.org/as-number/-/as-number-1.0.0.tgz",
78 | "integrity": "sha1-rLJ+NPj52KsNqeN287iVmGD4CmY=",
79 | "dev": true
80 | },
81 | "ast-types": {
82 | "version": "0.9.6",
83 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
84 | "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
85 | "dev": true
86 | },
87 | "balanced-match": {
88 | "version": "1.0.0",
89 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
90 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
91 | "dev": true
92 | },
93 | "base62": {
94 | "version": "1.2.8",
95 | "resolved": "https://registry.npmjs.org/base62/-/base62-1.2.8.tgz",
96 | "integrity": "sha512-V6YHUbjLxN1ymqNLb1DPHoU1CpfdL7d2YTIp5W3U4hhoG4hhxNmsFDs66M9EXxBiSEke5Bt5dwdfMwwZF70iLA==",
97 | "dev": true
98 | },
99 | "brace-expansion": {
100 | "version": "1.1.11",
101 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
102 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
103 | "dev": true,
104 | "requires": {
105 | "balanced-match": "^1.0.0",
106 | "concat-map": "0.0.1"
107 | }
108 | },
109 | "braces": {
110 | "version": "1.8.5",
111 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
112 | "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
113 | "dev": true,
114 | "requires": {
115 | "expand-range": "^1.8.1",
116 | "preserve": "^0.2.0",
117 | "repeat-element": "^1.1.2"
118 | }
119 | },
120 | "browserify-css": {
121 | "version": "0.8.4",
122 | "resolved": "https://registry.npmjs.org/browserify-css/-/browserify-css-0.8.4.tgz",
123 | "integrity": "sha1-Hk4nedy7By0Jvq605vaVAdVE1/M=",
124 | "dev": true,
125 | "requires": {
126 | "clean-css": "2.2.x",
127 | "concat-stream": "1.4.x",
128 | "css": "1.6.x",
129 | "find-node-modules": "^1.0.1",
130 | "lodash": "3.6.x",
131 | "through2": "0.6.x"
132 | }
133 | },
134 | "buffer-equal": {
135 | "version": "0.0.1",
136 | "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
137 | "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=",
138 | "dev": true
139 | },
140 | "buffer-to-arraybuffer": {
141 | "version": "0.0.5",
142 | "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz",
143 | "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=",
144 | "dev": true
145 | },
146 | "cardboard-vr-display": {
147 | "version": "1.0.16",
148 | "resolved": "https://registry.npmjs.org/cardboard-vr-display/-/cardboard-vr-display-1.0.16.tgz",
149 | "integrity": "sha512-GFBWPMH/ixy4Ji014BAO1ryddGHphtJlA8gUR6UdKsOpPjUQukCKpgsx2XIJ5oBlqXnDQOcLVRqBWyuvTI32jQ==",
150 | "dev": true,
151 | "requires": {
152 | "gl-preserve-state": "^1.0.0",
153 | "nosleep.js": "^0.7.0",
154 | "webvr-polyfill-dpdb": "^1.0.11"
155 | }
156 | },
157 | "clean-css": {
158 | "version": "2.2.23",
159 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.2.23.tgz",
160 | "integrity": "sha1-BZC1R4tRbEkD7cLYm9P9vdKGMow=",
161 | "dev": true,
162 | "requires": {
163 | "commander": "2.2.x"
164 | }
165 | },
166 | "commander": {
167 | "version": "2.2.0",
168 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.2.0.tgz",
169 | "integrity": "sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=",
170 | "dev": true
171 | },
172 | "commoner": {
173 | "version": "0.10.8",
174 | "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.8.tgz",
175 | "integrity": "sha1-NPw2cs0kOT6LtH5wyqApOBH08sU=",
176 | "dev": true,
177 | "requires": {
178 | "commander": "^2.5.0",
179 | "detective": "^4.3.1",
180 | "glob": "^5.0.15",
181 | "graceful-fs": "^4.1.2",
182 | "iconv-lite": "^0.4.5",
183 | "mkdirp": "^0.5.0",
184 | "private": "^0.1.6",
185 | "q": "^1.1.2",
186 | "recast": "^0.11.17"
187 | },
188 | "dependencies": {
189 | "commander": {
190 | "version": "2.20.0",
191 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
192 | "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
193 | "dev": true
194 | }
195 | }
196 | },
197 | "concat-map": {
198 | "version": "0.0.1",
199 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
200 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
201 | "dev": true
202 | },
203 | "concat-stream": {
204 | "version": "1.4.11",
205 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.11.tgz",
206 | "integrity": "sha512-X3JMh8+4je3U1cQpG87+f9lXHDrqcb2MVLg9L7o8b1UZ0DzhRrUpdn65ttzu10PpJPPI3MQNkis+oha6TSA9Mw==",
207 | "dev": true,
208 | "requires": {
209 | "inherits": "~2.0.1",
210 | "readable-stream": "~1.1.9",
211 | "typedarray": "~0.0.5"
212 | }
213 | },
214 | "core-util-is": {
215 | "version": "1.0.2",
216 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
217 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
218 | "dev": true
219 | },
220 | "css": {
221 | "version": "1.6.0",
222 | "resolved": "https://registry.npmjs.org/css/-/css-1.6.0.tgz",
223 | "integrity": "sha1-wG//CvuzE/zlvOBw12UxpsjTAKo=",
224 | "dev": true,
225 | "requires": {
226 | "css-parse": "1.7.0",
227 | "css-stringify": "1.4.1"
228 | }
229 | },
230 | "css-parse": {
231 | "version": "1.7.0",
232 | "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
233 | "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
234 | "dev": true
235 | },
236 | "css-stringify": {
237 | "version": "1.4.1",
238 | "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.4.1.tgz",
239 | "integrity": "sha1-JSzL8D9yOgCb3Ydw/n6ydBca/fo=",
240 | "dev": true,
241 | "requires": {
242 | "source-map": "~0.1.31"
243 | }
244 | },
245 | "custom-event-polyfill": {
246 | "version": "1.0.7",
247 | "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
248 | "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==",
249 | "dev": true
250 | },
251 | "debug": {
252 | "version": "github:ngokevin/debug#ef5f8e66d49ce8bc64c6f282c15f8b7164409e3a",
253 | "from": "github:ngokevin/debug#noTimestamp",
254 | "dev": true
255 | },
256 | "decode-uri-component": {
257 | "version": "0.2.0",
258 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
259 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
260 | "dev": true
261 | },
262 | "decompress-response": {
263 | "version": "3.3.0",
264 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
265 | "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
266 | "dev": true,
267 | "requires": {
268 | "mimic-response": "^1.0.0"
269 | }
270 | },
271 | "deep-assign": {
272 | "version": "2.0.0",
273 | "resolved": "https://registry.npmjs.org/deep-assign/-/deep-assign-2.0.0.tgz",
274 | "integrity": "sha1-6+BrHwfwja5ZdiDj3RYi83GhxXI=",
275 | "dev": true,
276 | "requires": {
277 | "is-obj": "^1.0.0"
278 | }
279 | },
280 | "define-properties": {
281 | "version": "1.1.3",
282 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
283 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
284 | "dev": true,
285 | "requires": {
286 | "object-keys": "^1.0.12"
287 | }
288 | },
289 | "defined": {
290 | "version": "1.0.0",
291 | "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
292 | "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
293 | "dev": true
294 | },
295 | "detect-file": {
296 | "version": "0.1.0",
297 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz",
298 | "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=",
299 | "dev": true,
300 | "requires": {
301 | "fs-exists-sync": "^0.1.0"
302 | }
303 | },
304 | "detective": {
305 | "version": "4.7.1",
306 | "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
307 | "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
308 | "dev": true,
309 | "requires": {
310 | "acorn": "^5.2.1",
311 | "defined": "^1.0.0"
312 | }
313 | },
314 | "document-register-element": {
315 | "version": "github:dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90",
316 | "from": "github:dmarcos/document-register-element#8ccc532b7f3744be954574caf3072a5fd260ca90",
317 | "dev": true
318 | },
319 | "dom-walk": {
320 | "version": "0.1.1",
321 | "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
322 | "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=",
323 | "dev": true
324 | },
325 | "dtype": {
326 | "version": "2.0.0",
327 | "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz",
328 | "integrity": "sha1-zQUjI84GFETs0uj1dI9popvihDQ=",
329 | "dev": true
330 | },
331 | "envify": {
332 | "version": "3.4.1",
333 | "resolved": "https://registry.npmjs.org/envify/-/envify-3.4.1.tgz",
334 | "integrity": "sha1-1xIjKejfFoi6dxsSUBkXyc5cvOg=",
335 | "dev": true,
336 | "requires": {
337 | "jstransform": "^11.0.3",
338 | "through": "~2.3.4"
339 | }
340 | },
341 | "es-abstract": {
342 | "version": "1.13.0",
343 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
344 | "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
345 | "dev": true,
346 | "requires": {
347 | "es-to-primitive": "^1.2.0",
348 | "function-bind": "^1.1.1",
349 | "has": "^1.0.3",
350 | "is-callable": "^1.1.4",
351 | "is-regex": "^1.0.4",
352 | "object-keys": "^1.0.12"
353 | }
354 | },
355 | "es-to-primitive": {
356 | "version": "1.2.0",
357 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
358 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
359 | "dev": true,
360 | "requires": {
361 | "is-callable": "^1.1.4",
362 | "is-date-object": "^1.0.1",
363 | "is-symbol": "^1.0.2"
364 | }
365 | },
366 | "esprima-fb": {
367 | "version": "15001.1.0-dev-harmony-fb",
368 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz",
369 | "integrity": "sha1-MKlHMDxrjV6VW+4rmbHSMyBqaQE=",
370 | "dev": true
371 | },
372 | "expand-brackets": {
373 | "version": "0.1.5",
374 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
375 | "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
376 | "dev": true,
377 | "requires": {
378 | "is-posix-bracket": "^0.1.0"
379 | }
380 | },
381 | "expand-range": {
382 | "version": "1.8.2",
383 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
384 | "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
385 | "dev": true,
386 | "requires": {
387 | "fill-range": "^2.1.0"
388 | }
389 | },
390 | "expand-tilde": {
391 | "version": "1.2.2",
392 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
393 | "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
394 | "dev": true,
395 | "requires": {
396 | "os-homedir": "^1.0.1"
397 | }
398 | },
399 | "extglob": {
400 | "version": "0.3.2",
401 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
402 | "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
403 | "dev": true,
404 | "requires": {
405 | "is-extglob": "^1.0.0"
406 | }
407 | },
408 | "filename-regex": {
409 | "version": "2.0.1",
410 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
411 | "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
412 | "dev": true
413 | },
414 | "fill-range": {
415 | "version": "2.2.4",
416 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
417 | "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
418 | "dev": true,
419 | "requires": {
420 | "is-number": "^2.1.0",
421 | "isobject": "^2.0.0",
422 | "randomatic": "^3.0.0",
423 | "repeat-element": "^1.1.2",
424 | "repeat-string": "^1.5.2"
425 | }
426 | },
427 | "find-node-modules": {
428 | "version": "1.0.4",
429 | "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-1.0.4.tgz",
430 | "integrity": "sha1-tt6zzMtpnIcDdne87eLF9YYrJVA=",
431 | "dev": true,
432 | "requires": {
433 | "findup-sync": "0.4.2",
434 | "merge": "^1.2.0"
435 | }
436 | },
437 | "findup-sync": {
438 | "version": "0.4.2",
439 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.2.tgz",
440 | "integrity": "sha1-qBF9D3MST1pFRoOVef5S1xKfteU=",
441 | "dev": true,
442 | "requires": {
443 | "detect-file": "^0.1.0",
444 | "is-glob": "^2.0.1",
445 | "micromatch": "^2.3.7",
446 | "resolve-dir": "^0.1.0"
447 | }
448 | },
449 | "flatten-vertex-data": {
450 | "version": "1.0.2",
451 | "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz",
452 | "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==",
453 | "dev": true,
454 | "requires": {
455 | "dtype": "^2.0.0"
456 | }
457 | },
458 | "for-each": {
459 | "version": "0.3.3",
460 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
461 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
462 | "dev": true,
463 | "requires": {
464 | "is-callable": "^1.1.3"
465 | }
466 | },
467 | "for-in": {
468 | "version": "1.0.2",
469 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
470 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
471 | "dev": true
472 | },
473 | "for-own": {
474 | "version": "0.1.5",
475 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
476 | "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
477 | "dev": true,
478 | "requires": {
479 | "for-in": "^1.0.1"
480 | }
481 | },
482 | "fs-exists-sync": {
483 | "version": "0.1.0",
484 | "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz",
485 | "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=",
486 | "dev": true
487 | },
488 | "function-bind": {
489 | "version": "1.1.1",
490 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
491 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
492 | "dev": true
493 | },
494 | "gl-preserve-state": {
495 | "version": "1.0.0",
496 | "resolved": "https://registry.npmjs.org/gl-preserve-state/-/gl-preserve-state-1.0.0.tgz",
497 | "integrity": "sha512-zQZ25l3haD4hvgJZ6C9+s0ebdkW9y+7U2qxvGu1uWOJh8a4RU+jURIKEQhf8elIlFpMH6CrAY2tH0mYrRjet3Q==",
498 | "dev": true
499 | },
500 | "glob": {
501 | "version": "5.0.15",
502 | "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
503 | "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
504 | "dev": true,
505 | "requires": {
506 | "inflight": "^1.0.4",
507 | "inherits": "2",
508 | "minimatch": "2 || 3",
509 | "once": "^1.3.0",
510 | "path-is-absolute": "^1.0.0"
511 | }
512 | },
513 | "glob-base": {
514 | "version": "0.3.0",
515 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
516 | "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
517 | "dev": true,
518 | "requires": {
519 | "glob-parent": "^2.0.0",
520 | "is-glob": "^2.0.0"
521 | }
522 | },
523 | "glob-parent": {
524 | "version": "2.0.0",
525 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
526 | "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
527 | "dev": true,
528 | "requires": {
529 | "is-glob": "^2.0.0"
530 | }
531 | },
532 | "global": {
533 | "version": "4.3.2",
534 | "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
535 | "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
536 | "dev": true,
537 | "requires": {
538 | "min-document": "^2.19.0",
539 | "process": "~0.5.1"
540 | }
541 | },
542 | "global-modules": {
543 | "version": "0.2.3",
544 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
545 | "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
546 | "dev": true,
547 | "requires": {
548 | "global-prefix": "^0.1.4",
549 | "is-windows": "^0.2.0"
550 | }
551 | },
552 | "global-prefix": {
553 | "version": "0.1.5",
554 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
555 | "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
556 | "dev": true,
557 | "requires": {
558 | "homedir-polyfill": "^1.0.0",
559 | "ini": "^1.3.4",
560 | "is-windows": "^0.2.0",
561 | "which": "^1.2.12"
562 | }
563 | },
564 | "graceful-fs": {
565 | "version": "4.2.0",
566 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz",
567 | "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==",
568 | "dev": true
569 | },
570 | "has": {
571 | "version": "1.0.3",
572 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
573 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
574 | "dev": true,
575 | "requires": {
576 | "function-bind": "^1.1.1"
577 | }
578 | },
579 | "has-symbols": {
580 | "version": "1.0.0",
581 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
582 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
583 | "dev": true
584 | },
585 | "homedir-polyfill": {
586 | "version": "1.0.3",
587 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
588 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
589 | "dev": true,
590 | "requires": {
591 | "parse-passwd": "^1.0.0"
592 | }
593 | },
594 | "iconv-lite": {
595 | "version": "0.4.24",
596 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
597 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
598 | "dev": true,
599 | "requires": {
600 | "safer-buffer": ">= 2.1.2 < 3"
601 | }
602 | },
603 | "inflight": {
604 | "version": "1.0.6",
605 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
606 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
607 | "dev": true,
608 | "requires": {
609 | "once": "^1.3.0",
610 | "wrappy": "1"
611 | }
612 | },
613 | "inherits": {
614 | "version": "2.0.4",
615 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
616 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
617 | "dev": true
618 | },
619 | "ini": {
620 | "version": "1.3.5",
621 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
622 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
623 | "dev": true
624 | },
625 | "is-buffer": {
626 | "version": "1.1.6",
627 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
628 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
629 | "dev": true
630 | },
631 | "is-callable": {
632 | "version": "1.1.4",
633 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
634 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
635 | "dev": true
636 | },
637 | "is-date-object": {
638 | "version": "1.0.1",
639 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
640 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
641 | "dev": true
642 | },
643 | "is-dotfile": {
644 | "version": "1.0.3",
645 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
646 | "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
647 | "dev": true
648 | },
649 | "is-equal-shallow": {
650 | "version": "0.1.3",
651 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
652 | "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
653 | "dev": true,
654 | "requires": {
655 | "is-primitive": "^2.0.0"
656 | }
657 | },
658 | "is-extendable": {
659 | "version": "0.1.1",
660 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
661 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
662 | "dev": true
663 | },
664 | "is-extglob": {
665 | "version": "1.0.0",
666 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
667 | "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
668 | "dev": true
669 | },
670 | "is-function": {
671 | "version": "1.0.1",
672 | "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
673 | "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=",
674 | "dev": true
675 | },
676 | "is-glob": {
677 | "version": "2.0.1",
678 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
679 | "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
680 | "dev": true,
681 | "requires": {
682 | "is-extglob": "^1.0.0"
683 | }
684 | },
685 | "is-number": {
686 | "version": "2.1.0",
687 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
688 | "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
689 | "dev": true,
690 | "requires": {
691 | "kind-of": "^3.0.2"
692 | }
693 | },
694 | "is-obj": {
695 | "version": "1.0.1",
696 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
697 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
698 | "dev": true
699 | },
700 | "is-posix-bracket": {
701 | "version": "0.1.1",
702 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
703 | "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
704 | "dev": true
705 | },
706 | "is-primitive": {
707 | "version": "2.0.0",
708 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
709 | "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
710 | "dev": true
711 | },
712 | "is-regex": {
713 | "version": "1.0.4",
714 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
715 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
716 | "dev": true,
717 | "requires": {
718 | "has": "^1.0.1"
719 | }
720 | },
721 | "is-symbol": {
722 | "version": "1.0.2",
723 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
724 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
725 | "dev": true,
726 | "requires": {
727 | "has-symbols": "^1.0.0"
728 | }
729 | },
730 | "is-windows": {
731 | "version": "0.2.0",
732 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz",
733 | "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=",
734 | "dev": true
735 | },
736 | "isarray": {
737 | "version": "0.0.1",
738 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
739 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
740 | "dev": true
741 | },
742 | "isexe": {
743 | "version": "2.0.0",
744 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
745 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
746 | "dev": true
747 | },
748 | "isobject": {
749 | "version": "2.1.0",
750 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
751 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
752 | "dev": true,
753 | "requires": {
754 | "isarray": "1.0.0"
755 | },
756 | "dependencies": {
757 | "isarray": {
758 | "version": "1.0.0",
759 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
760 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
761 | "dev": true
762 | }
763 | }
764 | },
765 | "jstransform": {
766 | "version": "11.0.3",
767 | "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz",
768 | "integrity": "sha1-CaeJk+CuTU70SH9hVakfYZDLQiM=",
769 | "dev": true,
770 | "requires": {
771 | "base62": "^1.1.0",
772 | "commoner": "^0.10.1",
773 | "esprima-fb": "^15001.1.0-dev-harmony-fb",
774 | "object-assign": "^2.0.0",
775 | "source-map": "^0.4.2"
776 | },
777 | "dependencies": {
778 | "object-assign": {
779 | "version": "2.1.1",
780 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
781 | "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=",
782 | "dev": true
783 | },
784 | "source-map": {
785 | "version": "0.4.4",
786 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
787 | "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
788 | "dev": true,
789 | "requires": {
790 | "amdefine": ">=0.0.4"
791 | }
792 | }
793 | }
794 | },
795 | "kind-of": {
796 | "version": "3.2.2",
797 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
798 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
799 | "dev": true,
800 | "requires": {
801 | "is-buffer": "^1.1.5"
802 | }
803 | },
804 | "layout-bmfont-text": {
805 | "version": "1.3.4",
806 | "resolved": "https://registry.npmjs.org/layout-bmfont-text/-/layout-bmfont-text-1.3.4.tgz",
807 | "integrity": "sha1-8g8sVGR3T0jabOipl/vObUaUW4E=",
808 | "dev": true,
809 | "requires": {
810 | "as-number": "^1.0.0",
811 | "word-wrapper": "^1.0.7",
812 | "xtend": "^4.0.0"
813 | }
814 | },
815 | "load-bmfont": {
816 | "version": "1.4.0",
817 | "resolved": "https://registry.npmjs.org/load-bmfont/-/load-bmfont-1.4.0.tgz",
818 | "integrity": "sha512-kT63aTAlNhZARowaNYcY29Fn/QYkc52M3l6V1ifRcPewg2lvUZDAj7R6dXjOL9D0sict76op3T5+odumDSF81g==",
819 | "dev": true,
820 | "requires": {
821 | "buffer-equal": "0.0.1",
822 | "mime": "^1.3.4",
823 | "parse-bmfont-ascii": "^1.0.3",
824 | "parse-bmfont-binary": "^1.0.5",
825 | "parse-bmfont-xml": "^1.1.4",
826 | "phin": "^2.9.1",
827 | "xhr": "^2.0.1",
828 | "xtend": "^4.0.0"
829 | }
830 | },
831 | "lodash": {
832 | "version": "3.6.0",
833 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.6.0.tgz",
834 | "integrity": "sha1-Umao9J3Zib5Pn2gbbyoMVShdDZo=",
835 | "dev": true
836 | },
837 | "map-limit": {
838 | "version": "0.0.1",
839 | "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz",
840 | "integrity": "sha1-63lhAxwPDo0AG/LVb6toXViCLzg=",
841 | "dev": true,
842 | "requires": {
843 | "once": "~1.3.0"
844 | },
845 | "dependencies": {
846 | "once": {
847 | "version": "1.3.3",
848 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
849 | "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
850 | "dev": true,
851 | "requires": {
852 | "wrappy": "1"
853 | }
854 | }
855 | }
856 | },
857 | "math-random": {
858 | "version": "1.0.4",
859 | "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
860 | "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
861 | "dev": true
862 | },
863 | "merge": {
864 | "version": "1.2.1",
865 | "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
866 | "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==",
867 | "dev": true
868 | },
869 | "micromatch": {
870 | "version": "2.3.11",
871 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
872 | "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
873 | "dev": true,
874 | "requires": {
875 | "arr-diff": "^2.0.0",
876 | "array-unique": "^0.2.1",
877 | "braces": "^1.8.2",
878 | "expand-brackets": "^0.1.4",
879 | "extglob": "^0.3.1",
880 | "filename-regex": "^2.0.0",
881 | "is-extglob": "^1.0.0",
882 | "is-glob": "^2.0.1",
883 | "kind-of": "^3.0.2",
884 | "normalize-path": "^2.0.1",
885 | "object.omit": "^2.0.0",
886 | "parse-glob": "^3.0.4",
887 | "regex-cache": "^0.4.2"
888 | }
889 | },
890 | "mime": {
891 | "version": "1.6.0",
892 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
893 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
894 | "dev": true
895 | },
896 | "mimic-response": {
897 | "version": "1.0.1",
898 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
899 | "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
900 | "dev": true
901 | },
902 | "min-document": {
903 | "version": "2.19.0",
904 | "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
905 | "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
906 | "dev": true,
907 | "requires": {
908 | "dom-walk": "^0.1.0"
909 | }
910 | },
911 | "minimatch": {
912 | "version": "3.0.4",
913 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
914 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
915 | "dev": true,
916 | "requires": {
917 | "brace-expansion": "^1.1.7"
918 | }
919 | },
920 | "minimist": {
921 | "version": "0.0.8",
922 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
923 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
924 | "dev": true
925 | },
926 | "mkdirp": {
927 | "version": "0.5.1",
928 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
929 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
930 | "dev": true,
931 | "requires": {
932 | "minimist": "0.0.8"
933 | }
934 | },
935 | "new-array": {
936 | "version": "1.0.0",
937 | "resolved": "https://registry.npmjs.org/new-array/-/new-array-1.0.0.tgz",
938 | "integrity": "sha1-XbxjnZYerH8an7wacUbsEvKST78=",
939 | "dev": true
940 | },
941 | "nice-color-palettes": {
942 | "version": "1.0.1",
943 | "resolved": "https://registry.npmjs.org/nice-color-palettes/-/nice-color-palettes-1.0.1.tgz",
944 | "integrity": "sha1-h16gHchu+uf1leBmqLJmDnIGBT4=",
945 | "dev": true,
946 | "requires": {
947 | "map-limit": "0.0.1",
948 | "minimist": "^1.2.0",
949 | "new-array": "^1.0.0",
950 | "xhr-request": "^1.0.1"
951 | },
952 | "dependencies": {
953 | "minimist": {
954 | "version": "1.2.0",
955 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
956 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
957 | "dev": true
958 | }
959 | }
960 | },
961 | "normalize-path": {
962 | "version": "2.1.1",
963 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
964 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
965 | "dev": true,
966 | "requires": {
967 | "remove-trailing-separator": "^1.0.1"
968 | }
969 | },
970 | "nosleep.js": {
971 | "version": "0.7.0",
972 | "resolved": "https://registry.npmjs.org/nosleep.js/-/nosleep.js-0.7.0.tgz",
973 | "integrity": "sha1-z9kZwlUjyg0PSmn7MwXAg62u4ok=",
974 | "dev": true
975 | },
976 | "object-assign": {
977 | "version": "4.1.1",
978 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
979 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
980 | "dev": true
981 | },
982 | "object-keys": {
983 | "version": "1.1.1",
984 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
985 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
986 | "dev": true
987 | },
988 | "object.omit": {
989 | "version": "2.0.1",
990 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
991 | "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
992 | "dev": true,
993 | "requires": {
994 | "for-own": "^0.1.4",
995 | "is-extendable": "^0.1.1"
996 | }
997 | },
998 | "once": {
999 | "version": "1.4.0",
1000 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1001 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1002 | "dev": true,
1003 | "requires": {
1004 | "wrappy": "1"
1005 | }
1006 | },
1007 | "os-homedir": {
1008 | "version": "1.0.2",
1009 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1010 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
1011 | "dev": true
1012 | },
1013 | "parse-bmfont-ascii": {
1014 | "version": "1.0.6",
1015 | "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
1016 | "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=",
1017 | "dev": true
1018 | },
1019 | "parse-bmfont-binary": {
1020 | "version": "1.0.6",
1021 | "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
1022 | "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=",
1023 | "dev": true
1024 | },
1025 | "parse-bmfont-xml": {
1026 | "version": "1.1.4",
1027 | "resolved": "https://registry.npmjs.org/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz",
1028 | "integrity": "sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==",
1029 | "dev": true,
1030 | "requires": {
1031 | "xml-parse-from-string": "^1.0.0",
1032 | "xml2js": "^0.4.5"
1033 | }
1034 | },
1035 | "parse-glob": {
1036 | "version": "3.0.4",
1037 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
1038 | "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
1039 | "dev": true,
1040 | "requires": {
1041 | "glob-base": "^0.3.0",
1042 | "is-dotfile": "^1.0.0",
1043 | "is-extglob": "^1.0.0",
1044 | "is-glob": "^2.0.0"
1045 | }
1046 | },
1047 | "parse-headers": {
1048 | "version": "2.0.2",
1049 | "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.2.tgz",
1050 | "integrity": "sha512-/LypJhzFmyBIDYP9aDVgeyEb5sQfbfY5mnDq4hVhlQ69js87wXfmEI5V3xI6vvXasqebp0oCytYFLxsBVfCzSg==",
1051 | "dev": true,
1052 | "requires": {
1053 | "for-each": "^0.3.3",
1054 | "string.prototype.trim": "^1.1.2"
1055 | }
1056 | },
1057 | "parse-passwd": {
1058 | "version": "1.0.0",
1059 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
1060 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
1061 | "dev": true
1062 | },
1063 | "path-is-absolute": {
1064 | "version": "1.0.1",
1065 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1066 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1067 | "dev": true
1068 | },
1069 | "phin": {
1070 | "version": "2.9.3",
1071 | "resolved": "https://registry.npmjs.org/phin/-/phin-2.9.3.tgz",
1072 | "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==",
1073 | "dev": true
1074 | },
1075 | "present": {
1076 | "version": "0.0.6",
1077 | "resolved": "https://registry.npmjs.org/present/-/present-0.0.6.tgz",
1078 | "integrity": "sha1-nu/3ANqp6ZhhM1Lkf3rCMk1PrwI=",
1079 | "dev": true
1080 | },
1081 | "preserve": {
1082 | "version": "0.2.0",
1083 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
1084 | "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
1085 | "dev": true
1086 | },
1087 | "private": {
1088 | "version": "0.1.8",
1089 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
1090 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
1091 | "dev": true
1092 | },
1093 | "process": {
1094 | "version": "0.5.2",
1095 | "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
1096 | "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
1097 | "dev": true
1098 | },
1099 | "promise-polyfill": {
1100 | "version": "3.1.0",
1101 | "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-3.1.0.tgz",
1102 | "integrity": "sha1-YpUrAdBZsRW0MnY7fvRhuA9t9H0=",
1103 | "dev": true
1104 | },
1105 | "q": {
1106 | "version": "1.5.1",
1107 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
1108 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
1109 | "dev": true
1110 | },
1111 | "quad-indices": {
1112 | "version": "2.0.1",
1113 | "resolved": "https://registry.npmjs.org/quad-indices/-/quad-indices-2.0.1.tgz",
1114 | "integrity": "sha1-ppQdiaE9Y+7WwdSlpiGgRjYXqBQ=",
1115 | "dev": true,
1116 | "requires": {
1117 | "an-array": "^1.0.0",
1118 | "dtype": "^2.0.0",
1119 | "is-buffer": "^1.0.2"
1120 | }
1121 | },
1122 | "query-string": {
1123 | "version": "5.1.1",
1124 | "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
1125 | "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
1126 | "dev": true,
1127 | "requires": {
1128 | "decode-uri-component": "^0.2.0",
1129 | "object-assign": "^4.1.0",
1130 | "strict-uri-encode": "^1.0.0"
1131 | }
1132 | },
1133 | "randomatic": {
1134 | "version": "3.1.1",
1135 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
1136 | "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
1137 | "dev": true,
1138 | "requires": {
1139 | "is-number": "^4.0.0",
1140 | "kind-of": "^6.0.0",
1141 | "math-random": "^1.0.1"
1142 | },
1143 | "dependencies": {
1144 | "is-number": {
1145 | "version": "4.0.0",
1146 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
1147 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
1148 | "dev": true
1149 | },
1150 | "kind-of": {
1151 | "version": "6.0.2",
1152 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
1153 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
1154 | "dev": true
1155 | }
1156 | }
1157 | },
1158 | "readable-stream": {
1159 | "version": "1.1.14",
1160 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
1161 | "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
1162 | "dev": true,
1163 | "requires": {
1164 | "core-util-is": "~1.0.0",
1165 | "inherits": "~2.0.1",
1166 | "isarray": "0.0.1",
1167 | "string_decoder": "~0.10.x"
1168 | }
1169 | },
1170 | "recast": {
1171 | "version": "0.11.23",
1172 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
1173 | "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
1174 | "dev": true,
1175 | "requires": {
1176 | "ast-types": "0.9.6",
1177 | "esprima": "~3.1.0",
1178 | "private": "~0.1.5",
1179 | "source-map": "~0.5.0"
1180 | },
1181 | "dependencies": {
1182 | "esprima": {
1183 | "version": "3.1.3",
1184 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
1185 | "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
1186 | "dev": true
1187 | },
1188 | "source-map": {
1189 | "version": "0.5.7",
1190 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1191 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1192 | "dev": true
1193 | }
1194 | }
1195 | },
1196 | "regex-cache": {
1197 | "version": "0.4.4",
1198 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
1199 | "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
1200 | "dev": true,
1201 | "requires": {
1202 | "is-equal-shallow": "^0.1.3"
1203 | }
1204 | },
1205 | "remove-trailing-separator": {
1206 | "version": "1.1.0",
1207 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
1208 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
1209 | "dev": true
1210 | },
1211 | "repeat-element": {
1212 | "version": "1.1.3",
1213 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1214 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
1215 | "dev": true
1216 | },
1217 | "repeat-string": {
1218 | "version": "1.6.1",
1219 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1220 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
1221 | "dev": true
1222 | },
1223 | "resolve-dir": {
1224 | "version": "0.1.1",
1225 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
1226 | "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
1227 | "dev": true,
1228 | "requires": {
1229 | "expand-tilde": "^1.2.2",
1230 | "global-modules": "^0.2.3"
1231 | }
1232 | },
1233 | "safer-buffer": {
1234 | "version": "2.1.2",
1235 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1236 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1237 | "dev": true
1238 | },
1239 | "sax": {
1240 | "version": "1.2.4",
1241 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
1242 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
1243 | "dev": true
1244 | },
1245 | "simple-concat": {
1246 | "version": "1.0.0",
1247 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
1248 | "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
1249 | "dev": true
1250 | },
1251 | "simple-get": {
1252 | "version": "2.8.1",
1253 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
1254 | "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
1255 | "dev": true,
1256 | "requires": {
1257 | "decompress-response": "^3.3.0",
1258 | "once": "^1.3.1",
1259 | "simple-concat": "^1.0.0"
1260 | }
1261 | },
1262 | "source-map": {
1263 | "version": "0.1.43",
1264 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
1265 | "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
1266 | "dev": true,
1267 | "requires": {
1268 | "amdefine": ">=0.0.4"
1269 | }
1270 | },
1271 | "strict-uri-encode": {
1272 | "version": "1.1.0",
1273 | "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
1274 | "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
1275 | "dev": true
1276 | },
1277 | "string.prototype.trim": {
1278 | "version": "1.2.0",
1279 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.0.tgz",
1280 | "integrity": "sha512-9EIjYD/WdlvLpn987+ctkLf0FfvBefOCuiEr2henD8X+7jfwPnyvTdmW8OJhj5p+M0/96mBdynLWkxUr+rHlpg==",
1281 | "dev": true,
1282 | "requires": {
1283 | "define-properties": "^1.1.3",
1284 | "es-abstract": "^1.13.0",
1285 | "function-bind": "^1.1.1"
1286 | }
1287 | },
1288 | "string_decoder": {
1289 | "version": "0.10.31",
1290 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
1291 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
1292 | "dev": true
1293 | },
1294 | "style-attr": {
1295 | "version": "1.3.0",
1296 | "resolved": "https://registry.npmjs.org/style-attr/-/style-attr-1.3.0.tgz",
1297 | "integrity": "sha512-srFr54gzEZoy73WgYfnbxCAtNCzF0Hn5RGzK7gi/0G6ttZd9v3WZFGY4ed5ABr43dbGjPNr4T46geUxxUP9i6w==",
1298 | "dev": true
1299 | },
1300 | "super-animejs": {
1301 | "version": "3.1.0",
1302 | "resolved": "https://registry.npmjs.org/super-animejs/-/super-animejs-3.1.0.tgz",
1303 | "integrity": "sha512-6MFAFJDRuvwkovxQZPruuyHinTa4rgj4hNLOndjcYYhZLckoXtVRY9rJPuq8p6c/tgZJrFYEAYAfJ2/hhNtUCA==",
1304 | "dev": true
1305 | },
1306 | "super-three": {
1307 | "version": "0.102.2",
1308 | "resolved": "https://registry.npmjs.org/super-three/-/super-three-0.102.2.tgz",
1309 | "integrity": "sha512-VRFEVE1HB8mAf8tm7UL5kcqvQYrhWbzhpwswCot49hhBPJcwcjTSbIpQ824WpcKv/WyV1V6+mnl8GhT19tzTVA==",
1310 | "dev": true
1311 | },
1312 | "three-bmfont-text": {
1313 | "version": "2.3.0",
1314 | "resolved": "https://registry.npmjs.org/three-bmfont-text/-/three-bmfont-text-2.3.0.tgz",
1315 | "integrity": "sha512-HG6QHR129cNMGBhMgLsyKJiNW5r2XI+2P1JyjJl/9+D1e0iySzVZl3r8peTFpoJzPODl5Ckb8nu0U1zWjc6dNg==",
1316 | "dev": true,
1317 | "requires": {
1318 | "array-shuffle": "^1.0.1",
1319 | "inherits": "^2.0.1",
1320 | "layout-bmfont-text": "^1.2.0",
1321 | "nice-color-palettes": "^1.0.1",
1322 | "object-assign": "^4.0.1",
1323 | "quad-indices": "^2.0.1",
1324 | "three-buffer-vertex-data": "^1.0.0"
1325 | }
1326 | },
1327 | "three-buffer-vertex-data": {
1328 | "version": "1.1.0",
1329 | "resolved": "https://registry.npmjs.org/three-buffer-vertex-data/-/three-buffer-vertex-data-1.1.0.tgz",
1330 | "integrity": "sha1-zyKOeEJ2ZYhLlhpMq+H4XtOfgrE=",
1331 | "dev": true,
1332 | "requires": {
1333 | "flatten-vertex-data": "^1.0.0"
1334 | }
1335 | },
1336 | "through": {
1337 | "version": "2.3.8",
1338 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1339 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1340 | "dev": true
1341 | },
1342 | "through2": {
1343 | "version": "0.6.5",
1344 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
1345 | "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
1346 | "dev": true,
1347 | "requires": {
1348 | "readable-stream": ">=1.0.33-1 <1.1.0-0",
1349 | "xtend": ">=4.0.0 <4.1.0-0"
1350 | },
1351 | "dependencies": {
1352 | "readable-stream": {
1353 | "version": "1.0.34",
1354 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
1355 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
1356 | "dev": true,
1357 | "requires": {
1358 | "core-util-is": "~1.0.0",
1359 | "inherits": "~2.0.1",
1360 | "isarray": "0.0.1",
1361 | "string_decoder": "~0.10.x"
1362 | }
1363 | }
1364 | }
1365 | },
1366 | "timed-out": {
1367 | "version": "4.0.1",
1368 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
1369 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=",
1370 | "dev": true
1371 | },
1372 | "typedarray": {
1373 | "version": "0.0.6",
1374 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1375 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
1376 | "dev": true
1377 | },
1378 | "url-set-query": {
1379 | "version": "1.0.0",
1380 | "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz",
1381 | "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk=",
1382 | "dev": true
1383 | },
1384 | "webvr-polyfill": {
1385 | "version": "0.10.10",
1386 | "resolved": "https://registry.npmjs.org/webvr-polyfill/-/webvr-polyfill-0.10.10.tgz",
1387 | "integrity": "sha512-WdKQ1XR9X2Gj9RUtmr+DajvWBWPva75m1rm0Z7CibR7ZstCm913zHYToxw0p/EK342wAxGfiWKsBmb3Jd5OO0w==",
1388 | "dev": true,
1389 | "requires": {
1390 | "cardboard-vr-display": "^1.0.16"
1391 | }
1392 | },
1393 | "webvr-polyfill-dpdb": {
1394 | "version": "1.0.16",
1395 | "resolved": "https://registry.npmjs.org/webvr-polyfill-dpdb/-/webvr-polyfill-dpdb-1.0.16.tgz",
1396 | "integrity": "sha512-FCciTtPhwkYYHGL0K67G8k7ZnNVqnEx3u4NVHLJ0+Ya6f2VTZUl/GJpaEo1Id2pBP/2l0RYZ3IGZE4Pe8fRalg==",
1397 | "dev": true
1398 | },
1399 | "which": {
1400 | "version": "1.3.1",
1401 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1402 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1403 | "dev": true,
1404 | "requires": {
1405 | "isexe": "^2.0.0"
1406 | }
1407 | },
1408 | "word-wrapper": {
1409 | "version": "1.0.7",
1410 | "resolved": "https://registry.npmjs.org/word-wrapper/-/word-wrapper-1.0.7.tgz",
1411 | "integrity": "sha1-HxSv6/Zt/fD+9V79NxhO+9CMKLY=",
1412 | "dev": true
1413 | },
1414 | "wrappy": {
1415 | "version": "1.0.2",
1416 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1417 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1418 | "dev": true
1419 | },
1420 | "xhr": {
1421 | "version": "2.5.0",
1422 | "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz",
1423 | "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==",
1424 | "dev": true,
1425 | "requires": {
1426 | "global": "~4.3.0",
1427 | "is-function": "^1.0.1",
1428 | "parse-headers": "^2.0.0",
1429 | "xtend": "^4.0.0"
1430 | }
1431 | },
1432 | "xhr-request": {
1433 | "version": "1.1.0",
1434 | "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz",
1435 | "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==",
1436 | "dev": true,
1437 | "requires": {
1438 | "buffer-to-arraybuffer": "^0.0.5",
1439 | "object-assign": "^4.1.1",
1440 | "query-string": "^5.0.1",
1441 | "simple-get": "^2.7.0",
1442 | "timed-out": "^4.0.1",
1443 | "url-set-query": "^1.0.0",
1444 | "xhr": "^2.0.4"
1445 | }
1446 | },
1447 | "xml-parse-from-string": {
1448 | "version": "1.0.1",
1449 | "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
1450 | "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=",
1451 | "dev": true
1452 | },
1453 | "xml2js": {
1454 | "version": "0.4.19",
1455 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
1456 | "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
1457 | "dev": true,
1458 | "requires": {
1459 | "sax": ">=0.6.0",
1460 | "xmlbuilder": "~9.0.1"
1461 | }
1462 | },
1463 | "xmlbuilder": {
1464 | "version": "9.0.7",
1465 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
1466 | "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
1467 | "dev": true
1468 | },
1469 | "xtend": {
1470 | "version": "4.0.2",
1471 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1472 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1473 | "dev": true
1474 | }
1475 | }
1476 | }
1477 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "aframe-mouse-dragndrop-component",
3 | "version": "1.1.0",
4 | "description": "Drag-n-drop entites using mouse cursor.",
5 | "keywords": [
6 | "aframe",
7 | "drag-n-drop",
8 | "aframe-vr",
9 | "webvr",
10 | "aframe-component"
11 | ],
12 | "homepage": "https://github.com/extraymond/aframe-mouse-dragndrop",
13 | "repository": "extraymond/aframe-mouse-dragndrop",
14 | "main": "src/index.js",
15 | "scripts": {
16 | "test": "parcel example/index.html",
17 | "build": "parcel build src/index.js --no-source-maps"
18 | },
19 | "author": "Raymond Yeh ",
20 | "license": "MIT",
21 | "dependencies": {},
22 | "devDependencies": {
23 | "aframe": "^0.9.2"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | if (window.AFRAME == null) {
2 | console.error("aframe not found, please import it before this component.")
3 | }
4 |
5 | AFRAME.registerSystem("track-cursor", {
6 | init: function() {
7 | this.el.setAttribute("cursor", { rayOrigin: "mouse" });
8 | }
9 | });
10 |
11 | AFRAME.registerComponent("track-cursor", {
12 | init: function() {
13 | this.el.addEventListener("mousedown", e => {
14 | if (this.el.is("cursor-hovered")) {
15 | this.el.sceneEl.camera.el.setAttribute("look-controls", {
16 | enabled: false
17 | });
18 | this.el.addState("dragging");
19 | }
20 | })
21 | this.el.addEventListener("click", e => {
22 | if (this.el.is("dragging")) {
23 | this.el.sceneEl.camera.el.setAttribute("look-controls", {
24 | enabled: true
25 | });
26 | this.el.removeState("dragging");
27 | }
28 | })
29 | },
30 | });
31 |
32 | AFRAME.registerComponent("dragndrop", {
33 | dependencies: ["track-cursor"],
34 | init: function() {
35 | this.range = 0;
36 | this.dist = 0;
37 |
38 | this.el.addEventListener("stateadded", e => {
39 | if (e.detail == "dragging") {
40 | this.range = 0;
41 | this.dist = this.el.object3D.position
42 | .clone()
43 | .sub(this.el.sceneEl.camera.el.object3D.position)
44 | .length();
45 | }
46 | })
47 |
48 | this.direction = new AFRAME.THREE.Vector3();
49 | this.target = new AFRAME.THREE.Vector3();
50 | document.addEventListener("wheel", e => {
51 | if (e.deltaY < 0) {
52 | this.range += 0.1;
53 | } else {
54 | this.range -= 0.1;
55 | }
56 | });
57 | },
58 | updateDirection: function() {
59 | this.direction.copy(this.el.sceneEl.getAttribute("raycaster").direction);
60 | },
61 | updateTarget: function() {
62 | let camera = this.el.sceneEl.camera.el
63 | this.target.copy(
64 | camera.object3D.position
65 | .clone()
66 | .add(this.direction.clone().multiplyScalar(this.dist + this.range))
67 | );
68 | },
69 | tick: function() {
70 | if (this.el.is("dragging")) {
71 | this.updateDirection();
72 | this.updateTarget();
73 | this.el.object3D.position.copy(this.target);
74 | }
75 | }
76 | });
77 |
--------------------------------------------------------------------------------