diff --git a/css/animation2.scss b/css/animation2.scss
deleted file mode 100644
index 678514c..0000000
--- a/css/animation2.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-.anim2-particle {
- $side: 100px;
-
- background: url('../res/seahorse.svg') no-repeat center center;
- background-size: 20px 20px;
- border-color: salmon;
- border-style: dashed;
- border-radius: 50px;
- border-width: 1px;
- height: $side;
- position: absolute;
- width: $side;
-}
diff --git a/css/animation5.scss b/css/animation5.scss
deleted file mode 100644
index e2ca28d..0000000
--- a/css/animation5.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-.anim3-particle {
- $side: 20px;
-
- background: url('../res/seahorse.svg') no-repeat center top #aaa;
- background-size: 20px 20px;
- border-color: purple;
- color: #fff;
- // border-style: dashed;
- border-radius: $side / 2;
- // border-width: 1px;
- height: $side;
- line-height: $side;
- position: absolute;
- text-align: center;
- width: $side;
-
- &.scared {
- background: #f00;
- }
-}
diff --git a/css/index.scss b/css/index.scss
index 5921300..be39488 100644
--- a/css/index.scss
+++ b/css/index.scss
@@ -3,41 +3,42 @@
// background: url('../res/seigaiha.svg');
// background-size: 100px 50px;
// border-radius: 50px;
- box-shadow: 2px 2px 0 #aaa;
- height: 600px;
+ // box-shadow: 2px 2px 0 #aaa;
+ height: 400px;
margin: 10px auto;
+ overflow: hidden;
position: relative;
- width: 600px;
-}
-
-.palette {
- background: url('../res/palette.svg');
- background-size: 167px 100px;
- height: 100px;
- position: absolute;
- width: 167px;
-}
-
-.highlight {
- $h: 30px;
- animation: pulse 0.5s 1;
- border-radius: $h / 2;
- position: absolute;
-}
-
-@keyframes pulse {
- $h: 30px;
-
- from {
- border: 4px solid lightgreen;
- height: $h;
- margin: (-1 * $h / 2) 0 0 (-1 * $h / 2);
- width: $h;
- }
-
- to {
- height: 0px;
- margin: 0;
- width: 0px;
- }
+ width: 90%;
}
+//
+// .palette {
+// background: url('../res/palette.svg');
+// background-size: 167px 100px;
+// height: 100px;
+// position: absolute;
+// width: 167px;
+// }
+//
+// .highlight {
+// $h: 30px;
+// animation: pulse 0.5s 1;
+// border-radius: $h / 2;
+// position: absolute;
+// }
+//
+// @keyframes pulse {
+// $h: 30px;
+//
+// from {
+// border: 4px solid lightgreen;
+// height: $h;
+// margin: (-1 * $h / 2) 0 0 (-1 * $h / 2);
+// width: $h;
+// }
+//
+// to {
+// height: 0px;
+// margin: 0;
+// width: 0px;
+// }
+// }
diff --git a/css/animation3.scss b/css/particle.scss
similarity index 64%
rename from css/animation3.scss
rename to css/particle.scss
index 413b813..e128bd4 100644
--- a/css/animation3.scss
+++ b/css/particle.scss
@@ -1,4 +1,4 @@
-.anim3-particle {
+.particle {
$side: 20px;
background: url('../res/seahorse.svg') no-repeat center center #aaa;
@@ -13,7 +13,7 @@
width: $side;
z-index: 1;
- &::after {
+ &.has-vision::after {
border: 50px solid;
border-color: lightgreen transparent transparent turquoise;
border-radius: 50px;
@@ -29,7 +29,7 @@
}
}
-.anim3-movement-circle {
+.particle-movement-circle {
border: 2px dotted darkturquoise;
position: absolute;
transition: left 0.2s, top 0.2s, height 0.2s, width 0.2s;
@@ -48,33 +48,33 @@
width: 4px;
}
}
-
-.anim3-vision-grid {
- height: 100px;
- // margin-top: 50px;
- // margin-left: 50px;
- position: absolute;
- transform-origin: left top;
- width: 100px;
- z-index: 99;
-}
-
-.anim3-dot {
- $s: 2px;
-
- background: red;
- // border-radius: 2px;
- height: $s;
- position: absolute;
- width: $s;
- z-index: 99;
-
- &.removed {
- // background: purple;
- background: green;
- }
-
- &.touching {
- outline: 2px solid yellow;
- }
-}
+//
+// .anim3-vision-grid {
+// height: 100px;
+// // margin-top: 50px;
+// // margin-left: 50px;
+// position: absolute;
+// transform-origin: left top;
+// width: 100px;
+// z-index: 99;
+// }
+//
+// .anim3-dot {
+// $s: 2px;
+//
+// background: red;
+// // border-radius: 2px;
+// height: $s;
+// position: absolute;
+// width: $s;
+// z-index: 99;
+//
+// &.removed {
+// // background: purple;
+// background: green;
+// }
+//
+// &.touching {
+// outline: 2px solid yellow;
+// }
+// }
diff --git a/css/style.css b/css/style.css
index 5977150..317b3fa 100644
--- a/css/style.css
+++ b/css/style.css
@@ -7,45 +7,12 @@ body {
font-family: sans-serif; }
.particles {
background: rgba(102, 51, 153, 0.1);
- box-shadow: 2px 2px 0 #aaa;
- height: 600px;
+ height: 400px;
margin: 10px auto;
+ overflow: hidden;
position: relative;
- width: 600px; }
-
-.palette {
- background: url(../res/palette.svg);
- background-size: 167px 100px;
- height: 100px;
- position: absolute;
- width: 167px; }
-
-.highlight {
- animation: pulse 0.5s 1;
- border-radius: 15px;
- position: absolute; }
-
-@keyframes pulse {
- from {
- border: 4px solid lightgreen;
- height: 30px;
- margin: -15px 0 0 -15px;
- width: 30px; }
- to {
- height: 0px;
- margin: 0;
- width: 0px; } }
-.anim2-particle {
- background: url(../res/seahorse.svg) no-repeat center center;
- background-size: 20px 20px;
- border-color: salmon;
- border-style: dashed;
- border-radius: 50px;
- border-width: 1px;
- height: 100px;
- position: absolute;
- width: 100px; }
-.anim3-particle {
+ width: 90%; }
+.particle {
background: url(../res/seahorse.svg) no-repeat center center #aaa;
background-size: 20px 20px;
border-radius: 10px;
@@ -57,7 +24,7 @@ body {
text-align: center;
width: 20px;
z-index: 1; }
- .anim3-particle::after {
+ .particle.has-vision::after {
border: 50px solid;
border-color: lightgreen transparent transparent turquoise;
border-radius: 50px;
@@ -71,12 +38,12 @@ body {
top: -50px;
width: 0; }
-.anim3-movement-circle {
+.particle-movement-circle {
border: 2px dotted darkturquoise;
position: absolute;
transition: left 0.2s, top 0.2s, height 0.2s, width 0.2s;
z-index: 0; }
- .anim3-movement-circle:after {
+ .particle-movement-circle:after {
background: darkturquoise;
border-radius: 2px;
content: ' ';
@@ -87,34 +54,3 @@ body {
position: absolute;
top: 50%;
width: 4px; }
-
-.anim3-vision-grid {
- height: 100px;
- position: absolute;
- transform-origin: left top;
- width: 100px;
- z-index: 99; }
-
-.anim3-dot {
- background: red;
- height: 2px;
- position: absolute;
- width: 2px;
- z-index: 99; }
- .anim3-dot.removed {
- background: green; }
- .anim3-dot.touching {
- outline: 2px solid yellow; }
-.anim3-particle {
- background: url(../res/seahorse.svg) no-repeat center top #aaa;
- background-size: 20px 20px;
- border-color: purple;
- color: #fff;
- border-radius: 10px;
- height: 20px;
- line-height: 20px;
- position: absolute;
- text-align: center;
- width: 20px; }
- .anim3-particle.scared {
- background: #f00; }
diff --git a/index.html b/index.html
index d3511e4..bb52094 100644
--- a/index.html
+++ b/index.html
@@ -3,44 +3,55 @@
-
+
Dust
- Studying AI movement along arcs with RxJs
+ AI Swarm Movement with RxJs
-
- Restart
- Change direction
- Change animation speed
- Show movement circle
- Show vision grid
- Show touching points
- Start / stop
-
+ Project Goal
-
+
+ Explore the RxJs API by managing moving particle systems. The systems should:
+
+ Have particle movement that feels calm and natural
+ Support large swarms of particles
+ Be able to evade obstacles
+
+
+
+
+
+
+ The trickiest portion of this iteration was animating the curved paths. I explored elliptical geometry,
+ but calculating arc length (to maintain a scalar speed) is quite difficult. Smoothstep cubic curves
+ were also an option, but maintaining consistent entry and exit angles could affect performance for large
+ groups. The current design uses circular paths that smoothly change direction and rotation.
+
+
+
+
+
+
diff --git a/js/animation0.js b/js/animation0.js
deleted file mode 100644
index 558653f..0000000
--- a/js/animation0.js
+++ /dev/null
@@ -1,6 +0,0 @@
-const Animation0 = {
- init: () => { console.error('init() not implemented.'); },
- reset: () => { console.error('reset() not implemented.'); },
-};
-
-export default Animation0;
diff --git a/js/animation1.js b/js/animation1.js
index 1213d3d..7c2504b 100644
--- a/js/animation1.js
+++ b/js/animation1.js
@@ -1,33 +1,58 @@
-// Simple frame-based movement.
import Rx, { Observable } from 'rxjs';
+import Particle from './particle';
+import Store from './store';
-const Animation1 = {
- // const particleDivs = [];
- //
- // const instanceCount = Rx.Observable.range(0, 3);
- //
- // const createDivs = instanceCount.subscribe((i) => {
- // console.warn("creating divs")
- // const container = document.querySelector('.particles');
- // const div = document.createElement('div');
- // div.className = 'particle';
- // div.style.top = `${i * 75}px`;
- // div.style.left = 0;
- //
- // container.appendChild(div);
- // particleDivs.push(div);
- // });
- //
- // Rx.Observable
- // .interval(1000 / 32)
- // .do(frameIndex => {
- // instanceCount.subscribe(i => {
- // particleDivs[i].style.left = `${frameIndex * 10}px`;
- // });
- // // particleDivs.do(div => { div.style.left = `${n * 75}px`; }).subscribe();
- // })
- // .take(16)
- // .subscribe(console.info)
+function Animation1(node) {
+ this.container = node;
+ this.bounds = node.getBoundingClientRect();
+}
+
+// const grid = {};
+// for (let x = 0; x <= 600; x += 5) {
+// grid[x] = {};
+// for (let y = 0; y <= 600; y += 5) {
+// grid[x][y] = { type: null };
+//
+// if (x === 0 || y === 0 || x === 600 || y === 600) {
+// grid[x][y] = { type: 'wall' };
+// }
+// }
+// }
+
+Animation1.prototype.nextFrame = function() {
+ this.particles.forEach(p => p.nextFrame());
+}
+
+Animation1.prototype.reset = () => {
+ // while (DOM.container.childNodes.length) {
+ // DOM.container.removeChild(DOM.container.firstChild);
+ // }
};
+Animation1.prototype.init = function() {
+ this.particles = Array(1).fill().map(_ => new Particle(this.container, this.bounds));
+
+ const stop$ = Rx.Observable.fromEvent(this.container, 'stop');
+
+ // Change animation speed
+ // Change animal pic
+ // Enable random radius changes
+ // Enable random rotation changes
+ // Show movement circle
+ // Show vision grid (including touches!)
+ // Start / stop
+
+ console.error("Click container to stop.");
+ const fps$ = Rx.Observable.interval(1000 / 32)
+ .takeUntil(stop$)
+ .finally(() => { console.error("Stopped."); })
+
+ const click$ = Rx.Observable.fromEvent(this.container, 'click');
+ click$.subscribe(() => {
+ this.container.dispatchEvent(new CustomEvent('stop'));
+ });
+
+ fps$.subscribe(this.nextFrame.bind(this));
+}
+
export default Animation1;
diff --git a/js/animation2.js b/js/animation2.js
index 95bbb81..4796977 100644
--- a/js/animation2.js
+++ b/js/animation2.js
@@ -1,6 +1,6 @@
// Scare mechanic, single particle.
import Rx, { Observable } from 'rxjs';
-import AnimationBase from './animation0';
+import AnimationBase from './animationBase';
import DOM from './dom';
import Store from './store';
diff --git a/js/animation3.js b/js/animation3-WALLDETECT-BUGGY.js
similarity index 57%
rename from js/animation3.js
rename to js/animation3-WALLDETECT-BUGGY.js
index cf8d04f..89cb7e2 100644
--- a/js/animation3.js
+++ b/js/animation3-WALLDETECT-BUGGY.js
@@ -30,12 +30,13 @@ movementCircle.className = 'anim3-movement-circle';
const particle = document.createElement('div');
particle.className = 'anim3-particle';
-const visionGridPoints = calculateVisionGridPoints();
+// const visionGridPoints = calculateVisionGridPoints();
function move(store) {
let {
arc,
clockwise,
+ frame,
particleX,
particleY,
} = store.get();
@@ -44,37 +45,40 @@ function move(store) {
arc.t += (clockwise ? -delta : +delta);
arc.t = (arc.t > 0 ? arc.t % t360 : t360 - arc.t);
- const intersections = detectWall(store);
-
- if (intersections.length > 0) {
- const { xs, ys } = intersections.reduce(
- ({ xs, ys }, {x, y}) => ({ xs: xs + x, ys: ys + y }),
- { xs: 0, ys: 0 }
- );
-
- const avgX = xs / intersections.length;
- const avgY = ys / intersections.length;
-
- const v = Math.atan((particleY - avgY) / (particleX - avgX));
- // console.warn(Math.round(v * 180 / Math.PI))
-
- const modifier = Math.max(Math.round(v * 180 / Math.PI), 20);
-
- arc = modifyArc(arc, 20);
- // } else if (Math.random() < 0.005) {
- // console.warn('changing direction')
- // clockwise = !clockwise;
- // arc = changeDirection(arc);
- } else {
- arc = modifyArc(arc, 300);
- }
+ // const intersections = detectWall(store);
+ //
+ // if (intersections.length > 0) {
+ // const { xs, ys } = intersections.reduce(
+ // ({ xs, ys }, {x, y}) => ({ xs: xs + x, ys: ys + y }),
+ // { xs: 0, ys: 0 }
+ // );
+ //
+ // const avgX = xs / intersections.length;
+ // const avgY = ys / intersections.length;
+ //
+ // const v = Math.atan((particleY - avgY) / (particleX - avgX));
+ // // console.warn(Math.round(v * 180 / Math.PI))
+ //
+ // const modifier = Math.max(Math.round(v * 180 / Math.PI), 20);
+ //
+ // arc = modifyArc(arc, 20);
+ // // } else if (Math.random() < 0.005) {
+ // // console.warn('changing direction')
+ // // clockwise = !clockwise;
+ // // arc = changeDirection(arc);
+ // } else {
+ // arc = modifyArc(arc, 300);
+ // }
particleX = arc.x + arc.r * Math.cos(arc.t);
particleY = arc.y - arc.r * Math.sin(arc.t);
+ frame += 1;
+
store.set({
arc,
clockwise,
+ frame,
particleX,
particleY,
});
@@ -103,35 +107,35 @@ function changeDirection(arc) {
return arc;
}
-function detectWall(store) {
- const len = visionGridPoints.length;
-
- const { arc, clockwise, particleX, particleY } = store.get();
-
- const r0 = Math.min(arc.t, arc.t - Math.PI);
- const r1 = Math.max(arc.t, arc.t + Math.PI);
-
- const gridX = particleX - particleX % 5;
- const gridY = particleY - particleY % 5;
-
- return visionGridPoints.reduce((acc, point) => {
- const xx = gridX + point.x;
- const yy = gridY - point.y;
- const alpha = point.alpha;
-
- if (grid[xx] && grid[xx][yy] && grid[xx][yy].type === 'wall') {
- if (clockwise === false && alpha >= 0 && alpha <= r0) {
- acc.push(point);
- } else if (clockwise === false && alpha >= arc.t && alpha <= r1) {
- acc.push(point);
- } else if (clockwise === true) {
- acc.push(point);
- }
- }
-
- return acc;
- }, []);
-}
+// function detectWall(store) {
+// const len = visionGridPoints.length;
+//
+// const { arc, clockwise, particleX, particleY } = store.get();
+//
+// const r0 = Math.min(arc.t, arc.t - Math.PI);
+// const r1 = Math.max(arc.t, arc.t + Math.PI);
+//
+// const gridX = particleX - particleX % 5;
+// const gridY = particleY - particleY % 5;
+//
+// return visionGridPoints.reduce((acc, point) => {
+// const xx = gridX + point.x;
+// const yy = gridY - point.y;
+// const alpha = point.alpha;
+//
+// if (grid[xx] && grid[xx][yy] && grid[xx][yy].type === 'wall') {
+// if (clockwise === false && alpha >= 0 && alpha <= r0) {
+// acc.push(point);
+// } else if (clockwise === false && alpha >= arc.t && alpha <= r1) {
+// acc.push(point);
+// } else if (clockwise === true) {
+// acc.push(point);
+// }
+// }
+//
+// return acc;
+// }, []);
+// }
function transformParticle(store) {
const { arc, clockwise, particleX, particleY } = store.get();
@@ -174,51 +178,51 @@ function transformVisionGrid(store) {
});
}
-function calculateVisionGridPoints() {
- const gridSize = 5;
- const visionRadius = 50;
-
- const squareGrid = [];
- for (let x = -visionRadius; x <= visionRadius; x += gridSize) {
- for (let y = -visionRadius; y <= visionRadius; y += gridSize) {
- let alpha = Math.atan(y / x);
-
- if (x === 0 && y === 0) {
- alpha = 0;
- } else if (x === 0 && y < 0) {
- alpha = t270;
- } else if (y === 0 && x < 0) {
- alpha = Math.PI;
- } else if (x === 0 && y > 0) {
- alpha = t90;
- } else if (x < 0 && y < 0) {
- alpha = alpha + Math.PI;
- } else if (x <= 0) {
- alpha = Math.PI + alpha;
- } else if (y < 0) {
- alpha = 2 * Math.PI + alpha;
- }
-
- squareGrid.push({ x, y, alpha });
- }
- }
-
- const r0 = Math.pow(visionRadius, 2);
- const r1 = Math.pow(visionRadius - gridSize, 2);
-
- return squareGrid.reduce((acc, point) => {
- const p = Math.pow(point.x, 2) + Math.pow(point.y, 2);
- if (p > r0 || p < r1) {
- return acc;
- }
-
- const div = document.createElement('div');
- div.className = 'anim3-dot';
-
- acc.push(Object.assign(point, { div }));
- return acc;
- }, []);
-}
+// function calculateVisionGridPoints() {
+// const gridSize = 5;
+// const visionRadius = 50;
+//
+// const squareGrid = [];
+// for (let x = -visionRadius; x <= visionRadius; x += gridSize) {
+// for (let y = -visionRadius; y <= visionRadius; y += gridSize) {
+// let alpha = Math.atan(y / x);
+//
+// if (x === 0 && y === 0) {
+// alpha = 0;
+// } else if (x === 0 && y < 0) {
+// alpha = t270;
+// } else if (y === 0 && x < 0) {
+// alpha = Math.PI;
+// } else if (x === 0 && y > 0) {
+// alpha = t90;
+// } else if (x < 0 && y < 0) {
+// alpha = alpha + Math.PI;
+// } else if (x <= 0) {
+// alpha = Math.PI + alpha;
+// } else if (y < 0) {
+// alpha = 2 * Math.PI + alpha;
+// }
+//
+// squareGrid.push({ x, y, alpha });
+// }
+// }
+//
+// const r0 = Math.pow(visionRadius, 2);
+// const r1 = Math.pow(visionRadius - gridSize, 2);
+//
+// return squareGrid.reduce((acc, point) => {
+// const p = Math.pow(point.x, 2) + Math.pow(point.y, 2);
+// if (p > r0 || p < r1) {
+// return acc;
+// }
+//
+// const div = document.createElement('div');
+// div.className = 'anim3-dot';
+//
+// acc.push(Object.assign(point, { div }));
+// return acc;
+// }, []);
+// }
function reset() {
while (DOM.container.childNodes.length) {
@@ -239,14 +243,14 @@ function reset() {
transformParticle(store);
// transformMovementCircle(store);
- transformVisionGrid(store);
+ // transformVisionGrid(store);
DOM.container.appendChild(particle);
DOM.container.appendChild(movementCircle);
- visionGridPoints.forEach(point => {
- DOM.container.appendChild(point.div);
- });
+ // visionGridPoints.forEach(point => {
+ // DOM.container.appendChild(point.div);
+ // });
return store;
};
@@ -266,8 +270,8 @@ function init() {
}
const stop$ = Rx.Observable.fromEvent(DOM.container, 'stop');
- const fps$ = Rx.Observable.interval(1000 / 128)
- .map(_ => store)
+ const fps$ = Rx.Observable.interval(1000 / 32)
+ .map(i => store.bind(null, i))
// .take(300)
// .take(15)
.takeUntil(stop$); console.error("CLICK TO STOP");
diff --git a/js/animation4.js b/js/animation4.js
index 9138096..ef5b81d 100644
--- a/js/animation4.js
+++ b/js/animation4.js
@@ -7,7 +7,7 @@
// find if palette nearby
import Rx, { Observable } from 'rxjs';
-import AnimationBase from './animation0';
+import AnimationBase from './animationBase';
import DOM from './dom';
import Store from './store';
diff --git a/js/animation5.js b/js/animation5.js
deleted file mode 100644
index dc097c4..0000000
--- a/js/animation5.js
+++ /dev/null
@@ -1,117 +0,0 @@
-// Join mechanic, multiple particles.
-// Goal: per-frame decisions
-// 20 x 20 grid
-import Rx, { Observable } from 'rxjs';
-import AnimationBase from './animation0';
-import DOM from './dom';
-import Store from './store';
-//
-// const evtScare = (detail) => new CustomEvent('scare', { detail });
-// const evtMove = (detail) => new CustomEvent('move', { detail });
-//
-// const [particles, state] = (new Array(5)).fill(null).reduce((acc, v, i) => {
-// // const div = document.createElement('div');
-// // div.className = 'anim3-particle';
-// // div.innerHTML = ''
-// //
-// // const x = 0;
-// // const y = i * 20;
-// //
-// // div.style.left = 0
-// // div.style.top = `${y}px`;
-// //
-// // acc[0].push(div);
-// // acc[1].push({ x, y });
-// //
-// // acc[1][`${x}-${y}`] = { occupied: true, type: 'palette', x, y, i };
-// //
-// // return acc;
-// }, [[], []]);
-//
-// const palettes = (new Array(1)).fill(null).reduce((acc, v, i) => {
-// const initialX = 200;
-// const initialY = 200;
-// const w = 167;
-// const h = 100;
-// const maxX = initialX + w;
-// const maxY = initialY + h;
-// const s = 20;
-//
-// for (let y = initialY; y < maxY; y += s) {
-// for (let x = initialX; x < maxX; x += s) {
-// state[`${x}-${y}`] = { occupied: true, type: 'palette', i };
-// }
-// }
-//
-// const div = document.createElement('div');
-// div.className = 'palette';
-// div.style.left = `${initialX}px`;
-// div.style.top = `${initialY}px`;
-//
-// acc.push(div);
-//
-// return acc;
-// }, []);
-//
-// function scare(evt) {
-// const bounds = DOM.container.getBoundingClientRect();
-// const { evtX: x, evtY: y } = DOM.getEventOffsetCoords(evt, bounds);
-// const scareRadius = 50;
-//
-// state.forEach((coord, i) => {
-// const diffX = Math.abs(coord.x - x + 10);
-// const diffY = Math.abs(coord.y - y + 10);
-//
-// if (diffX < scareRadius && diffY < scareRadius) {
-// coord.lastScare = { x, y } // TODO set state with last scare, then judge per frame based on that number to avoid jump
-// DOM.container.dispatchEvent(evtScare({ x, y, i }));
-// }
-// });
-// }
-//
-// function move(evt) {
-//
-// }
-//
-// function flee(evt) {
-// particles[evt.detail.i].innerHTML = 'S'
-// DOM.addClass(particles[evt.detail.i], 'scared');
-// const p = particles[evt.detail.i];
-// DOM.container.dispatchEvent(evtMove(evt.detail));
-//
-// setTimeout(() => {
-// p.innerHTML = '';
-// DOM.removeClass(p, 'scared');
-// }, 1000);
-// }
-//
-function reset() {
-// while (DOM.container.childNodes.length) {
-// DOM.container.removeChild(DOM.container.firstChild);
-// }
-//
-// particles.forEach((div) => {
-// div.innerHTML = '';
-// DOM.container.appendChild(div)
-// });
-//
-// palettes.forEach((div) => {
-// DOM.container.appendChild(div)
-// });
-};
-
-function init() {
-// reset();
-//
-// const click$ = Rx.Observable.fromEvent(DOM.container, 'click');
-// const scare$ = Rx.Observable.fromEvent(DOM.container, 'scare').auditTime(100);
-// const move$ = Rx.Observable.fromEvent(DOM.container, 'move');
-//
-// click$.subscribe(scare);
-// scare$.subscribe(flee);
-// move$.subscribe(console.info);
-};
-
-const Animation5 = Object.assign({}, AnimationBase, { init, reset });
-
-export default Animation5;
diff --git a/js/bundle.js b/js/bundle.js
index 0a16b93..67eb2a5 100644
--- a/js/bundle.js
+++ b/js/bundle.js
@@ -63,7 +63,7 @@
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
-/******/ return __webpack_require__(__webpack_require__.s = 81);
+/******/ return __webpack_require__(__webpack_require__.s = 76);
/******/ })
/************************************************************************/
/******/ ([
@@ -73,8 +73,8 @@
"use strict";
var root_1 = __webpack_require__(7);
-var toSubscriber_1 = __webpack_require__(356);
-var observable_1 = __webpack_require__(22);
+var toSubscriber_1 = __webpack_require__(352);
+var observable_1 = __webpack_require__(21);
/**
* A representation of any set of values over any amount of time. This the most basic building block
* of RxJS.
@@ -222,10 +222,10 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var isFunction_1 = __webpack_require__(28);
+var isFunction_1 = __webpack_require__(27);
var Subscription_1 = __webpack_require__(4);
-var Observer_1 = __webpack_require__(42);
-var rxSubscriber_1 = __webpack_require__(23);
+var Observer_1 = __webpack_require__(41);
+var rxSubscriber_1 = __webpack_require__(22);
/**
* Implements the {@link Observer} interface and extends the
* {@link Subscription} class. While the {@link Observer} is the public API for
@@ -520,13 +520,13 @@ exports.OuterSubscriber = OuterSubscriber;
"use strict";
var root_1 = __webpack_require__(7);
-var isArrayLike_1 = __webpack_require__(66);
-var isPromise_1 = __webpack_require__(68);
-var isObject_1 = __webpack_require__(67);
+var isArrayLike_1 = __webpack_require__(65);
+var isPromise_1 = __webpack_require__(67);
+var isObject_1 = __webpack_require__(66);
var Observable_1 = __webpack_require__(0);
-var iterator_1 = __webpack_require__(19);
-var InnerSubscriber_1 = __webpack_require__(83);
-var observable_1 = __webpack_require__(22);
+var iterator_1 = __webpack_require__(18);
+var InnerSubscriber_1 = __webpack_require__(79);
+var observable_1 = __webpack_require__(21);
function subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {
var destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex);
if (destination.closed) {
@@ -604,11 +604,11 @@ exports.subscribeToResult = subscribeToResult;
"use strict";
var isArray_1 = __webpack_require__(11);
-var isObject_1 = __webpack_require__(67);
-var isFunction_1 = __webpack_require__(28);
+var isObject_1 = __webpack_require__(66);
+var isFunction_1 = __webpack_require__(27);
var tryCatch_1 = __webpack_require__(8);
var errorObject_1 = __webpack_require__(6);
-var UnsubscriptionError_1 = __webpack_require__(64);
+var UnsubscriptionError_1 = __webpack_require__(63);
/**
* Represents a disposable resource, such as the execution of an Observable. A
* Subscription has one important method, `unsubscribe`, that takes no argument
@@ -810,9 +810,9 @@ var __extends = (this && this.__extends) || function (d, b) {
var Observable_1 = __webpack_require__(0);
var Subscriber_1 = __webpack_require__(1);
var Subscription_1 = __webpack_require__(4);
-var ObjectUnsubscribedError_1 = __webpack_require__(26);
-var SubjectSubscription_1 = __webpack_require__(43);
-var rxSubscriber_1 = __webpack_require__(23);
+var ObjectUnsubscribedError_1 = __webpack_require__(25);
+var SubjectSubscription_1 = __webpack_require__(42);
+var rxSubscriber_1 = __webpack_require__(22);
/**
* @class SubjectSubscriber
*/
@@ -998,7 +998,7 @@ if (!exports.root) {
throw new Error('RxJS could not find any global context (window, self, global)');
}
//# sourceMappingURL=root.js.map
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(71)))
+/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(70)))
/***/ }),
/* 8 */
@@ -1031,8 +1031,8 @@ exports.tryCatch = tryCatch;
"use strict";
-var AsyncAction_1 = __webpack_require__(17);
-var AsyncScheduler_1 = __webpack_require__(18);
+var AsyncAction_1 = __webpack_require__(16);
+var AsyncScheduler_1 = __webpack_require__(17);
/**
*
* Async Scheduler
@@ -1090,7 +1090,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = __webpack_require__(0);
-var ScalarObservable_1 = __webpack_require__(34);
+var ScalarObservable_1 = __webpack_require__(31);
var EmptyObservable_1 = __webpack_require__(13);
var isScheduler_1 = __webpack_require__(12);
/**
@@ -1320,7 +1320,7 @@ exports.EmptyObservable = EmptyObservable;
"use strict";
-var ConnectableObservable_1 = __webpack_require__(44);
+var ConnectableObservable_1 = __webpack_require__(43);
/* tslint:enable:max-line-length */
/**
* Returns an Observable that emits the results of invoking a specified selector on items
@@ -1383,239 +1383,6 @@ exports.MulticastOperator = MulticastOperator;
"use strict";
-/* tslint:disable:no-unused-variable */
-// Subject imported before Observable to bypass circular dependency issue since
-// Subject extends Observable and Observable references Subject in it's
-// definition
-var Subject_1 = __webpack_require__(5);
-exports.Subject = Subject_1.Subject;
-exports.AnonymousSubject = Subject_1.AnonymousSubject;
-/* tslint:enable:no-unused-variable */
-var Observable_1 = __webpack_require__(0);
-exports.Observable = Observable_1.Observable;
-// statics
-/* tslint:disable:no-use-before-declare */
-__webpack_require__(85);
-__webpack_require__(86);
-__webpack_require__(87);
-__webpack_require__(88);
-__webpack_require__(89);
-__webpack_require__(92);
-__webpack_require__(93);
-__webpack_require__(94);
-__webpack_require__(95);
-__webpack_require__(96);
-__webpack_require__(97);
-__webpack_require__(98);
-__webpack_require__(99);
-__webpack_require__(100);
-__webpack_require__(101);
-__webpack_require__(106);
-__webpack_require__(102);
-__webpack_require__(103);
-__webpack_require__(104);
-__webpack_require__(105);
-__webpack_require__(107);
-__webpack_require__(110);
-__webpack_require__(108);
-__webpack_require__(109);
-__webpack_require__(111);
-//dom
-__webpack_require__(90);
-__webpack_require__(91);
-//operators
-__webpack_require__(114);
-__webpack_require__(115);
-__webpack_require__(116);
-__webpack_require__(117);
-__webpack_require__(118);
-__webpack_require__(119);
-__webpack_require__(120);
-__webpack_require__(121);
-__webpack_require__(122);
-__webpack_require__(123);
-__webpack_require__(124);
-__webpack_require__(125);
-__webpack_require__(126);
-__webpack_require__(132);
-__webpack_require__(127);
-__webpack_require__(128);
-__webpack_require__(129);
-__webpack_require__(130);
-__webpack_require__(131);
-__webpack_require__(133);
-__webpack_require__(134);
-__webpack_require__(135);
-__webpack_require__(136);
-__webpack_require__(139);
-__webpack_require__(140);
-__webpack_require__(141);
-__webpack_require__(137);
-__webpack_require__(142);
-__webpack_require__(143);
-__webpack_require__(144);
-__webpack_require__(145);
-__webpack_require__(146);
-__webpack_require__(147);
-__webpack_require__(148);
-__webpack_require__(149);
-__webpack_require__(112);
-__webpack_require__(113);
-__webpack_require__(150);
-__webpack_require__(151);
-__webpack_require__(138);
-__webpack_require__(152);
-__webpack_require__(153);
-__webpack_require__(154);
-__webpack_require__(155);
-__webpack_require__(156);
-__webpack_require__(157);
-__webpack_require__(158);
-__webpack_require__(159);
-__webpack_require__(160);
-__webpack_require__(161);
-__webpack_require__(162);
-__webpack_require__(163);
-__webpack_require__(164);
-__webpack_require__(165);
-__webpack_require__(166);
-__webpack_require__(167);
-__webpack_require__(168);
-__webpack_require__(169);
-__webpack_require__(171);
-__webpack_require__(170);
-__webpack_require__(172);
-__webpack_require__(173);
-__webpack_require__(174);
-__webpack_require__(175);
-__webpack_require__(176);
-__webpack_require__(177);
-__webpack_require__(178);
-__webpack_require__(179);
-__webpack_require__(180);
-__webpack_require__(181);
-__webpack_require__(182);
-__webpack_require__(183);
-__webpack_require__(184);
-__webpack_require__(185);
-__webpack_require__(186);
-__webpack_require__(187);
-__webpack_require__(188);
-__webpack_require__(189);
-__webpack_require__(190);
-__webpack_require__(191);
-__webpack_require__(192);
-__webpack_require__(193);
-__webpack_require__(194);
-__webpack_require__(195);
-__webpack_require__(196);
-__webpack_require__(197);
-__webpack_require__(198);
-__webpack_require__(199);
-__webpack_require__(200);
-__webpack_require__(201);
-__webpack_require__(202);
-__webpack_require__(203);
-__webpack_require__(204);
-__webpack_require__(205);
-__webpack_require__(206);
-__webpack_require__(207);
-__webpack_require__(208);
-__webpack_require__(209);
-__webpack_require__(210);
-__webpack_require__(211);
-/* tslint:disable:no-unused-variable */
-var Subscription_1 = __webpack_require__(4);
-exports.Subscription = Subscription_1.Subscription;
-var Subscriber_1 = __webpack_require__(1);
-exports.Subscriber = Subscriber_1.Subscriber;
-var AsyncSubject_1 = __webpack_require__(20);
-exports.AsyncSubject = AsyncSubject_1.AsyncSubject;
-var ReplaySubject_1 = __webpack_require__(33);
-exports.ReplaySubject = ReplaySubject_1.ReplaySubject;
-var BehaviorSubject_1 = __webpack_require__(41);
-exports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;
-var ConnectableObservable_1 = __webpack_require__(44);
-exports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;
-var Notification_1 = __webpack_require__(16);
-exports.Notification = Notification_1.Notification;
-var EmptyError_1 = __webpack_require__(25);
-exports.EmptyError = EmptyError_1.EmptyError;
-var ArgumentOutOfRangeError_1 = __webpack_require__(24);
-exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
-var ObjectUnsubscribedError_1 = __webpack_require__(26);
-exports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;
-var TimeoutError_1 = __webpack_require__(63);
-exports.TimeoutError = TimeoutError_1.TimeoutError;
-var UnsubscriptionError_1 = __webpack_require__(64);
-exports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;
-var timeInterval_1 = __webpack_require__(56);
-exports.TimeInterval = timeInterval_1.TimeInterval;
-var timestamp_1 = __webpack_require__(57);
-exports.Timestamp = timestamp_1.Timestamp;
-var TestScheduler_1 = __webpack_require__(347);
-exports.TestScheduler = TestScheduler_1.TestScheduler;
-var VirtualTimeScheduler_1 = __webpack_require__(58);
-exports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;
-var AjaxObservable_1 = __webpack_require__(47);
-exports.AjaxResponse = AjaxObservable_1.AjaxResponse;
-exports.AjaxError = AjaxObservable_1.AjaxError;
-exports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError;
-var asap_1 = __webpack_require__(59);
-var async_1 = __webpack_require__(9);
-var queue_1 = __webpack_require__(60);
-var animationFrame_1 = __webpack_require__(344);
-var rxSubscriber_1 = __webpack_require__(23);
-var iterator_1 = __webpack_require__(19);
-var observable_1 = __webpack_require__(22);
-/* tslint:enable:no-unused-variable */
-/**
- * @typedef {Object} Rx.Scheduler
- * @property {Scheduler} queue Schedules on a queue in the current event frame
- * (trampoline scheduler). Use this for iteration operations.
- * @property {Scheduler} asap Schedules on the micro task queue, which uses the
- * fastest transport mechanism available, either Node.js' `process.nextTick()`
- * or Web Worker MessageChannel or setTimeout or others. Use this for
- * asynchronous conversions.
- * @property {Scheduler} async Schedules work with `setInterval`. Use this for
- * time-based operations.
- * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.
- * Use this for synchronizing with the platform's painting
- */
-var Scheduler = {
- asap: asap_1.asap,
- queue: queue_1.queue,
- animationFrame: animationFrame_1.animationFrame,
- async: async_1.async
-};
-exports.Scheduler = Scheduler;
-/**
- * @typedef {Object} Rx.Symbol
- * @property {Symbol|string} rxSubscriber A symbol to use as a property name to
- * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as
- * an object that has all of the traits of an Rx Subscriber, including the
- * ability to add and remove subscriptions to the subscription chain and
- * guarantees involving event triggering (can't "next" after unsubscription,
- * etc).
- * @property {Symbol|string} observable A symbol to use as a property name to
- * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable).
- * @property {Symbol|string} iterator The ES6 symbol to use as a property name
- * to retrieve an iterator from an object.
- */
-var Symbol = {
- rxSubscriber: rxSubscriber_1.$$rxSubscriber,
- observable: observable_1.$$observable,
- iterator: iterator_1.$$iterator
-};
-exports.Symbol = Symbol;
-//# sourceMappingURL=Rx.js.map
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
var Observable_1 = __webpack_require__(0);
/**
* Represents a push-based event or value that an {@link Observable} can emit.
@@ -1744,7 +1511,7 @@ exports.Notification = Notification;
//# sourceMappingURL=Notification.js.map
/***/ }),
-/* 17 */
+/* 16 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -1755,7 +1522,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var root_1 = __webpack_require__(7);
-var Action_1 = __webpack_require__(337);
+var Action_1 = __webpack_require__(333);
/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
@@ -1892,7 +1659,7 @@ exports.AsyncAction = AsyncAction;
//# sourceMappingURL=AsyncAction.js.map
/***/ }),
-/* 18 */
+/* 17 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -1902,7 +1669,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Scheduler_1 = __webpack_require__(84);
+var Scheduler_1 = __webpack_require__(80);
var AsyncScheduler = (function (_super) {
__extends(AsyncScheduler, _super);
function AsyncScheduler() {
@@ -1949,7 +1716,7 @@ exports.AsyncScheduler = AsyncScheduler;
//# sourceMappingURL=AsyncScheduler.js.map
/***/ }),
-/* 19 */
+/* 18 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -1989,7 +1756,7 @@ exports.$$iterator = symbolIteratorPonyfill(root_1.root);
//# sourceMappingURL=iterator.js.map
/***/ }),
-/* 20 */
+/* 19 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2048,7 +1815,7 @@ exports.AsyncSubject = AsyncSubject;
//# sourceMappingURL=AsyncSubject.js.map
/***/ }),
-/* 21 */
+/* 20 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2165,7 +1932,7 @@ exports.MergeAllSubscriber = MergeAllSubscriber;
//# sourceMappingURL=mergeAll.js.map
/***/ }),
-/* 22 */
+/* 21 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2193,7 +1960,7 @@ exports.$$observable = getSymbolObservable(root_1.root);
//# sourceMappingURL=observable.js.map
/***/ }),
-/* 23 */
+/* 22 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2205,7 +1972,7 @@ exports.$$rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for ===
//# sourceMappingURL=rxSubscriber.js.map
/***/ }),
-/* 24 */
+/* 23 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2239,7 +2006,7 @@ exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;
//# sourceMappingURL=ArgumentOutOfRangeError.js.map
/***/ }),
-/* 25 */
+/* 24 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2273,7 +2040,7 @@ exports.EmptyError = EmptyError;
//# sourceMappingURL=EmptyError.js.map
/***/ }),
-/* 26 */
+/* 25 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2306,7 +2073,7 @@ exports.ObjectUnsubscribedError = ObjectUnsubscribedError;
//# sourceMappingURL=ObjectUnsubscribedError.js.map
/***/ }),
-/* 27 */
+/* 26 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2318,7 +2085,7 @@ exports.isDate = isDate;
//# sourceMappingURL=isDate.js.map
/***/ }),
-/* 28 */
+/* 27 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2330,7 +2097,7 @@ exports.isFunction = isFunction;
//# sourceMappingURL=isFunction.js.map
/***/ }),
-/* 29 */
+/* 28 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2348,111 +2115,240 @@ exports.isNumeric = isNumeric;
//# sourceMappingURL=isNumeric.js.map
/***/ }),
-/* 30 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var Animation0 = {
- init: function init() {
- console.error('init() not implemented.');
- },
- reset: function reset() {
- console.error('reset() not implemented.');
- }
-};
-
-exports.default = Animation0;
-
-/***/ }),
-/* 31 */
+/* 29 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var container = document.querySelector('.particles');
-var containerBounds = container.getBoundingClientRect();
-
-var DOM = {
- container: container,
- containerBounds: containerBounds,
-
- getEventOffsetCoords: function getEventOffsetCoords(evt, bounds) {
- var pageX = evt.pageX,
- pageY = evt.pageY;
-
-
- return {
- evtX: pageX - bounds.left,
- evtY: pageY - bounds.top
- };
- },
-
- highlight: function highlight(evt) {
- var _DOM$getEventOffsetCo = DOM.getEventOffsetCoords(evt, DOM.containerBounds),
- evtX = _DOM$getEventOffsetCo.evtX,
- evtY = _DOM$getEventOffsetCo.evtY;
-
- var highlightDiv = document.createElement('div');
- highlightDiv.className = 'highlight';
- highlightDiv.style.left = evtX + 'px';
- highlightDiv.style.top = evtY + 'px';
-
- DOM.container.appendChild(highlightDiv);
- setTimeout(function () {
- DOM.container.removeChild(highlightDiv);
- }, 500);
- },
-
- addClass: function addClass(node, str) {
- node.className = node.className.split(' ').concat(str).join(' ');
- },
-
- removeClass: function removeClass(node, str) {
- var arr = node.className.split(' ');
- var i = arr.indexOf(str);
- node.className = arr.slice(0, i).concat(arr.slice(i + 1)).join(' ');
- }
-
-};
-
-exports.default = DOM;
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-var Store = function Store(initialProps) {
- this.state = Object.freeze(initialProps);
-};
-
-Store.prototype.set = function (props) {
- this.state = Object.freeze(Object.assign({}, this.state, props));
- return this.state;
+/* tslint:disable:no-unused-variable */
+// Subject imported before Observable to bypass circular dependency issue since
+// Subject extends Observable and Observable references Subject in it's
+// definition
+var Subject_1 = __webpack_require__(5);
+exports.Subject = Subject_1.Subject;
+exports.AnonymousSubject = Subject_1.AnonymousSubject;
+/* tslint:enable:no-unused-variable */
+var Observable_1 = __webpack_require__(0);
+exports.Observable = Observable_1.Observable;
+// statics
+/* tslint:disable:no-use-before-declare */
+__webpack_require__(81);
+__webpack_require__(82);
+__webpack_require__(83);
+__webpack_require__(84);
+__webpack_require__(85);
+__webpack_require__(88);
+__webpack_require__(89);
+__webpack_require__(90);
+__webpack_require__(91);
+__webpack_require__(92);
+__webpack_require__(93);
+__webpack_require__(94);
+__webpack_require__(95);
+__webpack_require__(96);
+__webpack_require__(97);
+__webpack_require__(102);
+__webpack_require__(98);
+__webpack_require__(99);
+__webpack_require__(100);
+__webpack_require__(101);
+__webpack_require__(103);
+__webpack_require__(106);
+__webpack_require__(104);
+__webpack_require__(105);
+__webpack_require__(107);
+//dom
+__webpack_require__(86);
+__webpack_require__(87);
+//operators
+__webpack_require__(110);
+__webpack_require__(111);
+__webpack_require__(112);
+__webpack_require__(113);
+__webpack_require__(114);
+__webpack_require__(115);
+__webpack_require__(116);
+__webpack_require__(117);
+__webpack_require__(118);
+__webpack_require__(119);
+__webpack_require__(120);
+__webpack_require__(121);
+__webpack_require__(122);
+__webpack_require__(128);
+__webpack_require__(123);
+__webpack_require__(124);
+__webpack_require__(125);
+__webpack_require__(126);
+__webpack_require__(127);
+__webpack_require__(129);
+__webpack_require__(130);
+__webpack_require__(131);
+__webpack_require__(132);
+__webpack_require__(135);
+__webpack_require__(136);
+__webpack_require__(137);
+__webpack_require__(133);
+__webpack_require__(138);
+__webpack_require__(139);
+__webpack_require__(140);
+__webpack_require__(141);
+__webpack_require__(142);
+__webpack_require__(143);
+__webpack_require__(144);
+__webpack_require__(145);
+__webpack_require__(108);
+__webpack_require__(109);
+__webpack_require__(146);
+__webpack_require__(147);
+__webpack_require__(134);
+__webpack_require__(148);
+__webpack_require__(149);
+__webpack_require__(150);
+__webpack_require__(151);
+__webpack_require__(152);
+__webpack_require__(153);
+__webpack_require__(154);
+__webpack_require__(155);
+__webpack_require__(156);
+__webpack_require__(157);
+__webpack_require__(158);
+__webpack_require__(159);
+__webpack_require__(160);
+__webpack_require__(161);
+__webpack_require__(162);
+__webpack_require__(163);
+__webpack_require__(164);
+__webpack_require__(165);
+__webpack_require__(167);
+__webpack_require__(166);
+__webpack_require__(168);
+__webpack_require__(169);
+__webpack_require__(170);
+__webpack_require__(171);
+__webpack_require__(172);
+__webpack_require__(173);
+__webpack_require__(174);
+__webpack_require__(175);
+__webpack_require__(176);
+__webpack_require__(177);
+__webpack_require__(178);
+__webpack_require__(179);
+__webpack_require__(180);
+__webpack_require__(181);
+__webpack_require__(182);
+__webpack_require__(183);
+__webpack_require__(184);
+__webpack_require__(185);
+__webpack_require__(186);
+__webpack_require__(187);
+__webpack_require__(188);
+__webpack_require__(189);
+__webpack_require__(190);
+__webpack_require__(191);
+__webpack_require__(192);
+__webpack_require__(193);
+__webpack_require__(194);
+__webpack_require__(195);
+__webpack_require__(196);
+__webpack_require__(197);
+__webpack_require__(198);
+__webpack_require__(199);
+__webpack_require__(200);
+__webpack_require__(201);
+__webpack_require__(202);
+__webpack_require__(203);
+__webpack_require__(204);
+__webpack_require__(205);
+__webpack_require__(206);
+__webpack_require__(207);
+/* tslint:disable:no-unused-variable */
+var Subscription_1 = __webpack_require__(4);
+exports.Subscription = Subscription_1.Subscription;
+var Subscriber_1 = __webpack_require__(1);
+exports.Subscriber = Subscriber_1.Subscriber;
+var AsyncSubject_1 = __webpack_require__(19);
+exports.AsyncSubject = AsyncSubject_1.AsyncSubject;
+var ReplaySubject_1 = __webpack_require__(30);
+exports.ReplaySubject = ReplaySubject_1.ReplaySubject;
+var BehaviorSubject_1 = __webpack_require__(40);
+exports.BehaviorSubject = BehaviorSubject_1.BehaviorSubject;
+var ConnectableObservable_1 = __webpack_require__(43);
+exports.ConnectableObservable = ConnectableObservable_1.ConnectableObservable;
+var Notification_1 = __webpack_require__(15);
+exports.Notification = Notification_1.Notification;
+var EmptyError_1 = __webpack_require__(24);
+exports.EmptyError = EmptyError_1.EmptyError;
+var ArgumentOutOfRangeError_1 = __webpack_require__(23);
+exports.ArgumentOutOfRangeError = ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
+var ObjectUnsubscribedError_1 = __webpack_require__(25);
+exports.ObjectUnsubscribedError = ObjectUnsubscribedError_1.ObjectUnsubscribedError;
+var TimeoutError_1 = __webpack_require__(62);
+exports.TimeoutError = TimeoutError_1.TimeoutError;
+var UnsubscriptionError_1 = __webpack_require__(63);
+exports.UnsubscriptionError = UnsubscriptionError_1.UnsubscriptionError;
+var timeInterval_1 = __webpack_require__(55);
+exports.TimeInterval = timeInterval_1.TimeInterval;
+var timestamp_1 = __webpack_require__(56);
+exports.Timestamp = timestamp_1.Timestamp;
+var TestScheduler_1 = __webpack_require__(343);
+exports.TestScheduler = TestScheduler_1.TestScheduler;
+var VirtualTimeScheduler_1 = __webpack_require__(57);
+exports.VirtualTimeScheduler = VirtualTimeScheduler_1.VirtualTimeScheduler;
+var AjaxObservable_1 = __webpack_require__(46);
+exports.AjaxResponse = AjaxObservable_1.AjaxResponse;
+exports.AjaxError = AjaxObservable_1.AjaxError;
+exports.AjaxTimeoutError = AjaxObservable_1.AjaxTimeoutError;
+var asap_1 = __webpack_require__(58);
+var async_1 = __webpack_require__(9);
+var queue_1 = __webpack_require__(59);
+var animationFrame_1 = __webpack_require__(340);
+var rxSubscriber_1 = __webpack_require__(22);
+var iterator_1 = __webpack_require__(18);
+var observable_1 = __webpack_require__(21);
+/* tslint:enable:no-unused-variable */
+/**
+ * @typedef {Object} Rx.Scheduler
+ * @property {Scheduler} queue Schedules on a queue in the current event frame
+ * (trampoline scheduler). Use this for iteration operations.
+ * @property {Scheduler} asap Schedules on the micro task queue, which uses the
+ * fastest transport mechanism available, either Node.js' `process.nextTick()`
+ * or Web Worker MessageChannel or setTimeout or others. Use this for
+ * asynchronous conversions.
+ * @property {Scheduler} async Schedules work with `setInterval`. Use this for
+ * time-based operations.
+ * @property {Scheduler} animationFrame Schedules work with `requestAnimationFrame`.
+ * Use this for synchronizing with the platform's painting
+ */
+var Scheduler = {
+ asap: asap_1.asap,
+ queue: queue_1.queue,
+ animationFrame: animationFrame_1.animationFrame,
+ async: async_1.async
};
-
-Store.prototype.get = function () {
- return this.state;
+exports.Scheduler = Scheduler;
+/**
+ * @typedef {Object} Rx.Symbol
+ * @property {Symbol|string} rxSubscriber A symbol to use as a property name to
+ * retrieve an "Rx safe" Observer from an object. "Rx safety" can be defined as
+ * an object that has all of the traits of an Rx Subscriber, including the
+ * ability to add and remove subscriptions to the subscription chain and
+ * guarantees involving event triggering (can't "next" after unsubscription,
+ * etc).
+ * @property {Symbol|string} observable A symbol to use as a property name to
+ * retrieve an Observable as defined by the [ECMAScript "Observable" spec](https://github.com/zenparsing/es-observable).
+ * @property {Symbol|string} iterator The ES6 symbol to use as a property name
+ * to retrieve an iterator from an object.
+ */
+var Symbol = {
+ rxSubscriber: rxSubscriber_1.$$rxSubscriber,
+ observable: observable_1.$$observable,
+ iterator: iterator_1.$$iterator
};
-
-exports.default = Store;
+exports.Symbol = Symbol;
+//# sourceMappingURL=Rx.js.map
/***/ }),
-/* 33 */
+/* 30 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2463,11 +2359,11 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subject_1 = __webpack_require__(5);
-var queue_1 = __webpack_require__(60);
+var queue_1 = __webpack_require__(59);
var Subscription_1 = __webpack_require__(4);
-var observeOn_1 = __webpack_require__(38);
-var ObjectUnsubscribedError_1 = __webpack_require__(26);
-var SubjectSubscription_1 = __webpack_require__(43);
+var observeOn_1 = __webpack_require__(35);
+var ObjectUnsubscribedError_1 = __webpack_require__(25);
+var SubjectSubscription_1 = __webpack_require__(42);
/**
* @class ReplaySubject
*/
@@ -2560,7 +2456,7 @@ var ReplayEvent = (function () {
//# sourceMappingURL=ReplaySubject.js.map
/***/ }),
-/* 34 */
+/* 31 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2624,7 +2520,7 @@ exports.ScalarObservable = ScalarObservable;
//# sourceMappingURL=ScalarObservable.js.map
/***/ }),
-/* 35 */
+/* 32 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2782,7 +2678,7 @@ exports.CombineLatestSubscriber = CombineLatestSubscriber;
//# sourceMappingURL=combineLatest.js.map
/***/ }),
-/* 36 */
+/* 33 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -2790,7 +2686,7 @@ exports.CombineLatestSubscriber = CombineLatestSubscriber;
var Observable_1 = __webpack_require__(0);
var isScheduler_1 = __webpack_require__(12);
var ArrayObservable_1 = __webpack_require__(10);
-var mergeAll_1 = __webpack_require__(21);
+var mergeAll_1 = __webpack_require__(20);
/* tslint:enable:max-line-length */
/**
* Creates an output Observable which sequentially emits all values from every
@@ -2962,7 +2858,7 @@ exports.concatStatic = concatStatic;
//# sourceMappingURL=concat.js.map
/***/ }),
-/* 37 */
+/* 34 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3055,7 +2951,7 @@ var MapSubscriber = (function (_super) {
//# sourceMappingURL=map.js.map
/***/ }),
-/* 38 */
+/* 35 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3066,7 +2962,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var Notification_1 = __webpack_require__(16);
+var Notification_1 = __webpack_require__(15);
/**
* @see {@link Notification}
*
@@ -3137,7 +3033,7 @@ exports.ObserveOnMessage = ObserveOnMessage;
//# sourceMappingURL=observeOn.js.map
/***/ }),
-/* 39 */
+/* 36 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3269,7 +3165,7 @@ exports.ReduceSubscriber = ReduceSubscriber;
//# sourceMappingURL=reduce.js.map
/***/ }),
-/* 40 */
+/* 37 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3284,7 +3180,7 @@ var isArray_1 = __webpack_require__(11);
var Subscriber_1 = __webpack_require__(1);
var OuterSubscriber_1 = __webpack_require__(2);
var subscribeToResult_1 = __webpack_require__(3);
-var iterator_1 = __webpack_require__(19);
+var iterator_1 = __webpack_require__(18);
/* tslint:enable:max-line-length */
/**
* @param observables
@@ -3550,7 +3446,38 @@ var ZipBufferIterator = (function (_super) {
//# sourceMappingURL=zip.js.map
/***/ }),
-/* 41 */
+/* 38 */
+/***/ (function(module, exports) {
+
+// removed by extract-text-webpack-plugin
+
+/***/ }),
+/* 39 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var Store = function Store(initialProps) {
+ this.state = Object.freeze(initialProps);
+};
+
+Store.prototype.set = function (props) {
+ this.state = Object.freeze(Object.assign({}, this.state, props));
+ return this.state;
+};
+
+Store.prototype.get = function () {
+ return this.state;
+};
+
+exports.default = Store;
+
+/***/ }),
+/* 40 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3561,7 +3488,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subject_1 = __webpack_require__(5);
-var ObjectUnsubscribedError_1 = __webpack_require__(26);
+var ObjectUnsubscribedError_1 = __webpack_require__(25);
/**
* @class BehaviorSubject
*/
@@ -3605,7 +3532,7 @@ exports.BehaviorSubject = BehaviorSubject;
//# sourceMappingURL=BehaviorSubject.js.map
/***/ }),
-/* 42 */
+/* 41 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3619,7 +3546,7 @@ exports.empty = {
//# sourceMappingURL=Observer.js.map
/***/ }),
-/* 43 */
+/* 42 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3665,7 +3592,7 @@ exports.SubjectSubscription = SubjectSubscription;
//# sourceMappingURL=SubjectSubscription.js.map
/***/ }),
-/* 44 */
+/* 43 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3833,7 +3760,7 @@ var RefCountSubscriber = (function (_super) {
//# sourceMappingURL=ConnectableObservable.js.map
/***/ }),
-/* 45 */
+/* 44 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -3844,16 +3771,16 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var isArray_1 = __webpack_require__(11);
-var isArrayLike_1 = __webpack_require__(66);
-var isPromise_1 = __webpack_require__(68);
-var PromiseObservable_1 = __webpack_require__(46);
-var IteratorObservable_1 = __webpack_require__(223);
+var isArrayLike_1 = __webpack_require__(65);
+var isPromise_1 = __webpack_require__(67);
+var PromiseObservable_1 = __webpack_require__(45);
+var IteratorObservable_1 = __webpack_require__(219);
var ArrayObservable_1 = __webpack_require__(10);
-var ArrayLikeObservable_1 = __webpack_require__(212);
-var iterator_1 = __webpack_require__(19);
+var ArrayLikeObservable_1 = __webpack_require__(208);
+var iterator_1 = __webpack_require__(18);
var Observable_1 = __webpack_require__(0);
-var observeOn_1 = __webpack_require__(38);
-var observable_1 = __webpack_require__(22);
+var observeOn_1 = __webpack_require__(35);
+var observable_1 = __webpack_require__(21);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -3961,7 +3888,7 @@ exports.FromObservable = FromObservable;
//# sourceMappingURL=FromObservable.js.map
/***/ }),
-/* 46 */
+/* 45 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -4088,7 +4015,7 @@ function dispatchError(arg) {
//# sourceMappingURL=PromiseObservable.js.map
/***/ }),
-/* 47 */
+/* 46 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -4103,7 +4030,7 @@ var tryCatch_1 = __webpack_require__(8);
var errorObject_1 = __webpack_require__(6);
var Observable_1 = __webpack_require__(0);
var Subscriber_1 = __webpack_require__(1);
-var map_1 = __webpack_require__(37);
+var map_1 = __webpack_require__(34);
function getCORSRequest() {
if (root_1.root.XMLHttpRequest) {
return new root_1.root.XMLHttpRequest();
@@ -4507,7 +4434,7 @@ exports.AjaxTimeoutError = AjaxTimeoutError;
//# sourceMappingURL=AjaxObservable.js.map
/***/ }),
-/* 48 */
+/* 47 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -4621,7 +4548,7 @@ var DistinctUntilChangedSubscriber = (function (_super) {
//# sourceMappingURL=distinctUntilChanged.js.map
/***/ }),
-/* 49 */
+/* 48 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -4720,7 +4647,7 @@ var FilterSubscriber = (function (_super) {
//# sourceMappingURL=filter.js.map
/***/ }),
-/* 50 */
+/* 49 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -4827,14 +4754,14 @@ exports.FindValueSubscriber = FindValueSubscriber;
//# sourceMappingURL=find.js.map
/***/ }),
-/* 51 */
+/* 50 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
var ArrayObservable_1 = __webpack_require__(10);
-var mergeAll_1 = __webpack_require__(21);
+var mergeAll_1 = __webpack_require__(20);
var isScheduler_1 = __webpack_require__(12);
/* tslint:enable:max-line-length */
/**
@@ -4978,7 +4905,7 @@ exports.mergeStatic = mergeStatic;
//# sourceMappingURL=merge.js.map
/***/ }),
-/* 52 */
+/* 51 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5155,7 +5082,7 @@ exports.MergeMapSubscriber = MergeMapSubscriber;
//# sourceMappingURL=mergeMap.js.map
/***/ }),
-/* 53 */
+/* 52 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5316,7 +5243,7 @@ exports.MergeMapToSubscriber = MergeMapToSubscriber;
//# sourceMappingURL=mergeMapTo.js.map
/***/ }),
-/* 54 */
+/* 53 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5326,7 +5253,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var FromObservable_1 = __webpack_require__(45);
+var FromObservable_1 = __webpack_require__(44);
var isArray_1 = __webpack_require__(11);
var OuterSubscriber_1 = __webpack_require__(2);
var subscribeToResult_1 = __webpack_require__(3);
@@ -5398,7 +5325,7 @@ var OnErrorResumeNextSubscriber = (function (_super) {
//# sourceMappingURL=onErrorResumeNext.js.map
/***/ }),
-/* 55 */
+/* 54 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5515,7 +5442,7 @@ exports.RaceSubscriber = RaceSubscriber;
//# sourceMappingURL=race.js.map
/***/ }),
-/* 56 */
+/* 55 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5580,7 +5507,7 @@ var TimeIntervalSubscriber = (function (_super) {
//# sourceMappingURL=timeInterval.js.map
/***/ }),
-/* 57 */
+/* 56 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5636,7 +5563,7 @@ var TimestampSubscriber = (function (_super) {
//# sourceMappingURL=timestamp.js.map
/***/ }),
-/* 58 */
+/* 57 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5646,8 +5573,8 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var AsyncAction_1 = __webpack_require__(17);
-var AsyncScheduler_1 = __webpack_require__(18);
+var AsyncAction_1 = __webpack_require__(16);
+var AsyncScheduler_1 = __webpack_require__(17);
var VirtualTimeScheduler = (function (_super) {
__extends(VirtualTimeScheduler, _super);
function VirtualTimeScheduler(SchedulerAction, maxFrames) {
@@ -5748,13 +5675,13 @@ exports.VirtualAction = VirtualAction;
//# sourceMappingURL=VirtualTimeScheduler.js.map
/***/ }),
-/* 59 */
+/* 58 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var AsapAction_1 = __webpack_require__(340);
-var AsapScheduler_1 = __webpack_require__(341);
+var AsapAction_1 = __webpack_require__(336);
+var AsapScheduler_1 = __webpack_require__(337);
/**
*
* Asap Scheduler
@@ -5793,13 +5720,13 @@ exports.asap = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);
//# sourceMappingURL=asap.js.map
/***/ }),
-/* 60 */
+/* 59 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var QueueAction_1 = __webpack_require__(342);
-var QueueScheduler_1 = __webpack_require__(343);
+var QueueAction_1 = __webpack_require__(338);
+var QueueScheduler_1 = __webpack_require__(339);
/**
*
* Queue Scheduler
@@ -5865,7 +5792,7 @@ exports.queue = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);
//# sourceMappingURL=queue.js.map
/***/ }),
-/* 61 */
+/* 60 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5882,12 +5809,12 @@ exports.SubscriptionLog = SubscriptionLog;
//# sourceMappingURL=SubscriptionLog.js.map
/***/ }),
-/* 62 */
+/* 61 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var SubscriptionLog_1 = __webpack_require__(61);
+var SubscriptionLog_1 = __webpack_require__(60);
var SubscriptionLoggable = (function () {
function SubscriptionLoggable() {
this.subscriptions = [];
@@ -5907,7 +5834,7 @@ exports.SubscriptionLoggable = SubscriptionLoggable;
//# sourceMappingURL=SubscriptionLoggable.js.map
/***/ }),
-/* 63 */
+/* 62 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5938,7 +5865,7 @@ exports.TimeoutError = TimeoutError;
//# sourceMappingURL=TimeoutError.js.map
/***/ }),
-/* 64 */
+/* 63 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5969,7 +5896,7 @@ exports.UnsubscriptionError = UnsubscriptionError;
//# sourceMappingURL=UnsubscriptionError.js.map
/***/ }),
-/* 65 */
+/* 64 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5988,7 +5915,7 @@ exports.applyMixins = applyMixins;
//# sourceMappingURL=applyMixins.js.map
/***/ }),
-/* 66 */
+/* 65 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -5997,7 +5924,7 @@ exports.isArrayLike = (function (x) { return x && typeof x.length === 'number';
//# sourceMappingURL=isArrayLike.js.map
/***/ }),
-/* 67 */
+/* 66 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -6009,7 +5936,7 @@ exports.isObject = isObject;
//# sourceMappingURL=isObject.js.map
/***/ }),
-/* 68 */
+/* 67 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -6021,7 +5948,7 @@ exports.isPromise = isPromise;
//# sourceMappingURL=isPromise.js.map
/***/ }),
-/* 69 */
+/* 68 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -6032,7 +5959,7 @@ exports.noop = noop;
//# sourceMappingURL=noop.js.map
/***/ }),
-/* 70 */
+/* 69 */
/***/ (function(module, exports, __webpack_require__) {
var apply = Function.prototype.apply;
@@ -6085,13 +6012,13 @@ exports._unrefActive = exports.active = function(item) {
};
// setimmediate attaches itself to the global object
-__webpack_require__(357);
+__webpack_require__(353);
exports.setImmediate = setImmediate;
exports.clearImmediate = clearImmediate;
/***/ }),
-/* 71 */
+/* 70 */
/***/ (function(module, exports) {
var g;
@@ -6118,54 +6045,7 @@ module.exports = g;
/***/ }),
-/* 72 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _rxjs = __webpack_require__(15);
-
-var _rxjs2 = _interopRequireDefault(_rxjs);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
-var Animation1 = {
- // const particleDivs = [];
- //
- // const instanceCount = Rx.Observable.range(0, 3);
- //
- // const createDivs = instanceCount.subscribe((i) => {
- // console.warn("creating divs")
- // const container = document.querySelector('.particles');
- // const div = document.createElement('div');
- // div.className = 'particle';
- // div.style.top = `${i * 75}px`;
- // div.style.left = 0;
- //
- // container.appendChild(div);
- // particleDivs.push(div);
- // });
- //
- // Rx.Observable
- // .interval(1000 / 32)
- // .do(frameIndex => {
- // instanceCount.subscribe(i => {
- // particleDivs[i].style.left = `${frameIndex * 10}px`;
- // });
- // // particleDivs.do(div => { div.style.left = `${n * 75}px`; }).subscribe();
- // })
- // .take(16)
- // .subscribe(console.info)
-}; // Simple frame-based movement.
-exports.default = Animation1;
-
-/***/ }),
-/* 73 */
+/* 71 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -6175,290 +6055,200 @@ Object.defineProperty(exports, "__esModule", {
value: true
});
-var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); // Scare mechanic, single particle.
-
-
-var _rxjs = __webpack_require__(15);
+var _rxjs = __webpack_require__(29);
var _rxjs2 = _interopRequireDefault(_rxjs);
-var _animation = __webpack_require__(30);
-
-var _animation2 = _interopRequireDefault(_animation);
-
-var _dom = __webpack_require__(31);
+var _particle = __webpack_require__(77);
-var _dom2 = _interopRequireDefault(_dom);
+var _particle2 = _interopRequireDefault(_particle);
-var _store = __webpack_require__(32);
+var _store = __webpack_require__(39);
var _store2 = _interopRequireDefault(_store);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-var evtScare = function evtScare(scareX, scareY) {
- return new CustomEvent("scare", { detail: { scareX: scareX, scareY: scareY } });
-};
-
-var particleDiv = document.createElement('div');
-particleDiv.className = 'anim2-particle';
-
-function checkScare(_ref) {
- var _ref2 = _slicedToArray(_ref, 2),
- evt = _ref2[0],
- store = _ref2[1];
-
- var state = store.get();
-
- var _DOM$getEventOffsetCo = _dom2.default.getEventOffsetCoords(evt, _dom2.default.containerBounds),
- evtX = _DOM$getEventOffsetCo.evtX,
- evtY = _DOM$getEventOffsetCo.evtY;
+function Animation1(node) {
+ this.container = node;
+ this.bounds = node.getBoundingClientRect();
+}
- var diffX = Math.abs(state.x - evtX);
- var diffY = Math.abs(state.y - evtY);
+// const grid = {};
+// for (let x = 0; x <= 600; x += 5) {
+// grid[x] = {};
+// for (let y = 0; y <= 600; y += 5) {
+// grid[x][y] = { type: null };
+//
+// if (x === 0 || y === 0 || x === 600 || y === 600) {
+// grid[x][y] = { type: 'wall' };
+// }
+// }
+// }
- if (evt.target === particleDiv) {
- _dom2.default.container.dispatchEvent(evtScare(evtX, evtY));
- }
+Animation1.prototype.nextFrame = function () {
+ this.particles.forEach(function (p) {
+ return p.nextFrame();
+ });
};
-function move(acc, i) {
- var x = acc.x,
- y = acc.y,
- dx = acc.dx,
- dy = acc.dy;
-
-
- var east = _dom2.default.containerBounds.width - particleDiv.offsetWidth;
- var south = _dom2.default.containerBounds.height - particleDiv.offsetHeight;
-
- x += dx;
- y += dy;
-
- if (x < 0) {
- x = Math.abs(x);
- dx = -dx;
- }
-
- if (x > east) {
- x = Math.round(2 * east - x);
- dx = -dx;
- }
-
- if (y < 0) {
- y = Math.abs(y);
- dy = -dy;
- }
-
- if (y > south) {
- y = Math.round(2 * south - y);
- dy = -dy;
- }
-
- return { x: x, y: y, dx: dx, dy: dy };
+Animation1.prototype.reset = function () {
+ // while (DOM.container.childNodes.length) {
+ // DOM.container.removeChild(DOM.container.firstChild);
+ // }
};
-function flee(_ref3) {
- var _ref4 = _slicedToArray(_ref3, 2),
- evt = _ref4[0],
- store = _ref4[1];
+Animation1.prototype.init = function () {
+ var _this = this;
- var initialState = store.get();
- var fleeRadius = 200;
- var _evt$detail = evt.detail,
- scareX = _evt$detail.scareX,
- scareY = _evt$detail.scareY;
+ this.particles = Array(1).fill().map(function (_) {
+ return new _particle2.default(_this.container, _this.bounds);
+ });
- var fps$ = _rxjs2.default.Observable.interval(1000 / 32);
+ var stop$ = _rxjs2.default.Observable.fromEvent(this.container, 'stop');
- var frames$ = fps$.scan(move, initialState).takeWhile(function (state) {
- var xDanger = Math.abs(initialState.x - state.x) < fleeRadius;
- var yDanger = Math.abs(initialState.y - state.y) < fleeRadius;
+ // Change animation speed
+ // Change animal pic
+ // Enable random radius changes
+ // Enable random rotation changes
+ // Show movement circle
+ // Show vision grid (including touches!)
+ // Start / stop
- return xDanger && yDanger;
+ console.error("Click container to stop.");
+ var fps$ = _rxjs2.default.Observable.interval(1000 / 32).takeUntil(stop$).finally(function () {
+ console.error("Stopped.");
});
- frames$.last().subscribe(function (finalState) {
- store.set(finalState);
- store.set(randomMoveVector());
+ var click$ = _rxjs2.default.Observable.fromEvent(this.container, 'click');
+ click$.subscribe(function () {
+ _this.container.dispatchEvent(new CustomEvent('stop'));
});
- frames$.subscribe(function (state) {
- particleDiv.style.left = state.x + 'px';
- particleDiv.style.top = state.y + 'px';
- });
+ fps$.subscribe(this.nextFrame.bind(this));
};
-function randomMoveVector() {
- var speed = 10;
- var dx = Math.round(Math.random() * speed);
- var dy = Math.pow(Math.pow(speed, 2) - Math.pow(dx, 2), 0.5);
+exports.default = Animation1;
- var negX = Math.random() < 0.5 ? -1 : 1;
- var negY = Math.random() < 0.5 ? -1 : 1;
+/***/ }),
+/* 72 */
+/***/ (function(module, exports, __webpack_require__) {
- dx *= negX;
- dy *= negY;
+"use strict";
- return { dx: dx, dy: dy };
-}
-function reset() {
- if (particleDiv.parentNode) {
- _dom2.default.container.removeChild(particleDiv);
- }
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+function Controls(node, animation) {
+ this.node = node;
+ this.animation = new animation(node);
- var _randomMoveVector = randomMoveVector(),
- dx = _randomMoveVector.dx,
- dy = _randomMoveVector.dy;
+ if (this.animation.init === undefined) {
+ console.error("Animation passed to Control doesn't have an init() method.");
+ }
- var store = new _store2.default({ x: 0, y: 0, dx: dx, dy: dy });
- var state = store.get();
+ if (this.animation.reset === undefined) {
+ console.error("Animation passed to Control doesn't have a reset() method.");
+ }
- particleDiv.style.top = state.y + 'px';
- particleDiv.style.left = state.x + 'px';
+ this.animation.init();
+}
- _dom2.default.container.appendChild(particleDiv);
+Controls.prototype.mount = function () {
+ // this.node.style.border = '10px solid purple'; WORKING
- return store;
+ // right aligned panel, pass in extra custom controls array of nodes
+ // set of prescribed styles
};
-function init() {
- var store = reset();
+exports.default = Controls;
- var click$ = _rxjs2.default.Observable.fromEvent(_dom2.default.container, 'click')
- // .do(DOM.calcBounds)
- .do(_dom2.default.highlight).map(function (evt) {
- return [evt, store];
- }).subscribe(checkScare);
+/***/ }),
+/* 73 */
+/***/ (function(module, exports) {
- _rxjs2.default.Observable.fromEvent(_dom2.default.container, 'scare').map(function (evt) {
- return [evt, store];
- }).subscribe(flee);
-};
+// removed by extract-text-webpack-plugin
-var Animation2 = Object.assign({}, _animation2.default, { init: init, reset: reset });
+/***/ }),
+/* 74 */
+/***/ (function(module, exports) {
-exports.default = Animation2;
+// removed by extract-text-webpack-plugin
/***/ }),
-/* 74 */
+/* 75 */,
+/* 76 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _rxjs = __webpack_require__(15);
+var _rxjs = __webpack_require__(29);
var _rxjs2 = _interopRequireDefault(_rxjs);
-var _animation = __webpack_require__(30);
-
-var _animation2 = _interopRequireDefault(_animation);
+var _controls = __webpack_require__(72);
-var _dom = __webpack_require__(31);
+var _controls2 = _interopRequireDefault(_controls);
-var _dom2 = _interopRequireDefault(_dom);
+var _animation = __webpack_require__(71);
-var _store = __webpack_require__(32);
-
-var _store2 = _interopRequireDefault(_store);
+var _animation2 = _interopRequireDefault(_animation);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-// Single particle movement.
-// Goal: per-frame decisions
-// 20 x 20 grid
+__webpack_require__(74);
+__webpack_require__(73);
+__webpack_require__(38);
-// The trickiest portion of this iteration was animating the curved paths. Calculating arc length (for scalar speed) along an elliptical
-// geometry is quite difficult, so the current solution uses circular paths, which change radius and sometimes rotation after a random
-// number of frames have emitted. A smoothstep cubic curve was considered, but maintaining consistent entry and exit angles will affect
-// performance for large particle counts.
+new _controls2.default(document.getElementById('animation1'), _animation2.default).mount();
-// Another tricky part was the wall avoidance and vision grid.
-
-// This algorithm travels a random period of time around a random arc.
-// If a wall is detected, a 180-degree turn is executed.
-
-var speed = 4;
-var grid = {};
-var t45 = Math.PI / 4;
-var t90 = Math.PI / 2;
-var t270 = 3 * Math.PI / 2;
-var t360 = Math.PI * 2;
+// TODO adding core UI breaks bounds
+//
+// TODO ANIM 3 birds entering, land on palette, find next one if full
+// TODO ANIM 4 dog chasing
+//
+// TODO PR: https://github.com/ReactiveX/rxjs/blob/master/doc/decision-tree-widget/tree.yml#L122 "...time past since the last..."
-var movementCircle = document.createElement('div');
-movementCircle.className = 'anim3-movement-circle';
+/***/ }),
+/* 77 */
+/***/ (function(module, exports, __webpack_require__) {
-var particle = document.createElement('div');
-particle.className = 'anim3-particle';
+"use strict";
-var visionGridPoints = calculateVisionGridPoints();
-function move(store) {
- var _store$get = store.get(),
- arc = _store$get.arc,
- clockwise = _store$get.clockwise,
- particleX = _store$get.particleX,
- particleY = _store$get.particleY;
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
- var delta = speed / arc.r;
- arc.t += clockwise ? -delta : +delta;
- arc.t = arc.t > 0 ? arc.t % t360 : t360 - arc.t;
+var _rxjs = __webpack_require__(29);
- var intersections = detectWall(store);
+var _rxjs2 = _interopRequireDefault(_rxjs);
- if (intersections.length > 0) {
- var _intersections$reduce = intersections.reduce(function (_ref, _ref2) {
- var xs = _ref.xs,
- ys = _ref.ys;
- var x = _ref2.x,
- y = _ref2.y;
- return { xs: xs + x, ys: ys + y };
- }, { xs: 0, ys: 0 }),
- xs = _intersections$reduce.xs,
- ys = _intersections$reduce.ys;
+var _enums = __webpack_require__(354);
- var avgX = xs / intersections.length;
- var avgY = ys / intersections.length;
+var _store = __webpack_require__(39);
- var v = Math.atan((particleY - avgY) / (particleX - avgX));
- // console.warn(Math.round(v * 180 / Math.PI))
+var _store2 = _interopRequireDefault(_store);
- var modifier = Math.max(Math.round(v * 180 / Math.PI), 20);
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- arc = modifyArc(arc, 20);
- // } else if (Math.random() < 0.005) {
- // console.warn('changing direction')
- // clockwise = !clockwise;
- // arc = changeDirection(arc);
- } else {
- arc = modifyArc(arc, 300);
+// import DOM from './dom';
+var random = {
+ bool: function bool() {
+ return Math.random() < 0.5;
+ },
+ num: function num(min, max) {
+ return min + Math.round(Math.random() * max);
}
+};
- particleX = arc.x + arc.r * Math.cos(arc.t);
- particleY = arc.y - arc.r * Math.sin(arc.t);
-
- store.set({
- arc: arc,
- clockwise: clockwise,
- particleX: particleX,
- particleY: particleY
- });
-}
-
-// generate next arc:
-// starting point will be locked
-// starting angle will be locked
-// therefore tangential
-function modifyArc(arc, newRadius) {
+function moveArc(arc, newRadius) {
var r0 = arc.r;
var r1 = newRadius;
+ // Moves arc center to new radius while keeping theta constant.
arc.x -= (r1 - r0) * Math.cos(arc.t);
arc.y += (r1 - r0) * Math.sin(arc.t);
arc.r = r1;
@@ -6467,439 +6257,155 @@ function modifyArc(arc, newRadius) {
}
function changeDirection(arc) {
- arc.t = (arc.t + Math.PI) % t360;
+ arc.t = (arc.t + Math.PI) % _enums.RAD.t360;
arc.x -= 2 * arc.r * Math.cos(arc.t);
arc.y += 2 * arc.r * Math.sin(arc.t);
return arc;
}
-function detectWall(store) {
- var len = visionGridPoints.length;
-
- var _store$get2 = store.get(),
- arc = _store$get2.arc,
- clockwise = _store$get2.clockwise,
- particleX = _store$get2.particleX,
- particleY = _store$get2.particleY;
-
- var r0 = Math.min(arc.t, arc.t - Math.PI);
- var r1 = Math.max(arc.t, arc.t + Math.PI);
-
- var gridX = particleX - particleX % 5;
- var gridY = particleY - particleY % 5;
-
- return visionGridPoints.reduce(function (acc, point) {
- var xx = gridX + point.x;
- var yy = gridY - point.y;
- var alpha = point.alpha;
-
- if (grid[xx] && grid[xx][yy] && grid[xx][yy].type === 'wall') {
- if (clockwise === false && alpha >= 0 && alpha <= r0) {
- acc.push(point);
- } else if (clockwise === false && alpha >= arc.t && alpha <= r1) {
- acc.push(point);
- } else if (clockwise === true) {
- acc.push(point);
- }
- }
-
- return acc;
- }, []);
-}
-
-function transformParticle(store) {
- var _store$get3 = store.get(),
- arc = _store$get3.arc,
- clockwise = _store$get3.clockwise,
- particleX = _store$get3.particleX,
- particleY = _store$get3.particleY;
-
- var rad = clockwise ? Math.PI - arc.t : t360 - arc.t;
-
- particle.style.left = particleX + 'px';
- particle.style.top = particleY + 'px';
- particle.style.transform = 'rotate(' + rad + 'rad)';
-}
-
-function transformVisionGrid(store) {
- var _store$get4 = store.get(),
- arc = _store$get4.arc,
- clockwise = _store$get4.clockwise,
- particleX = _store$get4.particleX,
- particleY = _store$get4.particleY,
- radius = _store$get4.radius;
-
- var r0 = Math.min(arc.t, arc.t - Math.PI);
- var r1 = Math.max(arc.t, arc.t + Math.PI);
-
- var gridX = particleX - particleX % 5;
- var gridY = particleY - particleY % 5;
-
- visionGridPoints.forEach(function (_ref3, i) {
- var x = _ref3.x,
- y = _ref3.y,
- alpha = _ref3.alpha,
- div = _ref3.div;
-
- if (alpha >= 0 && alpha <= r0) {
- div.style.display = clockwise ? 'none' : 'block';
- // div.className = (clockwise ? 'anim3-dot removed' : 'anim3-dot');
- } else if (alpha >= arc.t && alpha <= r1) {
- div.style.display = clockwise ? 'none' : 'block';
- // div.className = (clockwise ? 'anim3-dot removed' : 'anim3-dot');
- } else {
- div.style.display = clockwise ? 'block' : 'none';
- // div.className = (clockwise ? 'anim3-dot' : 'anim3-dot removed');
- }
-
- div.style.left = x + gridX + 'px';
- div.style.top = -y + gridY + 'px';
- });
-}
-
-function calculateVisionGridPoints() {
- var gridSize = 5;
- var visionRadius = 50;
-
- var squareGrid = [];
- for (var x = -visionRadius; x <= visionRadius; x += gridSize) {
- for (var y = -visionRadius; y <= visionRadius; y += gridSize) {
- var alpha = Math.atan(y / x);
-
- if (x === 0 && y === 0) {
- alpha = 0;
- } else if (x === 0 && y < 0) {
- alpha = t270;
- } else if (y === 0 && x < 0) {
- alpha = Math.PI;
- } else if (x === 0 && y > 0) {
- alpha = t90;
- } else if (x < 0 && y < 0) {
- alpha = alpha + Math.PI;
- } else if (x <= 0) {
- alpha = Math.PI + alpha;
- } else if (y < 0) {
- alpha = 2 * Math.PI + alpha;
- }
-
- squareGrid.push({ x: x, y: y, alpha: alpha });
- }
- }
-
- var r0 = Math.pow(visionRadius, 2);
- var r1 = Math.pow(visionRadius - gridSize, 2);
-
- return squareGrid.reduce(function (acc, point) {
- var p = Math.pow(point.x, 2) + Math.pow(point.y, 2);
- if (p > r0 || p < r1) {
- return acc;
- }
-
- var div = document.createElement('div');
- div.className = 'anim3-dot';
-
- acc.push(Object.assign(point, { div: div }));
- return acc;
- }, []);
-}
-
-function reset() {
- while (_dom2.default.container.childNodes.length) {
- _dom2.default.container.removeChild(_dom2.default.container.firstChild);
- }
-
- var store = new _store2.default({
- arc: {
- r: Math.round(Math.random() * 200) + 100,
- t: Math.random() * t360,
- x: 300,
- y: 300
- },
- clockwise: false
- });
-
- move(store);
-
- transformParticle(store);
- // transformMovementCircle(store);
- transformVisionGrid(store);
-
- _dom2.default.container.appendChild(particle);
- _dom2.default.container.appendChild(movementCircle);
-
- visionGridPoints.forEach(function (point) {
- _dom2.default.container.appendChild(point.div);
- });
-
- return store;
-};
-
-function init() {
- var store = reset();
-
- for (var x = 0; x <= 600; x += 5) {
- grid[x] = {};
- for (var y = 0; y <= 600; y += 5) {
- grid[x][y] = { type: null };
-
- if (x === 0 || y === 0 || x === 600 || y === 600) {
- grid[x][y] = { type: 'wall' };
- }
- }
- }
-
- var stop$ = _rxjs2.default.Observable.fromEvent(_dom2.default.container, 'stop');
- var fps$ = _rxjs2.default.Observable.interval(1000 / 128).map(function (_) {
- return store;
- })
- // .take(300)
- // .take(15)
- .takeUntil(stop$);console.error("CLICK TO STOP");
-
- var click$ = _rxjs2.default.Observable.fromEvent(_dom2.default.container, 'click');
- click$.subscribe(function () {
- _dom2.default.container.dispatchEvent(new CustomEvent('stop'));
- });
-
- fps$.subscribe(move);
- fps$.subscribe(transformParticle);
- fps$.subscribe(transformVisionGrid);
- // fps$.subscribe(transformMovementCircle);
-};
-
-var Animation3 = Object.assign({}, _animation2.default, { init: init, reset: reset });
-
-exports.default = Animation3;
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
- value: true
-});
-
-var _rxjs = __webpack_require__(15);
-
-var _rxjs2 = _interopRequireDefault(_rxjs);
-
-var _animation = __webpack_require__(30);
-
-var _animation2 = _interopRequireDefault(_animation);
-
-var _dom = __webpack_require__(31);
-
-var _dom2 = _interopRequireDefault(_dom);
-
-var _store = __webpack_require__(32);
-
-var _store2 = _interopRequireDefault(_store);
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
+// function transformVisionGrid(store) {
+// const {
+// arc,
+// clockwise,
+// particle.x,
+// particle.y,
+// radius,
+// } = store.get();
//
-// const evtScare = (detail) => new CustomEvent('scare', { detail });
-// const evtMove = (detail) => new CustomEvent('move', { detail });
+// const r0 = Math.min(arc.t, arc.t - Math.PI);
+// const r1 = Math.max(arc.t, arc.t + Math.PI);
//
-// const [particles, state] = (new Array(5)).fill(null).reduce((acc, v, i) => {
-// // const div = document.createElement('div');
-// // div.className = 'anim3-particle';
-// // div.innerHTML = ''
-// //
-// // const x = 0;
-// // const y = i * 20;
-// //
-// // div.style.left = 0
-// // div.style.top = `${y}px`;
-// //
-// // acc[0].push(div);
-// // acc[1].push({ x, y });
-// //
-// // acc[1][`${x}-${y}`] = { occupied: true, type: 'palette', x, y, i };
-// //
-// // return acc;
-// }, [[], []]);
+// const gridX = particle.x - particle.x % 5;
+// const gridY = particle.y - particle.y % 5;
//
-// const palettes = (new Array(1)).fill(null).reduce((acc, v, i) => {
-// const initialX = 200;
-// const initialY = 200;
-// const w = 167;
-// const h = 100;
-// const maxX = initialX + w;
-// const maxY = initialY + h;
-// const s = 20;
-//
-// for (let y = initialY; y < maxY; y += s) {
-// for (let x = initialX; x < maxX; x += s) {
-// state[`${x}-${y}`] = { occupied: true, type: 'palette', i };
+// visionGridPoints.forEach(({ x, y, alpha, div }, i) => {
+// if (alpha >= 0 && alpha <= r0) {
+// div.style.display = (clockwise ? 'none' : 'block');
+// // div.className = (clockwise ? 'anim3-dot removed' : 'anim3-dot');
+// } else if (alpha >= arc.t && alpha <= r1) {
+// div.style.display = (clockwise ? 'none' : 'block');
+// // div.className = (clockwise ? 'anim3-dot removed' : 'anim3-dot');
+// } else {
+// div.style.display = (clockwise ? 'block' : 'none');
+// // div.className = (clockwise ? 'anim3-dot' : 'anim3-dot removed');
// }
-// }
-//
-// const div = document.createElement('div');
-// div.className = 'palette';
-// div.style.left = `${initialX}px`;
-// div.style.top = `${initialY}px`;
//
-// acc.push(div);
-//
-// return acc;
-// }, []);
-//
-// function scare(evt) {
-// const bounds = DOM.container.getBoundingClientRect();
-// const { evtX: x, evtY: y } = DOM.getEventOffsetCoords(evt, bounds);
-// const scareRadius = 50;
-//
-// state.forEach((coord, i) => {
-// const diffX = Math.abs(coord.x - x + 10);
-// const diffY = Math.abs(coord.y - y + 10);
-//
-// if (diffX < scareRadius && diffY < scareRadius) {
-// coord.lastScare = { x, y } // TODO set state with last scare, then judge per frame based on that number to avoid jump
-// DOM.container.dispatchEvent(evtScare({ x, y, i }));
-// }
+// div.style.left = `${x + gridX}px`;
+// div.style.top = `${-y + gridY}px`;
// });
// }
//
-// function move(evt) {
-//
-// }
-//
-// function flee(evt) {
-// particles[evt.detail.i].innerHTML = 'S'
-// DOM.addClass(particles[evt.detail.i], 'scared');
-// const p = particles[evt.detail.i];
-// DOM.container.dispatchEvent(evtMove(evt.detail));
-//
-// setTimeout(() => {
-// p.innerHTML = '';
-// DOM.removeClass(p, 'scared');
-// }, 1000);
-// }
-//
-// Join mechanic, multiple particles.
-// Goal: per-frame decisions
-// 20 x 20 grid
-function reset() {
- // while (DOM.container.childNodes.length) {
- // DOM.container.removeChild(DOM.container.firstChild);
- // }
- //
- // particles.forEach((div) => {
- // div.innerHTML = '';
- // DOM.container.appendChild(div)
- // });
- //
- // palettes.forEach((div) => {
- // DOM.container.appendChild(div)
- // });
-};
-
-function init() {
- // reset();
- //
- // const click$ = Rx.Observable.fromEvent(DOM.container, 'click');
- // const scare$ = Rx.Observable.fromEvent(DOM.container, 'scare').auditTime(100);
- // const move$ = Rx.Observable.fromEvent(DOM.container, 'move');
- //
- // click$.subscribe(scare);
- // scare$.subscribe(flee);
- // move$.subscribe(console.info);
-};
-
-var Animation5 = Object.assign({}, _animation2.default, { init: init, reset: reset });
-
-exports.default = Animation5;
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports) {
-// removed by extract-text-webpack-plugin
+function Particle(container, bounds) {
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
-/***/ }),
-/* 77 */
-/***/ (function(module, exports) {
+ this.container = container;
+ this.bounds = bounds;
-// removed by extract-text-webpack-plugin
+ this.node = document.createElement('div');
+ this.node.className = 'particle has-vision';
-/***/ }),
-/* 78 */
-/***/ (function(module, exports) {
+ this.circle = document.createElement('div');
+ this.circle.className = 'particle-movement-circle';
-// removed by extract-text-webpack-plugin
+ this.container.appendChild(this.node);
+ this.container.appendChild(this.circle);
-/***/ }),
-/* 79 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports) {
-
-// removed by extract-text-webpack-plugin
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __webpack_require__) {
+ this.arc = {
+ r: random.num(100, 200),
+ t: random.num(0, _enums.RAD.t360),
+ x: random.num(0, bounds.width),
+ y: random.num(0, bounds.height)
+ };
-"use strict";
+ this.particle = {
+ clockwise: random.bool(),
+ speed: 4,
+ x: 0,
+ y: 0
+ };
+ this.interval = 0;
-var _rxjs = __webpack_require__(15);
+ this.updateOptions(options);
+ this.nextFrame();
+};
-var _rxjs2 = _interopRequireDefault(_rxjs);
+Particle.prototype.nextFrame = function () {
+ this.move();
+ this.repaintParticle();
+ this.repaintCircle();
+};
-var _animation = __webpack_require__(72);
+Particle.prototype.updateOptions = function (options) {
+ this.particleImage = 'seahorse';
+ this.randomlyChangeRadius = new Boolean(options.randomlyChangeRadius) || true;
+ this.randomlyChangeRotation = new Boolean(options.randomlyChangeRotation) || true;
+ this.showCircle = new Boolean(options.showCircle) || false;
+ this.showVision = new Boolean(options.showVision) || false;
+};
-var _animation2 = _interopRequireDefault(_animation);
+Particle.prototype.repaintParticle = function () {
+ var rad = this.particle.clockwise ? _enums.RAD.t180 - this.arc.t : _enums.RAD.t360 - this.arc.t;
-var _animation3 = __webpack_require__(73);
+ this.node.style.left = this.particle.x + 'px';
+ this.node.style.top = this.particle.y + 'px';
+ this.node.style.transform = 'rotate(' + rad + 'rad)';
+};
-var _animation4 = _interopRequireDefault(_animation3);
+Particle.prototype.repaintCircle = function () {
+ this.circle.style.width = 2 * this.arc.r + 'px';
+ this.circle.style.height = 2 * this.arc.r + 'px';
+ this.circle.style.left = this.arc.x - this.arc.r + 'px';
+ this.circle.style.top = this.arc.y - this.arc.r + 'px';
-var _animation5 = __webpack_require__(74);
+ this.circle.style.borderRadius = this.arc.r + 'px';
+};
-var _animation6 = _interopRequireDefault(_animation5);
+Particle.prototype.move = function (store) {
+ // Randomly change radius and rotation direction.
+ this.interval -= 1;
+ if (this.interval <= 0) {
+ this.interval = random.num(50, 100);
+ this.arc = moveArc(this.arc, random.num(100, 200));
-var _animation7 = __webpack_require__(75);
+ if (random.bool()) {
+ this.particle.clockwise = !this.particle.clockwise;
+ this.arc = changeDirection(this.arc);
+ }
+ }
-var _animation8 = _interopRequireDefault(_animation7);
+ // Ensure constant velocity and theta between 0 and 2π.
+ var delta = this.particle.speed / this.arc.r;
+ this.arc.t += this.particle.clockwise ? -delta : +delta;
+ this.arc.t = this.arc.t > 0 ? this.arc.t % _enums.RAD.t360 : _enums.RAD.t360 - this.arc.t;
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+ this.particle.x = this.arc.x + this.arc.r * Math.cos(this.arc.t);
+ this.particle.y = this.arc.y - this.arc.r * Math.sin(this.arc.t);
-__webpack_require__(80);
-__webpack_require__(79);
-__webpack_require__(76);
-__webpack_require__(77);
-__webpack_require__(78);
+ // Overflow.
+ if (this.particle.x < 0) {
+ this.particle.x += this.bounds.width;
+ this.arc.x += this.bounds.width;
+ } else if (this.particle.x > this.bounds.width) {
+ this.particle.x -= this.bounds.width;
+ this.arc.x -= this.bounds.width;
+ }
-_animation6.default.init();
+ if (this.particle.y < 0) {
+ this.particle.y += this.bounds.height; // TODO size of area
+ this.arc.y += this.bounds.height;
+ } else if (this.particle.y > this.bounds.height) {
+ this.particle.y -= this.bounds.height;
+ this.arc.y -= this.bounds.height;
+ }
+};
-// TODO ANIM 2 clicking several times on seahorse creates jumpiness
-// TODO display file contents in page
-// TODO adding core UI breaks bounds
-//
-// TODO ANIM 3 birds entering, land on palette, find next one if full
-// TODO ANIM 4 dog chasing
-//
-// TODO PR: https://github.com/ReactiveX/rxjs/blob/master/doc/decision-tree-widget/tree.yml#L122 "...time past since the last..."
-//
-// INTERMEDIATE TOPICS
-// === I have one existing Observable and
-// I want to group the values based on another Observable for opening a group, and an Observable for closing a group...
-// I want to start a new Observable for each value...
-// I want to share a subscription between multiple subscribers...
-// I want to change the scheduler...
+exports.default = Particle;
/***/ }),
-/* 82 */
+/* 78 */
/***/ (function(module, exports) {
// shim for using process in browser
@@ -7085,7 +6591,7 @@ process.umask = function() { return 0; };
/***/ }),
-/* 83 */
+/* 79 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -7127,7 +6633,7 @@ exports.InnerSubscriber = InnerSubscriber;
//# sourceMappingURL=InnerSubscriber.js.map
/***/ }),
-/* 84 */
+/* 80 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -7182,860 +6688,860 @@ exports.Scheduler = Scheduler;
//# sourceMappingURL=Scheduler.js.map
/***/ }),
-/* 85 */
+/* 81 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var bindCallback_1 = __webpack_require__(230);
+var bindCallback_1 = __webpack_require__(226);
Observable_1.Observable.bindCallback = bindCallback_1.bindCallback;
//# sourceMappingURL=bindCallback.js.map
/***/ }),
-/* 86 */
+/* 82 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var bindNodeCallback_1 = __webpack_require__(231);
+var bindNodeCallback_1 = __webpack_require__(227);
Observable_1.Observable.bindNodeCallback = bindNodeCallback_1.bindNodeCallback;
//# sourceMappingURL=bindNodeCallback.js.map
/***/ }),
-/* 87 */
+/* 83 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var combineLatest_1 = __webpack_require__(232);
+var combineLatest_1 = __webpack_require__(228);
Observable_1.Observable.combineLatest = combineLatest_1.combineLatest;
//# sourceMappingURL=combineLatest.js.map
/***/ }),
-/* 88 */
+/* 84 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var concat_1 = __webpack_require__(233);
+var concat_1 = __webpack_require__(229);
Observable_1.Observable.concat = concat_1.concat;
//# sourceMappingURL=concat.js.map
/***/ }),
-/* 89 */
+/* 85 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var defer_1 = __webpack_require__(234);
+var defer_1 = __webpack_require__(230);
Observable_1.Observable.defer = defer_1.defer;
//# sourceMappingURL=defer.js.map
/***/ }),
-/* 90 */
+/* 86 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var ajax_1 = __webpack_require__(236);
+var ajax_1 = __webpack_require__(232);
Observable_1.Observable.ajax = ajax_1.ajax;
//# sourceMappingURL=ajax.js.map
/***/ }),
-/* 91 */
+/* 87 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var webSocket_1 = __webpack_require__(237);
+var webSocket_1 = __webpack_require__(233);
Observable_1.Observable.webSocket = webSocket_1.webSocket;
//# sourceMappingURL=webSocket.js.map
/***/ }),
-/* 92 */
+/* 88 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var empty_1 = __webpack_require__(238);
+var empty_1 = __webpack_require__(234);
Observable_1.Observable.empty = empty_1.empty;
//# sourceMappingURL=empty.js.map
/***/ }),
-/* 93 */
+/* 89 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var forkJoin_1 = __webpack_require__(239);
+var forkJoin_1 = __webpack_require__(235);
Observable_1.Observable.forkJoin = forkJoin_1.forkJoin;
//# sourceMappingURL=forkJoin.js.map
/***/ }),
-/* 94 */
+/* 90 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var from_1 = __webpack_require__(240);
+var from_1 = __webpack_require__(236);
Observable_1.Observable.from = from_1.from;
//# sourceMappingURL=from.js.map
/***/ }),
-/* 95 */
+/* 91 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var fromEvent_1 = __webpack_require__(241);
+var fromEvent_1 = __webpack_require__(237);
Observable_1.Observable.fromEvent = fromEvent_1.fromEvent;
//# sourceMappingURL=fromEvent.js.map
/***/ }),
-/* 96 */
+/* 92 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var fromEventPattern_1 = __webpack_require__(242);
+var fromEventPattern_1 = __webpack_require__(238);
Observable_1.Observable.fromEventPattern = fromEventPattern_1.fromEventPattern;
//# sourceMappingURL=fromEventPattern.js.map
/***/ }),
-/* 97 */
+/* 93 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var fromPromise_1 = __webpack_require__(243);
+var fromPromise_1 = __webpack_require__(239);
Observable_1.Observable.fromPromise = fromPromise_1.fromPromise;
//# sourceMappingURL=fromPromise.js.map
/***/ }),
-/* 98 */
+/* 94 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var GenerateObservable_1 = __webpack_require__(220);
+var GenerateObservable_1 = __webpack_require__(216);
Observable_1.Observable.generate = GenerateObservable_1.GenerateObservable.create;
//# sourceMappingURL=generate.js.map
/***/ }),
-/* 99 */
+/* 95 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var if_1 = __webpack_require__(244);
+var if_1 = __webpack_require__(240);
Observable_1.Observable.if = if_1._if;
//# sourceMappingURL=if.js.map
/***/ }),
-/* 100 */
+/* 96 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var interval_1 = __webpack_require__(245);
+var interval_1 = __webpack_require__(241);
Observable_1.Observable.interval = interval_1.interval;
//# sourceMappingURL=interval.js.map
/***/ }),
-/* 101 */
+/* 97 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var merge_1 = __webpack_require__(246);
+var merge_1 = __webpack_require__(242);
Observable_1.Observable.merge = merge_1.merge;
//# sourceMappingURL=merge.js.map
/***/ }),
-/* 102 */
+/* 98 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var never_1 = __webpack_require__(247);
+var never_1 = __webpack_require__(243);
Observable_1.Observable.never = never_1.never;
//# sourceMappingURL=never.js.map
/***/ }),
-/* 103 */
+/* 99 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var of_1 = __webpack_require__(248);
+var of_1 = __webpack_require__(244);
Observable_1.Observable.of = of_1.of;
//# sourceMappingURL=of.js.map
/***/ }),
-/* 104 */
+/* 100 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var onErrorResumeNext_1 = __webpack_require__(54);
+var onErrorResumeNext_1 = __webpack_require__(53);
Observable_1.Observable.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNextStatic;
//# sourceMappingURL=onErrorResumeNext.js.map
/***/ }),
-/* 105 */
+/* 101 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var pairs_1 = __webpack_require__(249);
+var pairs_1 = __webpack_require__(245);
Observable_1.Observable.pairs = pairs_1.pairs;
//# sourceMappingURL=pairs.js.map
/***/ }),
-/* 106 */
+/* 102 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var race_1 = __webpack_require__(55);
+var race_1 = __webpack_require__(54);
Observable_1.Observable.race = race_1.raceStatic;
//# sourceMappingURL=race.js.map
/***/ }),
-/* 107 */
+/* 103 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var range_1 = __webpack_require__(250);
+var range_1 = __webpack_require__(246);
Observable_1.Observable.range = range_1.range;
//# sourceMappingURL=range.js.map
/***/ }),
-/* 108 */
+/* 104 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var throw_1 = __webpack_require__(251);
+var throw_1 = __webpack_require__(247);
Observable_1.Observable.throw = throw_1._throw;
//# sourceMappingURL=throw.js.map
/***/ }),
-/* 109 */
+/* 105 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var timer_1 = __webpack_require__(252);
+var timer_1 = __webpack_require__(248);
Observable_1.Observable.timer = timer_1.timer;
//# sourceMappingURL=timer.js.map
/***/ }),
-/* 110 */
+/* 106 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var using_1 = __webpack_require__(253);
+var using_1 = __webpack_require__(249);
Observable_1.Observable.using = using_1.using;
//# sourceMappingURL=using.js.map
/***/ }),
-/* 111 */
+/* 107 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var zip_1 = __webpack_require__(254);
+var zip_1 = __webpack_require__(250);
Observable_1.Observable.zip = zip_1.zip;
//# sourceMappingURL=zip.js.map
/***/ }),
-/* 112 */
+/* 108 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var audit_1 = __webpack_require__(255);
+var audit_1 = __webpack_require__(251);
Observable_1.Observable.prototype.audit = audit_1.audit;
//# sourceMappingURL=audit.js.map
/***/ }),
-/* 113 */
+/* 109 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var auditTime_1 = __webpack_require__(256);
+var auditTime_1 = __webpack_require__(252);
Observable_1.Observable.prototype.auditTime = auditTime_1.auditTime;
//# sourceMappingURL=auditTime.js.map
/***/ }),
-/* 114 */
+/* 110 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var buffer_1 = __webpack_require__(257);
+var buffer_1 = __webpack_require__(253);
Observable_1.Observable.prototype.buffer = buffer_1.buffer;
//# sourceMappingURL=buffer.js.map
/***/ }),
-/* 115 */
+/* 111 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var bufferCount_1 = __webpack_require__(258);
+var bufferCount_1 = __webpack_require__(254);
Observable_1.Observable.prototype.bufferCount = bufferCount_1.bufferCount;
//# sourceMappingURL=bufferCount.js.map
/***/ }),
-/* 116 */
+/* 112 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var bufferTime_1 = __webpack_require__(259);
+var bufferTime_1 = __webpack_require__(255);
Observable_1.Observable.prototype.bufferTime = bufferTime_1.bufferTime;
//# sourceMappingURL=bufferTime.js.map
/***/ }),
-/* 117 */
+/* 113 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var bufferToggle_1 = __webpack_require__(260);
+var bufferToggle_1 = __webpack_require__(256);
Observable_1.Observable.prototype.bufferToggle = bufferToggle_1.bufferToggle;
//# sourceMappingURL=bufferToggle.js.map
/***/ }),
-/* 118 */
+/* 114 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var bufferWhen_1 = __webpack_require__(261);
+var bufferWhen_1 = __webpack_require__(257);
Observable_1.Observable.prototype.bufferWhen = bufferWhen_1.bufferWhen;
//# sourceMappingURL=bufferWhen.js.map
/***/ }),
-/* 119 */
+/* 115 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var catch_1 = __webpack_require__(262);
+var catch_1 = __webpack_require__(258);
Observable_1.Observable.prototype.catch = catch_1._catch;
Observable_1.Observable.prototype._catch = catch_1._catch;
//# sourceMappingURL=catch.js.map
/***/ }),
-/* 120 */
+/* 116 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var combineAll_1 = __webpack_require__(263);
+var combineAll_1 = __webpack_require__(259);
Observable_1.Observable.prototype.combineAll = combineAll_1.combineAll;
//# sourceMappingURL=combineAll.js.map
/***/ }),
-/* 121 */
+/* 117 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var combineLatest_1 = __webpack_require__(35);
+var combineLatest_1 = __webpack_require__(32);
Observable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;
//# sourceMappingURL=combineLatest.js.map
/***/ }),
-/* 122 */
+/* 118 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var concat_1 = __webpack_require__(36);
+var concat_1 = __webpack_require__(33);
Observable_1.Observable.prototype.concat = concat_1.concat;
//# sourceMappingURL=concat.js.map
/***/ }),
-/* 123 */
+/* 119 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var concatAll_1 = __webpack_require__(264);
+var concatAll_1 = __webpack_require__(260);
Observable_1.Observable.prototype.concatAll = concatAll_1.concatAll;
//# sourceMappingURL=concatAll.js.map
/***/ }),
-/* 124 */
+/* 120 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var concatMap_1 = __webpack_require__(265);
+var concatMap_1 = __webpack_require__(261);
Observable_1.Observable.prototype.concatMap = concatMap_1.concatMap;
//# sourceMappingURL=concatMap.js.map
/***/ }),
-/* 125 */
+/* 121 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var concatMapTo_1 = __webpack_require__(266);
+var concatMapTo_1 = __webpack_require__(262);
Observable_1.Observable.prototype.concatMapTo = concatMapTo_1.concatMapTo;
//# sourceMappingURL=concatMapTo.js.map
/***/ }),
-/* 126 */
+/* 122 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var count_1 = __webpack_require__(267);
+var count_1 = __webpack_require__(263);
Observable_1.Observable.prototype.count = count_1.count;
//# sourceMappingURL=count.js.map
/***/ }),
-/* 127 */
+/* 123 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var debounce_1 = __webpack_require__(268);
+var debounce_1 = __webpack_require__(264);
Observable_1.Observable.prototype.debounce = debounce_1.debounce;
//# sourceMappingURL=debounce.js.map
/***/ }),
-/* 128 */
+/* 124 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var debounceTime_1 = __webpack_require__(269);
+var debounceTime_1 = __webpack_require__(265);
Observable_1.Observable.prototype.debounceTime = debounceTime_1.debounceTime;
//# sourceMappingURL=debounceTime.js.map
/***/ }),
-/* 129 */
+/* 125 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var defaultIfEmpty_1 = __webpack_require__(270);
+var defaultIfEmpty_1 = __webpack_require__(266);
Observable_1.Observable.prototype.defaultIfEmpty = defaultIfEmpty_1.defaultIfEmpty;
//# sourceMappingURL=defaultIfEmpty.js.map
/***/ }),
-/* 130 */
+/* 126 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var delay_1 = __webpack_require__(271);
+var delay_1 = __webpack_require__(267);
Observable_1.Observable.prototype.delay = delay_1.delay;
//# sourceMappingURL=delay.js.map
/***/ }),
-/* 131 */
+/* 127 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var delayWhen_1 = __webpack_require__(272);
+var delayWhen_1 = __webpack_require__(268);
Observable_1.Observable.prototype.delayWhen = delayWhen_1.delayWhen;
//# sourceMappingURL=delayWhen.js.map
/***/ }),
-/* 132 */
+/* 128 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var dematerialize_1 = __webpack_require__(273);
+var dematerialize_1 = __webpack_require__(269);
Observable_1.Observable.prototype.dematerialize = dematerialize_1.dematerialize;
//# sourceMappingURL=dematerialize.js.map
/***/ }),
-/* 133 */
+/* 129 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var distinct_1 = __webpack_require__(274);
+var distinct_1 = __webpack_require__(270);
Observable_1.Observable.prototype.distinct = distinct_1.distinct;
//# sourceMappingURL=distinct.js.map
/***/ }),
-/* 134 */
+/* 130 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var distinctUntilChanged_1 = __webpack_require__(48);
+var distinctUntilChanged_1 = __webpack_require__(47);
Observable_1.Observable.prototype.distinctUntilChanged = distinctUntilChanged_1.distinctUntilChanged;
//# sourceMappingURL=distinctUntilChanged.js.map
/***/ }),
-/* 135 */
+/* 131 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var distinctUntilKeyChanged_1 = __webpack_require__(275);
+var distinctUntilKeyChanged_1 = __webpack_require__(271);
Observable_1.Observable.prototype.distinctUntilKeyChanged = distinctUntilKeyChanged_1.distinctUntilKeyChanged;
//# sourceMappingURL=distinctUntilKeyChanged.js.map
/***/ }),
-/* 136 */
+/* 132 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var do_1 = __webpack_require__(276);
+var do_1 = __webpack_require__(272);
Observable_1.Observable.prototype.do = do_1._do;
Observable_1.Observable.prototype._do = do_1._do;
//# sourceMappingURL=do.js.map
/***/ }),
-/* 137 */
+/* 133 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var elementAt_1 = __webpack_require__(277);
+var elementAt_1 = __webpack_require__(273);
Observable_1.Observable.prototype.elementAt = elementAt_1.elementAt;
//# sourceMappingURL=elementAt.js.map
/***/ }),
-/* 138 */
+/* 134 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var every_1 = __webpack_require__(278);
+var every_1 = __webpack_require__(274);
Observable_1.Observable.prototype.every = every_1.every;
//# sourceMappingURL=every.js.map
/***/ }),
-/* 139 */
+/* 135 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var exhaust_1 = __webpack_require__(279);
+var exhaust_1 = __webpack_require__(275);
Observable_1.Observable.prototype.exhaust = exhaust_1.exhaust;
//# sourceMappingURL=exhaust.js.map
/***/ }),
-/* 140 */
+/* 136 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var exhaustMap_1 = __webpack_require__(280);
+var exhaustMap_1 = __webpack_require__(276);
Observable_1.Observable.prototype.exhaustMap = exhaustMap_1.exhaustMap;
//# sourceMappingURL=exhaustMap.js.map
/***/ }),
-/* 141 */
+/* 137 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var expand_1 = __webpack_require__(281);
+var expand_1 = __webpack_require__(277);
Observable_1.Observable.prototype.expand = expand_1.expand;
//# sourceMappingURL=expand.js.map
/***/ }),
-/* 142 */
+/* 138 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var filter_1 = __webpack_require__(49);
+var filter_1 = __webpack_require__(48);
Observable_1.Observable.prototype.filter = filter_1.filter;
//# sourceMappingURL=filter.js.map
/***/ }),
-/* 143 */
+/* 139 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var finally_1 = __webpack_require__(282);
+var finally_1 = __webpack_require__(278);
Observable_1.Observable.prototype.finally = finally_1._finally;
Observable_1.Observable.prototype._finally = finally_1._finally;
//# sourceMappingURL=finally.js.map
/***/ }),
-/* 144 */
+/* 140 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var find_1 = __webpack_require__(50);
+var find_1 = __webpack_require__(49);
Observable_1.Observable.prototype.find = find_1.find;
//# sourceMappingURL=find.js.map
/***/ }),
-/* 145 */
+/* 141 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var findIndex_1 = __webpack_require__(283);
+var findIndex_1 = __webpack_require__(279);
Observable_1.Observable.prototype.findIndex = findIndex_1.findIndex;
//# sourceMappingURL=findIndex.js.map
/***/ }),
-/* 146 */
+/* 142 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var first_1 = __webpack_require__(284);
+var first_1 = __webpack_require__(280);
Observable_1.Observable.prototype.first = first_1.first;
//# sourceMappingURL=first.js.map
/***/ }),
-/* 147 */
+/* 143 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var groupBy_1 = __webpack_require__(285);
+var groupBy_1 = __webpack_require__(281);
Observable_1.Observable.prototype.groupBy = groupBy_1.groupBy;
//# sourceMappingURL=groupBy.js.map
/***/ }),
-/* 148 */
+/* 144 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var ignoreElements_1 = __webpack_require__(286);
+var ignoreElements_1 = __webpack_require__(282);
Observable_1.Observable.prototype.ignoreElements = ignoreElements_1.ignoreElements;
//# sourceMappingURL=ignoreElements.js.map
/***/ }),
-/* 149 */
+/* 145 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var isEmpty_1 = __webpack_require__(287);
+var isEmpty_1 = __webpack_require__(283);
Observable_1.Observable.prototype.isEmpty = isEmpty_1.isEmpty;
//# sourceMappingURL=isEmpty.js.map
/***/ }),
-/* 150 */
+/* 146 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var last_1 = __webpack_require__(288);
+var last_1 = __webpack_require__(284);
Observable_1.Observable.prototype.last = last_1.last;
//# sourceMappingURL=last.js.map
/***/ }),
-/* 151 */
+/* 147 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var let_1 = __webpack_require__(289);
+var let_1 = __webpack_require__(285);
Observable_1.Observable.prototype.let = let_1.letProto;
Observable_1.Observable.prototype.letBind = let_1.letProto;
//# sourceMappingURL=let.js.map
/***/ }),
-/* 152 */
+/* 148 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var map_1 = __webpack_require__(37);
+var map_1 = __webpack_require__(34);
Observable_1.Observable.prototype.map = map_1.map;
//# sourceMappingURL=map.js.map
/***/ }),
-/* 153 */
+/* 149 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var mapTo_1 = __webpack_require__(290);
+var mapTo_1 = __webpack_require__(286);
Observable_1.Observable.prototype.mapTo = mapTo_1.mapTo;
//# sourceMappingURL=mapTo.js.map
/***/ }),
-/* 154 */
+/* 150 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var materialize_1 = __webpack_require__(291);
+var materialize_1 = __webpack_require__(287);
Observable_1.Observable.prototype.materialize = materialize_1.materialize;
//# sourceMappingURL=materialize.js.map
/***/ }),
-/* 155 */
+/* 151 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var max_1 = __webpack_require__(292);
+var max_1 = __webpack_require__(288);
Observable_1.Observable.prototype.max = max_1.max;
//# sourceMappingURL=max.js.map
/***/ }),
-/* 156 */
+/* 152 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var merge_1 = __webpack_require__(51);
+var merge_1 = __webpack_require__(50);
Observable_1.Observable.prototype.merge = merge_1.merge;
//# sourceMappingURL=merge.js.map
/***/ }),
-/* 157 */
+/* 153 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var mergeAll_1 = __webpack_require__(21);
+var mergeAll_1 = __webpack_require__(20);
Observable_1.Observable.prototype.mergeAll = mergeAll_1.mergeAll;
//# sourceMappingURL=mergeAll.js.map
/***/ }),
-/* 158 */
+/* 154 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var mergeMap_1 = __webpack_require__(52);
+var mergeMap_1 = __webpack_require__(51);
Observable_1.Observable.prototype.mergeMap = mergeMap_1.mergeMap;
Observable_1.Observable.prototype.flatMap = mergeMap_1.mergeMap;
//# sourceMappingURL=mergeMap.js.map
/***/ }),
-/* 159 */
+/* 155 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var mergeMapTo_1 = __webpack_require__(53);
+var mergeMapTo_1 = __webpack_require__(52);
Observable_1.Observable.prototype.flatMapTo = mergeMapTo_1.mergeMapTo;
Observable_1.Observable.prototype.mergeMapTo = mergeMapTo_1.mergeMapTo;
//# sourceMappingURL=mergeMapTo.js.map
/***/ }),
-/* 160 */
+/* 156 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var mergeScan_1 = __webpack_require__(293);
+var mergeScan_1 = __webpack_require__(289);
Observable_1.Observable.prototype.mergeScan = mergeScan_1.mergeScan;
//# sourceMappingURL=mergeScan.js.map
/***/ }),
-/* 161 */
+/* 157 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var min_1 = __webpack_require__(294);
+var min_1 = __webpack_require__(290);
Observable_1.Observable.prototype.min = min_1.min;
//# sourceMappingURL=min.js.map
/***/ }),
-/* 162 */
+/* 158 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -8046,547 +7552,547 @@ Observable_1.Observable.prototype.multicast = multicast_1.multicast;
//# sourceMappingURL=multicast.js.map
/***/ }),
-/* 163 */
+/* 159 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var observeOn_1 = __webpack_require__(38);
+var observeOn_1 = __webpack_require__(35);
Observable_1.Observable.prototype.observeOn = observeOn_1.observeOn;
//# sourceMappingURL=observeOn.js.map
/***/ }),
-/* 164 */
+/* 160 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var onErrorResumeNext_1 = __webpack_require__(54);
+var onErrorResumeNext_1 = __webpack_require__(53);
Observable_1.Observable.prototype.onErrorResumeNext = onErrorResumeNext_1.onErrorResumeNext;
//# sourceMappingURL=onErrorResumeNext.js.map
/***/ }),
-/* 165 */
+/* 161 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var pairwise_1 = __webpack_require__(295);
+var pairwise_1 = __webpack_require__(291);
Observable_1.Observable.prototype.pairwise = pairwise_1.pairwise;
//# sourceMappingURL=pairwise.js.map
/***/ }),
-/* 166 */
+/* 162 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var partition_1 = __webpack_require__(296);
+var partition_1 = __webpack_require__(292);
Observable_1.Observable.prototype.partition = partition_1.partition;
//# sourceMappingURL=partition.js.map
/***/ }),
-/* 167 */
+/* 163 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var pluck_1 = __webpack_require__(297);
+var pluck_1 = __webpack_require__(293);
Observable_1.Observable.prototype.pluck = pluck_1.pluck;
//# sourceMappingURL=pluck.js.map
/***/ }),
-/* 168 */
+/* 164 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var publish_1 = __webpack_require__(298);
+var publish_1 = __webpack_require__(294);
Observable_1.Observable.prototype.publish = publish_1.publish;
//# sourceMappingURL=publish.js.map
/***/ }),
-/* 169 */
+/* 165 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var publishBehavior_1 = __webpack_require__(299);
+var publishBehavior_1 = __webpack_require__(295);
Observable_1.Observable.prototype.publishBehavior = publishBehavior_1.publishBehavior;
//# sourceMappingURL=publishBehavior.js.map
/***/ }),
-/* 170 */
+/* 166 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var publishLast_1 = __webpack_require__(300);
+var publishLast_1 = __webpack_require__(296);
Observable_1.Observable.prototype.publishLast = publishLast_1.publishLast;
//# sourceMappingURL=publishLast.js.map
/***/ }),
-/* 171 */
+/* 167 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var publishReplay_1 = __webpack_require__(301);
+var publishReplay_1 = __webpack_require__(297);
Observable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay;
//# sourceMappingURL=publishReplay.js.map
/***/ }),
-/* 172 */
+/* 168 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var race_1 = __webpack_require__(55);
+var race_1 = __webpack_require__(54);
Observable_1.Observable.prototype.race = race_1.race;
//# sourceMappingURL=race.js.map
/***/ }),
-/* 173 */
+/* 169 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var reduce_1 = __webpack_require__(39);
+var reduce_1 = __webpack_require__(36);
Observable_1.Observable.prototype.reduce = reduce_1.reduce;
//# sourceMappingURL=reduce.js.map
/***/ }),
-/* 174 */
+/* 170 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var repeat_1 = __webpack_require__(302);
+var repeat_1 = __webpack_require__(298);
Observable_1.Observable.prototype.repeat = repeat_1.repeat;
//# sourceMappingURL=repeat.js.map
/***/ }),
-/* 175 */
+/* 171 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var repeatWhen_1 = __webpack_require__(303);
+var repeatWhen_1 = __webpack_require__(299);
Observable_1.Observable.prototype.repeatWhen = repeatWhen_1.repeatWhen;
//# sourceMappingURL=repeatWhen.js.map
/***/ }),
-/* 176 */
+/* 172 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var retry_1 = __webpack_require__(304);
+var retry_1 = __webpack_require__(300);
Observable_1.Observable.prototype.retry = retry_1.retry;
//# sourceMappingURL=retry.js.map
/***/ }),
-/* 177 */
+/* 173 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var retryWhen_1 = __webpack_require__(305);
+var retryWhen_1 = __webpack_require__(301);
Observable_1.Observable.prototype.retryWhen = retryWhen_1.retryWhen;
//# sourceMappingURL=retryWhen.js.map
/***/ }),
-/* 178 */
+/* 174 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var sample_1 = __webpack_require__(306);
+var sample_1 = __webpack_require__(302);
Observable_1.Observable.prototype.sample = sample_1.sample;
//# sourceMappingURL=sample.js.map
/***/ }),
-/* 179 */
+/* 175 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var sampleTime_1 = __webpack_require__(307);
+var sampleTime_1 = __webpack_require__(303);
Observable_1.Observable.prototype.sampleTime = sampleTime_1.sampleTime;
//# sourceMappingURL=sampleTime.js.map
/***/ }),
-/* 180 */
+/* 176 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var scan_1 = __webpack_require__(308);
+var scan_1 = __webpack_require__(304);
Observable_1.Observable.prototype.scan = scan_1.scan;
//# sourceMappingURL=scan.js.map
/***/ }),
-/* 181 */
+/* 177 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var sequenceEqual_1 = __webpack_require__(309);
+var sequenceEqual_1 = __webpack_require__(305);
Observable_1.Observable.prototype.sequenceEqual = sequenceEqual_1.sequenceEqual;
//# sourceMappingURL=sequenceEqual.js.map
/***/ }),
-/* 182 */
+/* 178 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var share_1 = __webpack_require__(310);
+var share_1 = __webpack_require__(306);
Observable_1.Observable.prototype.share = share_1.share;
//# sourceMappingURL=share.js.map
/***/ }),
-/* 183 */
+/* 179 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var single_1 = __webpack_require__(311);
+var single_1 = __webpack_require__(307);
Observable_1.Observable.prototype.single = single_1.single;
//# sourceMappingURL=single.js.map
/***/ }),
-/* 184 */
+/* 180 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var skip_1 = __webpack_require__(312);
+var skip_1 = __webpack_require__(308);
Observable_1.Observable.prototype.skip = skip_1.skip;
//# sourceMappingURL=skip.js.map
/***/ }),
-/* 185 */
+/* 181 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var skipUntil_1 = __webpack_require__(313);
+var skipUntil_1 = __webpack_require__(309);
Observable_1.Observable.prototype.skipUntil = skipUntil_1.skipUntil;
//# sourceMappingURL=skipUntil.js.map
/***/ }),
-/* 186 */
+/* 182 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var skipWhile_1 = __webpack_require__(314);
+var skipWhile_1 = __webpack_require__(310);
Observable_1.Observable.prototype.skipWhile = skipWhile_1.skipWhile;
//# sourceMappingURL=skipWhile.js.map
/***/ }),
-/* 187 */
+/* 183 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var startWith_1 = __webpack_require__(315);
+var startWith_1 = __webpack_require__(311);
Observable_1.Observable.prototype.startWith = startWith_1.startWith;
//# sourceMappingURL=startWith.js.map
/***/ }),
-/* 188 */
+/* 184 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var subscribeOn_1 = __webpack_require__(316);
+var subscribeOn_1 = __webpack_require__(312);
Observable_1.Observable.prototype.subscribeOn = subscribeOn_1.subscribeOn;
//# sourceMappingURL=subscribeOn.js.map
/***/ }),
-/* 189 */
+/* 185 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var switch_1 = __webpack_require__(317);
+var switch_1 = __webpack_require__(313);
Observable_1.Observable.prototype.switch = switch_1._switch;
Observable_1.Observable.prototype._switch = switch_1._switch;
//# sourceMappingURL=switch.js.map
/***/ }),
-/* 190 */
+/* 186 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var switchMap_1 = __webpack_require__(318);
+var switchMap_1 = __webpack_require__(314);
Observable_1.Observable.prototype.switchMap = switchMap_1.switchMap;
//# sourceMappingURL=switchMap.js.map
/***/ }),
-/* 191 */
+/* 187 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var switchMapTo_1 = __webpack_require__(319);
+var switchMapTo_1 = __webpack_require__(315);
Observable_1.Observable.prototype.switchMapTo = switchMapTo_1.switchMapTo;
//# sourceMappingURL=switchMapTo.js.map
/***/ }),
-/* 192 */
+/* 188 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var take_1 = __webpack_require__(320);
+var take_1 = __webpack_require__(316);
Observable_1.Observable.prototype.take = take_1.take;
//# sourceMappingURL=take.js.map
/***/ }),
-/* 193 */
+/* 189 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var takeLast_1 = __webpack_require__(321);
+var takeLast_1 = __webpack_require__(317);
Observable_1.Observable.prototype.takeLast = takeLast_1.takeLast;
//# sourceMappingURL=takeLast.js.map
/***/ }),
-/* 194 */
+/* 190 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var takeUntil_1 = __webpack_require__(322);
+var takeUntil_1 = __webpack_require__(318);
Observable_1.Observable.prototype.takeUntil = takeUntil_1.takeUntil;
//# sourceMappingURL=takeUntil.js.map
/***/ }),
-/* 195 */
+/* 191 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var takeWhile_1 = __webpack_require__(323);
+var takeWhile_1 = __webpack_require__(319);
Observable_1.Observable.prototype.takeWhile = takeWhile_1.takeWhile;
//# sourceMappingURL=takeWhile.js.map
/***/ }),
-/* 196 */
+/* 192 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var throttle_1 = __webpack_require__(324);
+var throttle_1 = __webpack_require__(320);
Observable_1.Observable.prototype.throttle = throttle_1.throttle;
//# sourceMappingURL=throttle.js.map
/***/ }),
-/* 197 */
+/* 193 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var throttleTime_1 = __webpack_require__(325);
+var throttleTime_1 = __webpack_require__(321);
Observable_1.Observable.prototype.throttleTime = throttleTime_1.throttleTime;
//# sourceMappingURL=throttleTime.js.map
/***/ }),
-/* 198 */
+/* 194 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var timeInterval_1 = __webpack_require__(56);
+var timeInterval_1 = __webpack_require__(55);
Observable_1.Observable.prototype.timeInterval = timeInterval_1.timeInterval;
//# sourceMappingURL=timeInterval.js.map
/***/ }),
-/* 199 */
+/* 195 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var timeout_1 = __webpack_require__(326);
+var timeout_1 = __webpack_require__(322);
Observable_1.Observable.prototype.timeout = timeout_1.timeout;
//# sourceMappingURL=timeout.js.map
/***/ }),
-/* 200 */
+/* 196 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var timeoutWith_1 = __webpack_require__(327);
+var timeoutWith_1 = __webpack_require__(323);
Observable_1.Observable.prototype.timeoutWith = timeoutWith_1.timeoutWith;
//# sourceMappingURL=timeoutWith.js.map
/***/ }),
-/* 201 */
+/* 197 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var timestamp_1 = __webpack_require__(57);
+var timestamp_1 = __webpack_require__(56);
Observable_1.Observable.prototype.timestamp = timestamp_1.timestamp;
//# sourceMappingURL=timestamp.js.map
/***/ }),
-/* 202 */
+/* 198 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var toArray_1 = __webpack_require__(328);
+var toArray_1 = __webpack_require__(324);
Observable_1.Observable.prototype.toArray = toArray_1.toArray;
//# sourceMappingURL=toArray.js.map
/***/ }),
-/* 203 */
+/* 199 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var toPromise_1 = __webpack_require__(329);
+var toPromise_1 = __webpack_require__(325);
Observable_1.Observable.prototype.toPromise = toPromise_1.toPromise;
//# sourceMappingURL=toPromise.js.map
/***/ }),
-/* 204 */
+/* 200 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var window_1 = __webpack_require__(330);
+var window_1 = __webpack_require__(326);
Observable_1.Observable.prototype.window = window_1.window;
//# sourceMappingURL=window.js.map
/***/ }),
-/* 205 */
+/* 201 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var windowCount_1 = __webpack_require__(331);
+var windowCount_1 = __webpack_require__(327);
Observable_1.Observable.prototype.windowCount = windowCount_1.windowCount;
//# sourceMappingURL=windowCount.js.map
/***/ }),
-/* 206 */
+/* 202 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var windowTime_1 = __webpack_require__(332);
+var windowTime_1 = __webpack_require__(328);
Observable_1.Observable.prototype.windowTime = windowTime_1.windowTime;
//# sourceMappingURL=windowTime.js.map
/***/ }),
-/* 207 */
+/* 203 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var windowToggle_1 = __webpack_require__(333);
+var windowToggle_1 = __webpack_require__(329);
Observable_1.Observable.prototype.windowToggle = windowToggle_1.windowToggle;
//# sourceMappingURL=windowToggle.js.map
/***/ }),
-/* 208 */
+/* 204 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var windowWhen_1 = __webpack_require__(334);
+var windowWhen_1 = __webpack_require__(330);
Observable_1.Observable.prototype.windowWhen = windowWhen_1.windowWhen;
//# sourceMappingURL=windowWhen.js.map
/***/ }),
-/* 209 */
+/* 205 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var withLatestFrom_1 = __webpack_require__(335);
+var withLatestFrom_1 = __webpack_require__(331);
Observable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;
//# sourceMappingURL=withLatestFrom.js.map
/***/ }),
-/* 210 */
+/* 206 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var zip_1 = __webpack_require__(40);
+var zip_1 = __webpack_require__(37);
Observable_1.Observable.prototype.zip = zip_1.zipProto;
//# sourceMappingURL=zip.js.map
/***/ }),
-/* 211 */
+/* 207 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(0);
-var zipAll_1 = __webpack_require__(336);
+var zipAll_1 = __webpack_require__(332);
Observable_1.Observable.prototype.zipAll = zipAll_1.zipAll;
//# sourceMappingURL=zipAll.js.map
/***/ }),
-/* 212 */
+/* 208 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -8597,7 +8103,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = __webpack_require__(0);
-var ScalarObservable_1 = __webpack_require__(34);
+var ScalarObservable_1 = __webpack_require__(31);
var EmptyObservable_1 = __webpack_require__(13);
/**
* We need this JSDoc comment for affecting ESDoc.
@@ -8662,7 +8168,7 @@ exports.ArrayLikeObservable = ArrayLikeObservable;
//# sourceMappingURL=ArrayLikeObservable.js.map
/***/ }),
-/* 213 */
+/* 209 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -8675,7 +8181,7 @@ var __extends = (this && this.__extends) || function (d, b) {
var Observable_1 = __webpack_require__(0);
var tryCatch_1 = __webpack_require__(8);
var errorObject_1 = __webpack_require__(6);
-var AsyncSubject_1 = __webpack_require__(20);
+var AsyncSubject_1 = __webpack_require__(19);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -8936,7 +8442,7 @@ function dispatchError(arg) {
//# sourceMappingURL=BoundCallbackObservable.js.map
/***/ }),
-/* 214 */
+/* 210 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -8949,7 +8455,7 @@ var __extends = (this && this.__extends) || function (d, b) {
var Observable_1 = __webpack_require__(0);
var tryCatch_1 = __webpack_require__(8);
var errorObject_1 = __webpack_require__(6);
-var AsyncSubject_1 = __webpack_require__(20);
+var AsyncSubject_1 = __webpack_require__(19);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -9205,7 +8711,7 @@ function dispatchError(arg) {
//# sourceMappingURL=BoundNodeCallbackObservable.js.map
/***/ }),
-/* 215 */
+/* 211 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9310,7 +8816,7 @@ var DeferSubscriber = (function (_super) {
//# sourceMappingURL=DeferObservable.js.map
/***/ }),
-/* 216 */
+/* 212 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9398,7 +8904,7 @@ exports.ErrorObservable = ErrorObservable;
//# sourceMappingURL=ErrorObservable.js.map
/***/ }),
-/* 217 */
+/* 213 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9516,7 +9022,7 @@ var ForkJoinSubscriber = (function (_super) {
//# sourceMappingURL=ForkJoinObservable.js.map
/***/ }),
-/* 218 */
+/* 214 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9528,7 +9034,7 @@ var __extends = (this && this.__extends) || function (d, b) {
};
var Observable_1 = __webpack_require__(0);
var tryCatch_1 = __webpack_require__(8);
-var isFunction_1 = __webpack_require__(28);
+var isFunction_1 = __webpack_require__(27);
var errorObject_1 = __webpack_require__(6);
var Subscription_1 = __webpack_require__(4);
var toString = Object.prototype.toString;
@@ -9662,7 +9168,7 @@ exports.FromEventObservable = FromEventObservable;
//# sourceMappingURL=FromEventObservable.js.map
/***/ }),
-/* 219 */
+/* 215 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9672,7 +9178,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var isFunction_1 = __webpack_require__(28);
+var isFunction_1 = __webpack_require__(27);
var Observable_1 = __webpack_require__(0);
var Subscription_1 = __webpack_require__(4);
/**
@@ -9781,7 +9287,7 @@ exports.FromEventPatternObservable = FromEventPatternObservable;
//# sourceMappingURL=FromEventPatternObservable.js.map
/***/ }),
-/* 220 */
+/* 216 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9922,7 +9428,7 @@ exports.GenerateObservable = GenerateObservable;
//# sourceMappingURL=GenerateObservable.js.map
/***/ }),
-/* 221 */
+/* 217 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9989,7 +9495,7 @@ var IfSubscriber = (function (_super) {
//# sourceMappingURL=IfObservable.js.map
/***/ }),
-/* 222 */
+/* 218 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -9999,7 +9505,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var isNumeric_1 = __webpack_require__(29);
+var isNumeric_1 = __webpack_require__(28);
var Observable_1 = __webpack_require__(0);
var async_1 = __webpack_require__(9);
/**
@@ -10083,7 +9589,7 @@ exports.IntervalObservable = IntervalObservable;
//# sourceMappingURL=IntervalObservable.js.map
/***/ }),
-/* 223 */
+/* 219 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10095,7 +9601,7 @@ var __extends = (this && this.__extends) || function (d, b) {
};
var root_1 = __webpack_require__(7);
var Observable_1 = __webpack_require__(0);
-var iterator_1 = __webpack_require__(19);
+var iterator_1 = __webpack_require__(18);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -10252,7 +9758,7 @@ function sign(value) {
//# sourceMappingURL=IteratorObservable.js.map
/***/ }),
-/* 224 */
+/* 220 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10263,7 +9769,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = __webpack_require__(0);
-var noop_1 = __webpack_require__(69);
+var noop_1 = __webpack_require__(68);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -10317,7 +9823,7 @@ exports.NeverObservable = NeverObservable;
//# sourceMappingURL=NeverObservable.js.map
/***/ }),
-/* 225 */
+/* 221 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10408,7 +9914,7 @@ exports.PairsObservable = PairsObservable;
//# sourceMappingURL=PairsObservable.js.map
/***/ }),
-/* 226 */
+/* 222 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10510,7 +10016,7 @@ exports.RangeObservable = RangeObservable;
//# sourceMappingURL=RangeObservable.js.map
/***/ }),
-/* 227 */
+/* 223 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10521,8 +10027,8 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = __webpack_require__(0);
-var asap_1 = __webpack_require__(59);
-var isNumeric_1 = __webpack_require__(29);
+var asap_1 = __webpack_require__(58);
+var isNumeric_1 = __webpack_require__(28);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -10567,7 +10073,7 @@ exports.SubscribeOnObservable = SubscribeOnObservable;
//# sourceMappingURL=SubscribeOnObservable.js.map
/***/ }),
-/* 228 */
+/* 224 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10577,11 +10083,11 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var isNumeric_1 = __webpack_require__(29);
+var isNumeric_1 = __webpack_require__(28);
var Observable_1 = __webpack_require__(0);
var async_1 = __webpack_require__(9);
var isScheduler_1 = __webpack_require__(12);
-var isDate_1 = __webpack_require__(27);
+var isDate_1 = __webpack_require__(26);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -10680,7 +10186,7 @@ exports.TimerObservable = TimerObservable;
//# sourceMappingURL=TimerObservable.js.map
/***/ }),
-/* 229 */
+/* 225 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10747,27 +10253,27 @@ var UsingSubscriber = (function (_super) {
//# sourceMappingURL=UsingObservable.js.map
/***/ }),
-/* 230 */
+/* 226 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var BoundCallbackObservable_1 = __webpack_require__(213);
+var BoundCallbackObservable_1 = __webpack_require__(209);
exports.bindCallback = BoundCallbackObservable_1.BoundCallbackObservable.create;
//# sourceMappingURL=bindCallback.js.map
/***/ }),
-/* 231 */
+/* 227 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var BoundNodeCallbackObservable_1 = __webpack_require__(214);
+var BoundNodeCallbackObservable_1 = __webpack_require__(210);
exports.bindNodeCallback = BoundNodeCallbackObservable_1.BoundNodeCallbackObservable.create;
//# sourceMappingURL=bindNodeCallback.js.map
/***/ }),
-/* 232 */
+/* 228 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10775,7 +10281,7 @@ exports.bindNodeCallback = BoundNodeCallbackObservable_1.BoundNodeCallbackObserv
var isScheduler_1 = __webpack_require__(12);
var isArray_1 = __webpack_require__(11);
var ArrayObservable_1 = __webpack_require__(10);
-var combineLatest_1 = __webpack_require__(35);
+var combineLatest_1 = __webpack_require__(32);
/* tslint:enable:max-line-length */
/**
* Combines multiple Observables to create an Observable whose values are
@@ -10909,27 +10415,27 @@ exports.combineLatest = combineLatest;
//# sourceMappingURL=combineLatest.js.map
/***/ }),
-/* 233 */
+/* 229 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var concat_1 = __webpack_require__(36);
+var concat_1 = __webpack_require__(33);
exports.concat = concat_1.concatStatic;
//# sourceMappingURL=concat.js.map
/***/ }),
-/* 234 */
+/* 230 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var DeferObservable_1 = __webpack_require__(215);
+var DeferObservable_1 = __webpack_require__(211);
exports.defer = DeferObservable_1.DeferObservable.create;
//# sourceMappingURL=defer.js.map
/***/ }),
-/* 235 */
+/* 231 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -10944,10 +10450,10 @@ var Subscriber_1 = __webpack_require__(1);
var Observable_1 = __webpack_require__(0);
var Subscription_1 = __webpack_require__(4);
var root_1 = __webpack_require__(7);
-var ReplaySubject_1 = __webpack_require__(33);
+var ReplaySubject_1 = __webpack_require__(30);
var tryCatch_1 = __webpack_require__(8);
var errorObject_1 = __webpack_require__(6);
-var assign_1 = __webpack_require__(354);
+var assign_1 = __webpack_require__(350);
/**
* We need this JSDoc comment for affecting ESDoc.
* @extends {Ignored}
@@ -11183,27 +10689,27 @@ exports.WebSocketSubject = WebSocketSubject;
//# sourceMappingURL=WebSocketSubject.js.map
/***/ }),
-/* 236 */
+/* 232 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var AjaxObservable_1 = __webpack_require__(47);
+var AjaxObservable_1 = __webpack_require__(46);
exports.ajax = AjaxObservable_1.AjaxObservable.create;
//# sourceMappingURL=ajax.js.map
/***/ }),
-/* 237 */
+/* 233 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var WebSocketSubject_1 = __webpack_require__(235);
+var WebSocketSubject_1 = __webpack_require__(231);
exports.webSocket = WebSocketSubject_1.WebSocketSubject.create;
//# sourceMappingURL=webSocket.js.map
/***/ }),
-/* 238 */
+/* 234 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11213,97 +10719,97 @@ exports.empty = EmptyObservable_1.EmptyObservable.create;
//# sourceMappingURL=empty.js.map
/***/ }),
-/* 239 */
+/* 235 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var ForkJoinObservable_1 = __webpack_require__(217);
+var ForkJoinObservable_1 = __webpack_require__(213);
exports.forkJoin = ForkJoinObservable_1.ForkJoinObservable.create;
//# sourceMappingURL=forkJoin.js.map
/***/ }),
-/* 240 */
+/* 236 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var FromObservable_1 = __webpack_require__(45);
+var FromObservable_1 = __webpack_require__(44);
exports.from = FromObservable_1.FromObservable.create;
//# sourceMappingURL=from.js.map
/***/ }),
-/* 241 */
+/* 237 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var FromEventObservable_1 = __webpack_require__(218);
+var FromEventObservable_1 = __webpack_require__(214);
exports.fromEvent = FromEventObservable_1.FromEventObservable.create;
//# sourceMappingURL=fromEvent.js.map
/***/ }),
-/* 242 */
+/* 238 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var FromEventPatternObservable_1 = __webpack_require__(219);
+var FromEventPatternObservable_1 = __webpack_require__(215);
exports.fromEventPattern = FromEventPatternObservable_1.FromEventPatternObservable.create;
//# sourceMappingURL=fromEventPattern.js.map
/***/ }),
-/* 243 */
+/* 239 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var PromiseObservable_1 = __webpack_require__(46);
+var PromiseObservable_1 = __webpack_require__(45);
exports.fromPromise = PromiseObservable_1.PromiseObservable.create;
//# sourceMappingURL=fromPromise.js.map
/***/ }),
-/* 244 */
+/* 240 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var IfObservable_1 = __webpack_require__(221);
+var IfObservable_1 = __webpack_require__(217);
exports._if = IfObservable_1.IfObservable.create;
//# sourceMappingURL=if.js.map
/***/ }),
-/* 245 */
+/* 241 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var IntervalObservable_1 = __webpack_require__(222);
+var IntervalObservable_1 = __webpack_require__(218);
exports.interval = IntervalObservable_1.IntervalObservable.create;
//# sourceMappingURL=interval.js.map
/***/ }),
-/* 246 */
+/* 242 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var merge_1 = __webpack_require__(51);
+var merge_1 = __webpack_require__(50);
exports.merge = merge_1.mergeStatic;
//# sourceMappingURL=merge.js.map
/***/ }),
-/* 247 */
+/* 243 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var NeverObservable_1 = __webpack_require__(224);
+var NeverObservable_1 = __webpack_require__(220);
exports.never = NeverObservable_1.NeverObservable.create;
//# sourceMappingURL=never.js.map
/***/ }),
-/* 248 */
+/* 244 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11313,67 +10819,67 @@ exports.of = ArrayObservable_1.ArrayObservable.of;
//# sourceMappingURL=of.js.map
/***/ }),
-/* 249 */
+/* 245 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var PairsObservable_1 = __webpack_require__(225);
+var PairsObservable_1 = __webpack_require__(221);
exports.pairs = PairsObservable_1.PairsObservable.create;
//# sourceMappingURL=pairs.js.map
/***/ }),
-/* 250 */
+/* 246 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var RangeObservable_1 = __webpack_require__(226);
+var RangeObservable_1 = __webpack_require__(222);
exports.range = RangeObservable_1.RangeObservable.create;
//# sourceMappingURL=range.js.map
/***/ }),
-/* 251 */
+/* 247 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var ErrorObservable_1 = __webpack_require__(216);
+var ErrorObservable_1 = __webpack_require__(212);
exports._throw = ErrorObservable_1.ErrorObservable.create;
//# sourceMappingURL=throw.js.map
/***/ }),
-/* 252 */
+/* 248 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var TimerObservable_1 = __webpack_require__(228);
+var TimerObservable_1 = __webpack_require__(224);
exports.timer = TimerObservable_1.TimerObservable.create;
//# sourceMappingURL=timer.js.map
/***/ }),
-/* 253 */
+/* 249 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var UsingObservable_1 = __webpack_require__(229);
+var UsingObservable_1 = __webpack_require__(225);
exports.using = UsingObservable_1.UsingObservable.create;
//# sourceMappingURL=using.js.map
/***/ }),
-/* 254 */
+/* 250 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var zip_1 = __webpack_require__(40);
+var zip_1 = __webpack_require__(37);
exports.zip = zip_1.zipStatic;
//# sourceMappingURL=zip.js.map
/***/ }),
-/* 255 */
+/* 251 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11489,7 +10995,7 @@ var AuditSubscriber = (function (_super) {
//# sourceMappingURL=audit.js.map
/***/ }),
-/* 256 */
+/* 252 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11599,7 +11105,7 @@ function dispatchNext(subscriber) {
//# sourceMappingURL=auditTime.js.map
/***/ }),
-/* 257 */
+/* 253 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11681,7 +11187,7 @@ var BufferSubscriber = (function (_super) {
//# sourceMappingURL=buffer.js.map
/***/ }),
-/* 258 */
+/* 254 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11794,7 +11300,7 @@ var BufferCountSubscriber = (function (_super) {
//# sourceMappingURL=bufferCount.js.map
/***/ }),
-/* 259 */
+/* 255 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -11999,7 +11505,7 @@ function dispatchBufferClose(arg) {
//# sourceMappingURL=bufferTime.js.map
/***/ }),
-/* 260 */
+/* 256 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -12157,7 +11663,7 @@ var BufferToggleSubscriber = (function (_super) {
//# sourceMappingURL=bufferToggle.js.map
/***/ }),
-/* 261 */
+/* 257 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -12285,7 +11791,7 @@ var BufferWhenSubscriber = (function (_super) {
//# sourceMappingURL=bufferWhen.js.map
/***/ }),
-/* 262 */
+/* 258 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -12407,12 +11913,12 @@ var CatchSubscriber = (function (_super) {
//# sourceMappingURL=catch.js.map
/***/ }),
-/* 263 */
+/* 259 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var combineLatest_1 = __webpack_require__(35);
+var combineLatest_1 = __webpack_require__(32);
/**
* Converts a higher-order Observable into a first-order Observable by waiting
* for the outer Observable to complete, then applying {@link combineLatest}.
@@ -12460,12 +11966,12 @@ exports.combineAll = combineAll;
//# sourceMappingURL=combineAll.js.map
/***/ }),
-/* 264 */
+/* 260 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var mergeAll_1 = __webpack_require__(21);
+var mergeAll_1 = __webpack_require__(20);
/* tslint:enable:max-line-length */
/**
* Converts a higher-order Observable into a first-order Observable by
@@ -12522,12 +12028,12 @@ exports.concatAll = concatAll;
//# sourceMappingURL=concatAll.js.map
/***/ }),
-/* 265 */
+/* 261 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var mergeMap_1 = __webpack_require__(52);
+var mergeMap_1 = __webpack_require__(51);
/* tslint:enable:max-line-length */
/**
* Projects each source value to an Observable which is merged in the output
@@ -12598,12 +12104,12 @@ exports.concatMap = concatMap;
//# sourceMappingURL=concatMap.js.map
/***/ }),
-/* 266 */
+/* 262 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var mergeMapTo_1 = __webpack_require__(53);
+var mergeMapTo_1 = __webpack_require__(52);
/* tslint:enable:max-line-length */
/**
* Projects each source value to the same Observable which is merged multiple
@@ -12668,7 +12174,7 @@ exports.concatMapTo = concatMapTo;
//# sourceMappingURL=concatMapTo.js.map
/***/ }),
-/* 267 */
+/* 263 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -12785,7 +12291,7 @@ var CountSubscriber = (function (_super) {
//# sourceMappingURL=count.js.map
/***/ }),
-/* 268 */
+/* 264 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -12918,7 +12424,7 @@ var DebounceSubscriber = (function (_super) {
//# sourceMappingURL=debounce.js.map
/***/ }),
-/* 269 */
+/* 265 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13040,7 +12546,7 @@ function dispatchNext(subscriber) {
//# sourceMappingURL=debounceTime.js.map
/***/ }),
-/* 270 */
+/* 266 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13123,7 +12629,7 @@ var DefaultIfEmptySubscriber = (function (_super) {
//# sourceMappingURL=defaultIfEmpty.js.map
/***/ }),
-/* 271 */
+/* 267 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13134,9 +12640,9 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var async_1 = __webpack_require__(9);
-var isDate_1 = __webpack_require__(27);
+var isDate_1 = __webpack_require__(26);
var Subscriber_1 = __webpack_require__(1);
-var Notification_1 = __webpack_require__(16);
+var Notification_1 = __webpack_require__(15);
/**
* Delays the emission of items from the source Observable by a given timeout or
* until a given Date.
@@ -13264,7 +12770,7 @@ var DelayMessage = (function () {
//# sourceMappingURL=delay.js.map
/***/ }),
-/* 272 */
+/* 268 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13460,7 +12966,7 @@ var SubscriptionDelaySubscriber = (function (_super) {
//# sourceMappingURL=delayWhen.js.map
/***/ }),
-/* 273 */
+/* 269 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13541,7 +13047,7 @@ var DeMaterializeSubscriber = (function (_super) {
//# sourceMappingURL=dematerialize.js.map
/***/ }),
-/* 274 */
+/* 270 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13553,7 +13059,7 @@ var __extends = (this && this.__extends) || function (d, b) {
};
var OuterSubscriber_1 = __webpack_require__(2);
var subscribeToResult_1 = __webpack_require__(3);
-var Set_1 = __webpack_require__(353);
+var Set_1 = __webpack_require__(349);
/**
* Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from previous items.
*
@@ -13667,12 +13173,12 @@ exports.DistinctSubscriber = DistinctSubscriber;
//# sourceMappingURL=distinct.js.map
/***/ }),
-/* 275 */
+/* 271 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var distinctUntilChanged_1 = __webpack_require__(48);
+var distinctUntilChanged_1 = __webpack_require__(47);
/* tslint:enable:max-line-length */
/**
* Returns an Observable that emits all items emitted by the source Observable that are distinct by comparison from the previous item,
@@ -13743,7 +13249,7 @@ exports.distinctUntilKeyChanged = distinctUntilKeyChanged;
//# sourceMappingURL=distinctUntilKeyChanged.js.map
/***/ }),
-/* 276 */
+/* 272 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13862,7 +13368,7 @@ var DoSubscriber = (function (_super) {
//# sourceMappingURL=do.js.map
/***/ }),
-/* 277 */
+/* 273 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -13873,7 +13379,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var ArgumentOutOfRangeError_1 = __webpack_require__(24);
+var ArgumentOutOfRangeError_1 = __webpack_require__(23);
/**
* Emits the single value at the specified `index` in a sequence of emissions
* from the source Observable.
@@ -13968,7 +13474,7 @@ var ElementAtSubscriber = (function (_super) {
//# sourceMappingURL=elementAt.js.map
/***/ }),
-/* 278 */
+/* 274 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14048,7 +13554,7 @@ var EverySubscriber = (function (_super) {
//# sourceMappingURL=every.js.map
/***/ }),
-/* 279 */
+/* 275 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14143,7 +13649,7 @@ var SwitchFirstSubscriber = (function (_super) {
//# sourceMappingURL=exhaust.js.map
/***/ }),
-/* 280 */
+/* 276 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14287,7 +13793,7 @@ var SwitchFirstMapSubscriber = (function (_super) {
//# sourceMappingURL=exhaustMap.js.map
/***/ }),
-/* 281 */
+/* 277 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14444,7 +13950,7 @@ exports.ExpandSubscriber = ExpandSubscriber;
//# sourceMappingURL=expand.js.map
/***/ }),
-/* 282 */
+/* 278 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14493,12 +13999,12 @@ var FinallySubscriber = (function (_super) {
//# sourceMappingURL=finally.js.map
/***/ }),
-/* 283 */
+/* 279 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var find_1 = __webpack_require__(50);
+var find_1 = __webpack_require__(49);
/**
* Emits only the index of the first value emitted by the source Observable that
* meets some condition.
@@ -14540,7 +14046,7 @@ exports.findIndex = findIndex;
//# sourceMappingURL=findIndex.js.map
/***/ }),
-/* 284 */
+/* 280 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14551,7 +14057,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var EmptyError_1 = __webpack_require__(25);
+var EmptyError_1 = __webpack_require__(24);
/**
* Emits only the first value (or the first value that meets some condition)
* emitted by the source Observable.
@@ -14698,7 +14204,7 @@ var FirstSubscriber = (function (_super) {
//# sourceMappingURL=first.js.map
/***/ }),
-/* 285 */
+/* 281 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14712,8 +14218,8 @@ var Subscriber_1 = __webpack_require__(1);
var Subscription_1 = __webpack_require__(4);
var Observable_1 = __webpack_require__(0);
var Subject_1 = __webpack_require__(5);
-var Map_1 = __webpack_require__(351);
-var FastMap_1 = __webpack_require__(349);
+var Map_1 = __webpack_require__(347);
+var FastMap_1 = __webpack_require__(345);
/* tslint:enable:max-line-length */
/**
* Groups the items emitted by an Observable according to a specified criterion,
@@ -14939,7 +14445,7 @@ var InnerRefCountSubscription = (function (_super) {
//# sourceMappingURL=groupBy.js.map
/***/ }),
-/* 286 */
+/* 282 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -14950,7 +14456,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var noop_1 = __webpack_require__(69);
+var noop_1 = __webpack_require__(68);
/**
* Ignores all items emitted by the source Observable and only passes calls of `complete` or `error`.
*
@@ -14992,7 +14498,7 @@ var IgnoreElementsSubscriber = (function (_super) {
//# sourceMappingURL=ignoreElements.js.map
/***/ }),
-/* 287 */
+/* 283 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15050,7 +14556,7 @@ var IsEmptySubscriber = (function (_super) {
//# sourceMappingURL=isEmpty.js.map
/***/ }),
-/* 288 */
+/* 284 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15061,7 +14567,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var EmptyError_1 = __webpack_require__(25);
+var EmptyError_1 = __webpack_require__(24);
/* tslint:enable:max-line-length */
/**
* Returns an Observable that emits only the last item emitted by the source Observable.
@@ -15175,7 +14681,7 @@ var LastSubscriber = (function (_super) {
//# sourceMappingURL=last.js.map
/***/ }),
-/* 289 */
+/* 285 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15193,7 +14699,7 @@ exports.letProto = letProto;
//# sourceMappingURL=let.js.map
/***/ }),
-/* 290 */
+/* 286 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15262,7 +14768,7 @@ var MapToSubscriber = (function (_super) {
//# sourceMappingURL=mapTo.js.map
/***/ }),
-/* 291 */
+/* 287 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15273,7 +14779,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var Notification_1 = __webpack_require__(16);
+var Notification_1 = __webpack_require__(15);
/**
* Represents all of the notifications from the source Observable as `next`
* emissions marked with their original types within {@link Notification}
@@ -15358,12 +14864,12 @@ var MaterializeSubscriber = (function (_super) {
//# sourceMappingURL=materialize.js.map
/***/ }),
-/* 292 */
+/* 288 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var reduce_1 = __webpack_require__(39);
+var reduce_1 = __webpack_require__(36);
/**
* The Max operator operates on an Observable that emits numbers (or items that can be compared with a provided function),
* and when source Observable completes it emits a single item: the item with the largest value.
@@ -15405,7 +14911,7 @@ exports.max = max;
//# sourceMappingURL=max.js.map
/***/ }),
-/* 293 */
+/* 289 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15540,12 +15046,12 @@ exports.MergeScanSubscriber = MergeScanSubscriber;
//# sourceMappingURL=mergeScan.js.map
/***/ }),
-/* 294 */
+/* 290 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var reduce_1 = __webpack_require__(39);
+var reduce_1 = __webpack_require__(36);
/**
* The Min operator operates on an Observable that emits numbers (or items that can be compared with a provided function),
* and when source Observable completes it emits a single item: the item with the smallest value.
@@ -15587,7 +15093,7 @@ exports.min = min;
//# sourceMappingURL=min.js.map
/***/ }),
-/* 295 */
+/* 291 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15670,13 +15176,13 @@ var PairwiseSubscriber = (function (_super) {
//# sourceMappingURL=pairwise.js.map
/***/ }),
-/* 296 */
+/* 292 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var not_1 = __webpack_require__(355);
-var filter_1 = __webpack_require__(49);
+var not_1 = __webpack_require__(351);
+var filter_1 = __webpack_require__(48);
/**
* Splits the source Observable into two, one with values that satisfy a
* predicate, and another with values that don't satisfy the predicate.
@@ -15728,12 +15234,12 @@ exports.partition = partition;
//# sourceMappingURL=partition.js.map
/***/ }),
-/* 297 */
+/* 293 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var map_1 = __webpack_require__(37);
+var map_1 = __webpack_require__(34);
/**
* Maps each source value (an object) to its specified nested property.
*
@@ -15791,7 +15297,7 @@ function plucker(props, length) {
//# sourceMappingURL=pluck.js.map
/***/ }),
-/* 298 */
+/* 294 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15820,12 +15326,12 @@ exports.publish = publish;
//# sourceMappingURL=publish.js.map
/***/ }),
-/* 299 */
+/* 295 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var BehaviorSubject_1 = __webpack_require__(41);
+var BehaviorSubject_1 = __webpack_require__(40);
var multicast_1 = __webpack_require__(14);
/**
* @param value
@@ -15840,12 +15346,12 @@ exports.publishBehavior = publishBehavior;
//# sourceMappingURL=publishBehavior.js.map
/***/ }),
-/* 300 */
+/* 296 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var AsyncSubject_1 = __webpack_require__(20);
+var AsyncSubject_1 = __webpack_require__(19);
var multicast_1 = __webpack_require__(14);
/**
* @return {ConnectableObservable}
@@ -15859,12 +15365,12 @@ exports.publishLast = publishLast;
//# sourceMappingURL=publishLast.js.map
/***/ }),
-/* 301 */
+/* 297 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var ReplaySubject_1 = __webpack_require__(33);
+var ReplaySubject_1 = __webpack_require__(30);
var multicast_1 = __webpack_require__(14);
/**
* @param bufferSize
@@ -15883,7 +15389,7 @@ exports.publishReplay = publishReplay;
//# sourceMappingURL=publishReplay.js.map
/***/ }),
-/* 302 */
+/* 298 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -15959,7 +15465,7 @@ var RepeatSubscriber = (function (_super) {
//# sourceMappingURL=repeat.js.map
/***/ }),
-/* 303 */
+/* 299 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16073,7 +15579,7 @@ var RepeatWhenSubscriber = (function (_super) {
//# sourceMappingURL=repeatWhen.js.map
/***/ }),
-/* 304 */
+/* 300 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16144,7 +15650,7 @@ var RetrySubscriber = (function (_super) {
//# sourceMappingURL=retry.js.map
/***/ }),
-/* 305 */
+/* 301 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16251,7 +15757,7 @@ var RetryWhenSubscriber = (function (_super) {
//# sourceMappingURL=retryWhen.js.map
/***/ }),
-/* 306 */
+/* 302 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16345,7 +15851,7 @@ var SampleSubscriber = (function (_super) {
//# sourceMappingURL=sample.js.map
/***/ }),
-/* 307 */
+/* 303 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16442,7 +15948,7 @@ function dispatchNotification(state) {
//# sourceMappingURL=sampleTime.js.map
/***/ }),
-/* 308 */
+/* 304 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16567,7 +16073,7 @@ var ScanSubscriber = (function (_super) {
//# sourceMappingURL=scan.js.map
/***/ }),
-/* 309 */
+/* 305 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16737,7 +16243,7 @@ var SequenceEqualCompareToSubscriber = (function (_super) {
//# sourceMappingURL=sequenceEqual.js.map
/***/ }),
-/* 310 */
+/* 306 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16767,7 +16273,7 @@ exports.share = share;
//# sourceMappingURL=share.js.map
/***/ }),
-/* 311 */
+/* 307 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16778,7 +16284,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var EmptyError_1 = __webpack_require__(25);
+var EmptyError_1 = __webpack_require__(24);
/**
* Returns an Observable that emits the single item emitted by the source Observable that matches a specified
* predicate, if that Observable emits one such item. If the source Observable emits more than one such item or no
@@ -16866,7 +16372,7 @@ var SingleSubscriber = (function (_super) {
//# sourceMappingURL=single.js.map
/***/ }),
-/* 312 */
+/* 308 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -16923,7 +16429,7 @@ var SkipSubscriber = (function (_super) {
//# sourceMappingURL=skip.js.map
/***/ }),
-/* 313 */
+/* 309 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17000,7 +16506,7 @@ var SkipUntilSubscriber = (function (_super) {
//# sourceMappingURL=skipUntil.js.map
/***/ }),
-/* 314 */
+/* 310 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17072,15 +16578,15 @@ var SkipWhileSubscriber = (function (_super) {
//# sourceMappingURL=skipWhile.js.map
/***/ }),
-/* 315 */
+/* 311 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var ArrayObservable_1 = __webpack_require__(10);
-var ScalarObservable_1 = __webpack_require__(34);
+var ScalarObservable_1 = __webpack_require__(31);
var EmptyObservable_1 = __webpack_require__(13);
-var concat_1 = __webpack_require__(36);
+var concat_1 = __webpack_require__(33);
var isScheduler_1 = __webpack_require__(12);
/* tslint:enable:max-line-length */
/**
@@ -17124,12 +16630,12 @@ exports.startWith = startWith;
//# sourceMappingURL=startWith.js.map
/***/ }),
-/* 316 */
+/* 312 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var SubscribeOnObservable_1 = __webpack_require__(227);
+var SubscribeOnObservable_1 = __webpack_require__(223);
/**
* Asynchronously subscribes Observers to this Observable on the specified IScheduler.
*
@@ -17159,7 +16665,7 @@ var SubscribeOnOperator = (function () {
//# sourceMappingURL=subscribeOn.js.map
/***/ }),
-/* 317 */
+/* 313 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17273,7 +16779,7 @@ var SwitchSubscriber = (function (_super) {
//# sourceMappingURL=switch.js.map
/***/ }),
-/* 318 */
+/* 314 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17419,7 +16925,7 @@ var SwitchMapSubscriber = (function (_super) {
//# sourceMappingURL=switchMap.js.map
/***/ }),
-/* 319 */
+/* 315 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17550,7 +17056,7 @@ var SwitchMapToSubscriber = (function (_super) {
//# sourceMappingURL=switchMapTo.js.map
/***/ }),
-/* 320 */
+/* 316 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17561,7 +17067,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var ArgumentOutOfRangeError_1 = __webpack_require__(24);
+var ArgumentOutOfRangeError_1 = __webpack_require__(23);
var EmptyObservable_1 = __webpack_require__(13);
/**
* Emits only the first `count` values emitted by the source Observable.
@@ -17645,7 +17151,7 @@ var TakeSubscriber = (function (_super) {
//# sourceMappingURL=take.js.map
/***/ }),
-/* 321 */
+/* 317 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17656,7 +17162,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(1);
-var ArgumentOutOfRangeError_1 = __webpack_require__(24);
+var ArgumentOutOfRangeError_1 = __webpack_require__(23);
var EmptyObservable_1 = __webpack_require__(13);
/**
* Emits only the last `count` values emitted by the source Observable.
@@ -17758,7 +17264,7 @@ var TakeLastSubscriber = (function (_super) {
//# sourceMappingURL=takeLast.js.map
/***/ }),
-/* 322 */
+/* 318 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17839,7 +17345,7 @@ var TakeUntilSubscriber = (function (_super) {
//# sourceMappingURL=takeUntil.js.map
/***/ }),
-/* 323 */
+/* 319 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -17937,7 +17443,7 @@ var TakeWhileSubscriber = (function (_super) {
//# sourceMappingURL=takeWhile.js.map
/***/ }),
-/* 324 */
+/* 320 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18051,7 +17557,7 @@ var ThrottleSubscriber = (function (_super) {
//# sourceMappingURL=throttle.js.map
/***/ }),
-/* 325 */
+/* 321 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18152,7 +17658,7 @@ function dispatchNext(arg) {
//# sourceMappingURL=throttleTime.js.map
/***/ }),
-/* 326 */
+/* 322 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18163,9 +17669,9 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var async_1 = __webpack_require__(9);
-var isDate_1 = __webpack_require__(27);
+var isDate_1 = __webpack_require__(26);
var Subscriber_1 = __webpack_require__(1);
-var TimeoutError_1 = __webpack_require__(63);
+var TimeoutError_1 = __webpack_require__(62);
/**
* @param {number} due
* @param {Scheduler} [scheduler]
@@ -18259,7 +17765,7 @@ var TimeoutSubscriber = (function (_super) {
//# sourceMappingURL=timeout.js.map
/***/ }),
-/* 327 */
+/* 323 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18270,7 +17776,7 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var async_1 = __webpack_require__(9);
-var isDate_1 = __webpack_require__(27);
+var isDate_1 = __webpack_require__(26);
var OuterSubscriber_1 = __webpack_require__(2);
var subscribeToResult_1 = __webpack_require__(3);
/* tslint:enable:max-line-length */
@@ -18376,7 +17882,7 @@ var TimeoutWithSubscriber = (function (_super) {
//# sourceMappingURL=timeoutWith.js.map
/***/ }),
-/* 328 */
+/* 324 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18427,7 +17933,7 @@ var ToArraySubscriber = (function (_super) {
//# sourceMappingURL=toArray.js.map
/***/ }),
-/* 329 */
+/* 325 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18505,7 +18011,7 @@ exports.toPromise = toPromise;
//# sourceMappingURL=toPromise.js.map
/***/ }),
-/* 330 */
+/* 326 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18621,7 +18127,7 @@ var WindowSubscriber = (function (_super) {
//# sourceMappingURL=window.js.map
/***/ }),
-/* 331 */
+/* 327 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18758,7 +18264,7 @@ var WindowCountSubscriber = (function (_super) {
//# sourceMappingURL=windowCount.js.map
/***/ }),
-/* 332 */
+/* 328 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -18771,7 +18277,7 @@ var __extends = (this && this.__extends) || function (d, b) {
var Subject_1 = __webpack_require__(5);
var async_1 = __webpack_require__(9);
var Subscriber_1 = __webpack_require__(1);
-var isNumeric_1 = __webpack_require__(29);
+var isNumeric_1 = __webpack_require__(28);
var isScheduler_1 = __webpack_require__(12);
function windowTime(windowTimeSpan) {
var scheduler = async_1.async;
@@ -18925,7 +18431,7 @@ function dispatchWindowClose(state) {
//# sourceMappingURL=windowTime.js.map
/***/ }),
-/* 333 */
+/* 329 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19111,7 +18617,7 @@ var WindowToggleSubscriber = (function (_super) {
//# sourceMappingURL=windowToggle.js.map
/***/ }),
-/* 334 */
+/* 330 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19244,7 +18750,7 @@ var WindowSubscriber = (function (_super) {
//# sourceMappingURL=windowWhen.js.map
/***/ }),
-/* 335 */
+/* 331 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19380,12 +18886,12 @@ var WithLatestFromSubscriber = (function (_super) {
//# sourceMappingURL=withLatestFrom.js.map
/***/ }),
-/* 336 */
+/* 332 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var zip_1 = __webpack_require__(40);
+var zip_1 = __webpack_require__(37);
/**
* @param project
* @return {Observable|WebSocketSubject|Observable}
@@ -19399,7 +18905,7 @@ exports.zipAll = zipAll;
//# sourceMappingURL=zipAll.js.map
/***/ }),
-/* 337 */
+/* 333 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19449,7 +18955,7 @@ exports.Action = Action;
//# sourceMappingURL=Action.js.map
/***/ }),
-/* 338 */
+/* 334 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19459,8 +18965,8 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var AsyncAction_1 = __webpack_require__(17);
-var AnimationFrame_1 = __webpack_require__(348);
+var AsyncAction_1 = __webpack_require__(16);
+var AnimationFrame_1 = __webpack_require__(344);
/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
@@ -19510,7 +19016,7 @@ exports.AnimationFrameAction = AnimationFrameAction;
//# sourceMappingURL=AnimationFrameAction.js.map
/***/ }),
-/* 339 */
+/* 335 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19520,7 +19026,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var AsyncScheduler_1 = __webpack_require__(18);
+var AsyncScheduler_1 = __webpack_require__(17);
var AnimationFrameScheduler = (function (_super) {
__extends(AnimationFrameScheduler, _super);
function AnimationFrameScheduler() {
@@ -19553,7 +19059,7 @@ exports.AnimationFrameScheduler = AnimationFrameScheduler;
//# sourceMappingURL=AnimationFrameScheduler.js.map
/***/ }),
-/* 340 */
+/* 336 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19563,8 +19069,8 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var Immediate_1 = __webpack_require__(350);
-var AsyncAction_1 = __webpack_require__(17);
+var Immediate_1 = __webpack_require__(346);
+var AsyncAction_1 = __webpack_require__(16);
/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
@@ -19614,7 +19120,7 @@ exports.AsapAction = AsapAction;
//# sourceMappingURL=AsapAction.js.map
/***/ }),
-/* 341 */
+/* 337 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19624,7 +19130,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var AsyncScheduler_1 = __webpack_require__(18);
+var AsyncScheduler_1 = __webpack_require__(17);
var AsapScheduler = (function (_super) {
__extends(AsapScheduler, _super);
function AsapScheduler() {
@@ -19657,7 +19163,7 @@ exports.AsapScheduler = AsapScheduler;
//# sourceMappingURL=AsapScheduler.js.map
/***/ }),
-/* 342 */
+/* 338 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19667,7 +19173,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var AsyncAction_1 = __webpack_require__(17);
+var AsyncAction_1 = __webpack_require__(16);
/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
@@ -19712,7 +19218,7 @@ exports.QueueAction = QueueAction;
//# sourceMappingURL=QueueAction.js.map
/***/ }),
-/* 343 */
+/* 339 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19722,7 +19228,7 @@ var __extends = (this && this.__extends) || function (d, b) {
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
-var AsyncScheduler_1 = __webpack_require__(18);
+var AsyncScheduler_1 = __webpack_require__(17);
var QueueScheduler = (function (_super) {
__extends(QueueScheduler, _super);
function QueueScheduler() {
@@ -19734,13 +19240,13 @@ exports.QueueScheduler = QueueScheduler;
//# sourceMappingURL=QueueScheduler.js.map
/***/ }),
-/* 344 */
+/* 340 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-var AnimationFrameAction_1 = __webpack_require__(338);
-var AnimationFrameScheduler_1 = __webpack_require__(339);
+var AnimationFrameAction_1 = __webpack_require__(334);
+var AnimationFrameScheduler_1 = __webpack_require__(335);
/**
*
* Animation Frame Scheduler
@@ -19775,7 +19281,7 @@ exports.animationFrame = new AnimationFrameScheduler_1.AnimationFrameScheduler(A
//# sourceMappingURL=animationFrame.js.map
/***/ }),
-/* 345 */
+/* 341 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19787,8 +19293,8 @@ var __extends = (this && this.__extends) || function (d, b) {
};
var Observable_1 = __webpack_require__(0);
var Subscription_1 = __webpack_require__(4);
-var SubscriptionLoggable_1 = __webpack_require__(62);
-var applyMixins_1 = __webpack_require__(65);
+var SubscriptionLoggable_1 = __webpack_require__(61);
+var applyMixins_1 = __webpack_require__(64);
/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
@@ -19827,7 +19333,7 @@ applyMixins_1.applyMixins(ColdObservable, [SubscriptionLoggable_1.SubscriptionLo
//# sourceMappingURL=ColdObservable.js.map
/***/ }),
-/* 346 */
+/* 342 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19839,8 +19345,8 @@ var __extends = (this && this.__extends) || function (d, b) {
};
var Subject_1 = __webpack_require__(5);
var Subscription_1 = __webpack_require__(4);
-var SubscriptionLoggable_1 = __webpack_require__(62);
-var applyMixins_1 = __webpack_require__(65);
+var SubscriptionLoggable_1 = __webpack_require__(61);
+var applyMixins_1 = __webpack_require__(64);
/**
* We need this JSDoc comment for affecting ESDoc.
* @ignore
@@ -19881,7 +19387,7 @@ applyMixins_1.applyMixins(HotObservable, [SubscriptionLoggable_1.SubscriptionLog
//# sourceMappingURL=HotObservable.js.map
/***/ }),
-/* 347 */
+/* 343 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -19892,11 +19398,11 @@ var __extends = (this && this.__extends) || function (d, b) {
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = __webpack_require__(0);
-var Notification_1 = __webpack_require__(16);
-var ColdObservable_1 = __webpack_require__(345);
-var HotObservable_1 = __webpack_require__(346);
-var SubscriptionLog_1 = __webpack_require__(61);
-var VirtualTimeScheduler_1 = __webpack_require__(58);
+var Notification_1 = __webpack_require__(15);
+var ColdObservable_1 = __webpack_require__(341);
+var HotObservable_1 = __webpack_require__(342);
+var SubscriptionLog_1 = __webpack_require__(60);
+var VirtualTimeScheduler_1 = __webpack_require__(57);
var defaultMaxFrame = 750;
var TestScheduler = (function (_super) {
__extends(TestScheduler, _super);
@@ -20110,7 +19616,7 @@ exports.TestScheduler = TestScheduler;
//# sourceMappingURL=TestScheduler.js.map
/***/ }),
-/* 348 */
+/* 344 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20150,7 +19656,7 @@ exports.AnimationFrame = new RequestAnimationFrameDefinition(root_1.root);
//# sourceMappingURL=AnimationFrame.js.map
/***/ }),
-/* 349 */
+/* 345 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20187,7 +19693,7 @@ exports.FastMap = FastMap;
//# sourceMappingURL=FastMap.js.map
/***/ }),
-/* 350 */
+/* 346 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20400,21 +19906,21 @@ var ImmediateDefinition = (function () {
exports.ImmediateDefinition = ImmediateDefinition;
exports.Immediate = new ImmediateDefinition(root_1.root);
//# sourceMappingURL=Immediate.js.map
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(70).clearImmediate, __webpack_require__(70).setImmediate))
+/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(69).clearImmediate, __webpack_require__(69).setImmediate))
/***/ }),
-/* 351 */
+/* 347 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var root_1 = __webpack_require__(7);
-var MapPolyfill_1 = __webpack_require__(352);
+var MapPolyfill_1 = __webpack_require__(348);
exports.Map = root_1.root.Map || (function () { return MapPolyfill_1.MapPolyfill; })();
//# sourceMappingURL=Map.js.map
/***/ }),
-/* 352 */
+/* 348 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20467,7 +19973,7 @@ exports.MapPolyfill = MapPolyfill;
//# sourceMappingURL=MapPolyfill.js.map
/***/ }),
-/* 353 */
+/* 349 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20506,7 +20012,7 @@ exports.Set = root_1.root.Set || minimalSetImpl();
//# sourceMappingURL=Set.js.map
/***/ }),
-/* 354 */
+/* 350 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20538,7 +20044,7 @@ exports.assign = getAssign(root_1.root);
//# sourceMappingURL=assign.js.map
/***/ }),
-/* 355 */
+/* 351 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
@@ -20555,14 +20061,14 @@ exports.not = not;
//# sourceMappingURL=not.js.map
/***/ }),
-/* 356 */
+/* 352 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
var Subscriber_1 = __webpack_require__(1);
-var rxSubscriber_1 = __webpack_require__(23);
-var Observer_1 = __webpack_require__(42);
+var rxSubscriber_1 = __webpack_require__(22);
+var Observer_1 = __webpack_require__(41);
function toSubscriber(nextOrObserver, error, complete) {
if (nextOrObserver) {
if (nextOrObserver instanceof Subscriber_1.Subscriber) {
@@ -20581,7 +20087,7 @@ exports.toSubscriber = toSubscriber;
//# sourceMappingURL=toSubscriber.js.map
/***/ }),
-/* 357 */
+/* 353 */
/***/ (function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {
@@ -20771,7 +20277,27 @@ exports.toSubscriber = toSubscriber;
attachTo.clearImmediate = clearImmediate;
}(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self));
-/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(71), __webpack_require__(82)))
+/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(70), __webpack_require__(78)))
+
+/***/ }),
+/* 354 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+var RAD = {
+ t45: Math.PI / 4,
+ t90: Math.PI / 2,
+ t180: Math.PI,
+ t270: 3 * Math.PI / 2,
+ t360: Math.PI * 2
+};
+
+exports.RAD = RAD;
/***/ })
/******/ ]);
\ No newline at end of file
diff --git a/js/controls.js b/js/controls.js
new file mode 100644
index 0000000..a9831d2
--- /dev/null
+++ b/js/controls.js
@@ -0,0 +1,23 @@
+function Controls(node, animation) {
+ this.node = node;
+ this.animation = new animation(node);
+
+ if (this.animation.init === undefined) {
+ console.error("Animation passed to Control doesn't have an init() method.");
+ }
+
+ if (this.animation.reset === undefined) {
+ console.error("Animation passed to Control doesn't have a reset() method.");
+ }
+
+ this.animation.init();
+}
+
+Controls.prototype.mount = function() {
+ // this.node.style.border = '10px solid purple'; WORKING
+
+ // right aligned panel, pass in extra custom controls array of nodes
+ // set of prescribed styles
+}
+
+export default Controls;
diff --git a/js/dom.js b/js/dom.js
index 4bb14bb..fa79235 100644
--- a/js/dom.js
+++ b/js/dom.js
@@ -1,10 +1,9 @@
-const container = document.querySelector('.particles');
-const containerBounds = container.getBoundingClientRect();
+// const DOM = (container) => {
+// this.container = container;
+// this.containerBounds = container.getBoundingClientRect();
+// }
const DOM = {
- container,
- containerBounds,
-
getEventOffsetCoords: (evt, bounds) => {
const { pageX, pageY } = evt;
@@ -14,18 +13,6 @@ const DOM = {
};
},
- highlight: (evt) => {
- const { evtX, evtY } = DOM.getEventOffsetCoords(evt, DOM.containerBounds);
-
- const highlightDiv = document.createElement('div');
- highlightDiv.className = 'highlight';
- highlightDiv.style.left = `${evtX}px`;
- highlightDiv.style.top = `${evtY}px`;
-
- DOM.container.appendChild(highlightDiv);
- setTimeout(() => { DOM.container.removeChild(highlightDiv); }, 500);
- },
-
addClass: (node, str) => {
node.className = node.className.split(' ').concat(str).join(' ');
},
@@ -34,11 +21,19 @@ const DOM = {
const arr = node.className.split(' ');
const i = arr.indexOf(str);
node.className = arr.slice(0, i).concat(arr.slice(i + 1)).join(' ');
- },
-
- // calcBounds: () => {
- // DOM.containerBounds = container.getBoundingClientRect();
- // },
+ }
};
+// DOM.prototype.highlight = (evt) => {
+// const { evtX, evtY } = DOM.getEventOffsetCoords(evt, DOM.containerBounds);
+//
+// const highlightDiv = document.createElement('div');
+// highlightDiv.className = 'highlight';
+// highlightDiv.style.left = `${evtX}px`;
+// highlightDiv.style.top = `${evtY}px`;
+//
+// DOM.container.appendChild(highlightDiv);
+// setTimeout(() => { DOM.container.removeChild(highlightDiv); }, 500);
+// }
+
export default DOM;
diff --git a/js/enums.js b/js/enums.js
new file mode 100644
index 0000000..2cb4762
--- /dev/null
+++ b/js/enums.js
@@ -0,0 +1,9 @@
+const RAD = {
+ t45: Math.PI / 4,
+ t90: Math.PI / 2,
+ t180: Math.PI,
+ t270: 3 * Math.PI / 2,
+ t360: Math.PI * 2
+};
+
+export { RAD };
diff --git a/js/index.js b/js/index.js
index 1e86011..c561929 100644
--- a/js/index.js
+++ b/js/index.js
@@ -1,30 +1,16 @@
import Rx, { Observable } from 'rxjs';
+import Controls from './controls';
import Animation1 from './animation1';
-import Animation2 from './animation2';
-import Animation3 from './animation3';
-import Animation5 from './animation5';
require('../css/reset.scss');
require('../css/index.scss');
-require('../css/animation2.scss');
-require('../css/animation3.scss');
-require('../css/animation5.scss');
+require('../css/particle.scss');
-Animation3.init();
+(new Controls(document.getElementById('animation1'), Animation1)).mount();
-
-// TODO ANIM 2 clicking several times on seahorse creates jumpiness
-// TODO display file contents in page
// TODO adding core UI breaks bounds
//
// TODO ANIM 3 birds entering, land on palette, find next one if full
// TODO ANIM 4 dog chasing
//
// TODO PR: https://github.com/ReactiveX/rxjs/blob/master/doc/decision-tree-widget/tree.yml#L122 "...time past since the last..."
-//
-// INTERMEDIATE TOPICS
-// === I have one existing Observable and
-// I want to group the values based on another Observable for opening a group, and an Observable for closing a group...
-// I want to start a new Observable for each value...
-// I want to share a subscription between multiple subscribers...
-// I want to change the scheduler...
diff --git a/js/particle.js b/js/particle.js
new file mode 100644
index 0000000..8e62df0
--- /dev/null
+++ b/js/particle.js
@@ -0,0 +1,171 @@
+import Rx, { Observable } from 'rxjs';
+// import DOM from './dom';
+import { RAD } from './enums';
+import Store from './store';
+
+const random = {
+ bool: () => Math.random() < 0.5,
+ num: (min, max) => min + Math.round(Math.random() * max)
+}
+
+function moveArc(arc, newRadius) {
+ const r0 = arc.r;
+ const r1 = newRadius;
+
+ // Moves arc center to new radius while keeping theta constant.
+ arc.x -= (r1 - r0) * Math.cos(arc.t);
+ arc.y += (r1 - r0) * Math.sin(arc.t);
+ arc.r = r1;
+
+ return arc;
+}
+
+function changeDirection(arc) {
+ arc.t = (arc.t + Math.PI) % RAD.t360;
+ arc.x -= (2 * arc.r) * Math.cos(arc.t);
+ arc.y += (2 * arc.r) * Math.sin(arc.t);
+
+ return arc;
+}
+
+// function transformVisionGrid(store) {
+// const {
+// arc,
+// clockwise,
+// particle.x,
+// particle.y,
+// radius,
+// } = store.get();
+//
+// const r0 = Math.min(arc.t, arc.t - Math.PI);
+// const r1 = Math.max(arc.t, arc.t + Math.PI);
+//
+// const gridX = particle.x - particle.x % 5;
+// const gridY = particle.y - particle.y % 5;
+//
+// visionGridPoints.forEach(({ x, y, alpha, div }, i) => {
+// if (alpha >= 0 && alpha <= r0) {
+// div.style.display = (clockwise ? 'none' : 'block');
+// // div.className = (clockwise ? 'anim3-dot removed' : 'anim3-dot');
+// } else if (alpha >= arc.t && alpha <= r1) {
+// div.style.display = (clockwise ? 'none' : 'block');
+// // div.className = (clockwise ? 'anim3-dot removed' : 'anim3-dot');
+// } else {
+// div.style.display = (clockwise ? 'block' : 'none');
+// // div.className = (clockwise ? 'anim3-dot' : 'anim3-dot removed');
+// }
+//
+// div.style.left = `${x + gridX}px`;
+// div.style.top = `${-y + gridY}px`;
+// });
+// }
+//
+
+function Particle(container, bounds, options = {}) {
+ this.container = container;
+ this.bounds = bounds;
+
+ this.node = document.createElement('div');
+ this.node.className = 'particle has-vision';
+
+ this.circle = document.createElement('div');
+ this.circle.className = 'particle-movement-circle';
+
+ this.container.appendChild(this.node);
+ this.container.appendChild(this.circle);
+
+ this.arc = {
+ r: random.num(100, 200),
+ t: random.num(0, RAD.t360),
+ x: random.num(0, bounds.width),
+ y: random.num(0, bounds.height)
+ }
+
+ this.particle = {
+ clockwise: random.bool(),
+ speed: 4,
+ x: 0,
+ y: 0
+ }
+
+ this.interval = 0;
+
+ this.updateOptions(options);
+ this.nextFrame();
+
+};
+
+Particle.prototype.nextFrame = function() {
+ this.move();
+ this.repaintParticle();
+ this.repaintCircle();
+}
+
+Particle.prototype.updateOptions = function(options) {
+ this.particleImage = 'seahorse';
+ this.randomlyChangeRadius = (new Boolean(options.randomlyChangeRadius)) || true;
+ this.randomlyChangeRotation = (new Boolean(options.randomlyChangeRotation)) || true;
+ this.showCircle = (new Boolean(options.showCircle)) || false;
+ this.showVision = (new Boolean(options.showVision)) || false;
+}
+
+Particle.prototype.repaintParticle = function() {
+ const rad = this.particle.clockwise
+ ? RAD.t180 - this.arc.t
+ : RAD.t360 - this.arc.t;
+
+ this.node.style.left = `${this.particle.x}px`;
+ this.node.style.top = `${this.particle.y}px`;
+ this.node.style.transform = `rotate(${rad}rad)`;
+}
+
+Particle.prototype.repaintCircle = function() {
+ this.circle.style.width = `${2 * this.arc.r}px`;
+ this.circle.style.height = `${2 * this.arc.r}px`;
+ this.circle.style.left = `${this.arc.x - this.arc.r}px`;
+ this.circle.style.top = `${this.arc.y - this.arc.r}px`;
+
+ this.circle.style.borderRadius = `${this.arc.r}px`;
+}
+
+Particle.prototype.move = function(store) {
+ // Randomly change radius and rotation direction.
+ this.interval -= 1;
+ if (this.interval <= 0) {
+ this.interval = random.num(50, 100);
+ this.arc = moveArc(this.arc, random.num(100, 200));
+
+ if (random.bool()) {
+ this.particle.clockwise = !this.particle.clockwise;
+ this.arc = changeDirection(this.arc);
+ }
+ }
+
+ // Ensure constant velocity and theta between 0 and 2π.
+ const delta = this.particle.speed / this.arc.r;
+ this.arc.t += (this.particle.clockwise ? -delta : +delta);
+ this.arc.t = (this.arc.t > 0 ? this.arc.t % RAD.t360 : RAD.t360 - this.arc.t);
+
+ this.particle.x = this.arc.x + this.arc.r * Math.cos(this.arc.t);
+ this.particle.y = this.arc.y - this.arc.r * Math.sin(this.arc.t);
+
+ // Overflow.
+ if (this.particle.x < 0) {
+ this.particle.x += this.bounds.width;
+ this.arc.x += this.bounds.width
+ } else if (this.particle.x > this.bounds.width) {
+ this.particle.x -= this.bounds.width;
+ this.arc.x -= this.bounds.width
+ }
+
+ if (this.particle.y < 0) {
+ this.particle.y += this.bounds.height; // TODO size of area
+ this.arc.y += this.bounds.height
+ } else if (this.particle.y > this.bounds.height) {
+ this.particle.y -= this.bounds.height;
+ this.arc.y -= this.bounds.height
+ }
+}
+
+
+export default Particle;