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: + +
+ +
+ +

+ 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;