{"_id":"telemachy","_rev":"30-e4248918acf177465cec309032dcc369","name":"telemachy","description":"Easy guided tours for Angular apps","dist-tags":{"latest":"3.2.1","1.0-scrollfix":"1.0.1"},"versions":{"0.0.1":{"name":"telemachy","version":"0.0.1","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","prepublish":"ngc && npm run build","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"main":"bundles/telemachy.umd.js","module":"index.js","typings":"index.d.ts","peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"4.3.2","@angular/compiler":"4.3.2","@angular/compiler-cli":"4.3.2","@angular/core":"4.3.2","@angular/platform-browser":"4.3.2","@angular/router":"4.3.2","angular-2-local-storage":"1.0.1","awesome-typescript-loader":"3.0.8","loader-utils":"1.0.3","rimraf":"2.6.1","rxjs":"5.4.2","source-map-loader":"0.1.6","ts-helpers":"1.1.2","tslint":"4.5.1","tslint-loader":"3.4.3","typescript":"2.2.1","webpack":"2.2.1","zone.js":"0.7.7"},"dependencies":{"clean-webpack-plugin":"^0.1.16"},"gitHead":"01e4566c36b2f49d40d928789f28b9add33b7075","_id":"telemachy@0.0.1","_shasum":"3a099390041356333f32faeb9356bc3b010ea75f","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"3a099390041356333f32faeb9356bc3b010ea75f","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-0.0.1.tgz","integrity":"sha512-jU90T9MMnhm9Bs5Wd6fypy8jBn7WKRWpvG8B/cqXAnGLHfAMfkHj7Et0lKHPynX4cGTnfMoQ6gIe0ofs+JQdJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAwAYB/MBhV2Cbwabte3hB4CCluMI0Qa6kYSIdZXepe+AiEA/DOBA7eyclerqsQJcU/lnPvC4WSr40KXjNLYA30iRF0="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy-0.0.1.tgz_1504179244109_0.42016580514609814"},"directories":{}},"1.0.0":{"name":"telemachy","version":"1.0.0","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","prepublish":"ngc && npm run build","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"main":"bundles/telemachy.umd.js","module":"index.js","typings":"index.d.ts","peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"4.3.2","@angular/compiler":"4.3.2","@angular/compiler-cli":"4.3.2","@angular/core":"4.3.2","@angular/platform-browser":"4.3.2","@angular/router":"4.3.2","angular-2-local-storage":"1.0.1","awesome-typescript-loader":"3.0.8","clean-webpack-plugin":"^0.1.16","loader-utils":"1.0.3","rimraf":"2.6.1","rxjs":"5.4.2","source-map-loader":"0.1.6","ts-helpers":"1.1.2","tslint":"4.5.1","tslint-loader":"3.4.3","typescript":"2.2.1","webpack":"2.2.1","zone.js":"0.7.7"},"gitHead":"5bc1b87f93cdd40e8ee4cf71a1028d15e92ec2c9","_id":"telemachy@1.0.0","_shasum":"ac2061f324f0df1d63110f9ed48f5c5cc558dd50","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"ac2061f324f0df1d63110f9ed48f5c5cc558dd50","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-1.0.0.tgz","integrity":"sha512-sNk5WFP2LLtfMd7pFEg5CLu3tb2u2fJFeEdgBEc/uPWeyZ2CT2JjJl6ZFx7/kiKPQYyVkMluEtE2PeMyKDmrkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFfp4dNK+JdhUSf8oZNxuw6EF9gnWNY7g4qznPEoj6B0AiEAma01Ol4ao856WKJ4tQAYvdOUX9YA/KoOW3Wzg7E1p4g="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy-1.0.0.tgz_1504185123085_0.22606358723714948"},"directories":{}},"2.0.0":{"name":"telemachy","version":"2.0.0","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","prepublish":"npm run build","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"gitHead":"fcc3ed18ff875a9c828eca13ecd520ba5374cac3","_id":"telemachy@2.0.0","_shasum":"78011162871ff4d76638cd0f545e1c3ec7aca12e","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"78011162871ff4d76638cd0f545e1c3ec7aca12e","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.0.0.tgz","fileCount":95,"unpackedSize":3632059,"integrity":"sha512-zNcPO6fmvoYYRg2oILKN6A3oQaCdhuuI+Opxqrzr+frn1KV7g/UreecMQnAczYWh3i7JXI1P1rmnCKeXn4Yi/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCF5n79gTyYoVOgmamVN/rC68Zbk7B1sg0TsImwsq0J2wIhANNvHpwYfSp8bmGOC9THg34O6lwe3g16vpRGzNjSlZzZ"}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.0.0_1518438390841_0.24136193462168132"},"_hasShrinkwrap":false,"deprecated":"Build issue fixed in v2.0.4"},"2.0.1":{"name":"telemachy","version":"2.0.1","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","prepublish":"npm run build","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"licenseText":"MIT License\n\nCopyright (c) 2017 Code Orange\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"telemachy@2.0.1","dist":{"shasum":"3253d87f91ab62ebe41bfddbd28b1a5656d78042","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.0.1.tgz","fileCount":27,"unpackedSize":3097056,"integrity":"sha512-9nlhBd+3MwmxGfSqaAhHr63WpZART0BegZBhfCf3qENHXsjdSRTVEvmEwFOpDL7EngNU7MrpnBQwtgNOMiSUfw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBzolHRjZWx1Tvrp0tSoUOODXPiIW8thZp6oK4Pr3z0/AiEA/M347c7NvUQZFXPGEbTRrpFhRpggYPnsqWkhIAk7ihU="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.0.1_1519038823312_0.057116762586580716"},"_hasShrinkwrap":false,"deprecated":"Build issue fixed in v2.0.4"},"2.0.2":{"name":"telemachy","version":"2.0.2","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"licenseText":"MIT License\n\nCopyright (c) 2017 Code Orange\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"telemachy@2.0.2","dist":{"shasum":"81a4eb66662c04dca94084d5cfffe8e5b10b8ce7","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.0.2.tgz","fileCount":27,"unpackedSize":3097022,"integrity":"sha512-UdtHcRoq0cb+sm93io7A+3sYkUDpQz/fVHxMk4ATavQbonMifvF+8hvfo3JvmEuNFxrhzuxfdmnYcgIqG6wCBQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDowuHkwjsFswJsAXhyhl5sSZAtcHXph6nhlD0haaThUgIgXW1Qkihb5NebRKAt1B0D4UzfUZP0f1FZtbSqsWKgKZQ="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.0.2_1519039028537_0.660857016930666"},"_hasShrinkwrap":false,"deprecated":"Build issue fixed in v2.0.4"},"2.0.3":{"name":"telemachy","version":"2.0.3","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"main":"bundles/telemachy.umd.js","module":"esm5/telemachy.js","es2015":"esm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","_id":"telemachy@2.0.3","_shasum":"5141131cb68c84643189fbced1910db8280e5622","_from":"dist","_resolved":"file:dist","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"5141131cb68c84643189fbced1910db8280e5622","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.0.3.tgz","fileCount":24,"unpackedSize":232088,"integrity":"sha512-86vWRLA5DwwpU2b/mxc3t/rzbxi2QBZCLLMJbMpI7pfhcoAYFuuxrduoEvQ5NR3ZaAEOezc4wYm8sTIC0EnhgQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDm5YR2lTtBwn4ZTOQIB+jpsNiFhULlABp0/P7Wjpt/aAiAoBfrzGkG4M2y/PhiNyPjUAhApoIvMGA4OxHS/CPgY+g=="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.0.3_1519039194086_0.5672526755535561"},"_hasShrinkwrap":false,"deprecated":"Build issue fixed in v2.0.4"},"2.0.4":{"name":"telemachy","version":"2.0.4","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"main":"bundles/telemachy.umd.js","module":"esm5/telemachy.js","es2015":"esm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","_id":"telemachy@2.0.4","_shasum":"b2b71ab3a20418c14f28f666c06cd046d3bd99b5","_from":"dist","_resolved":"file:dist","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"b2b71ab3a20418c14f28f666c06cd046d3bd99b5","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.0.4.tgz","fileCount":24,"unpackedSize":232298,"integrity":"sha512-oVo3yH2yBc7GiHQugG0CEx5z4Dj3T2yu59sCgPw68zPxCrUKTTNhtT2XulT1FEvCxjpUA5S2oYQ2K3jVwCjdUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDii66pyqLD7lzWEUGA5hxDbTYo2psYI98CJZCeC9LRyQIgSF2tKwbBmwa2p4DUx2NLAzhVNw3pw5RekYqVgkhY5nE="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.0.4_1519040652478_0.8045286534678235"},"_hasShrinkwrap":false},"2.1.0":{"name":"telemachy","version":"2.1.0","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"main":"bundles/telemachy.umd.js","module":"esm5/telemachy.js","es2015":"esm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","_id":"telemachy@2.1.0","_shasum":"09b432facaed27aa83f07915a98d8ab48a0b3513","_from":"dist","_resolved":"file:dist","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"09b432facaed27aa83f07915a98d8ab48a0b3513","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.1.0.tgz","fileCount":24,"unpackedSize":235394,"integrity":"sha512-Tyzp65lstZRX672QnBLJ42a6G8C8WvkRflvYLXScTO7beOnDOMFEedWuc2xzejFTnkmxqCwYCo0jHAS7k/OOJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeydgXQU2RrY4zDVjytNHOXP19kBuuat5zDVXZn9z/kgIhAPU9dqDwXynqoRjrMqVvOIe1FvMaGYhSRdXPOpN8kVLk"}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.1.0_1519985177273_0.8431177445129547"},"_hasShrinkwrap":false},"2.1.1":{"name":"telemachy","version":"2.1.1","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"^5.2.3","@angular/compiler":"^5.2.3","@angular/compiler-cli":"^5.2.3","@angular/core":"^5.2.3","@angular/platform-browser":"^5.2.3","@angular/router":"^5.2.3","ng-packagr":"v2.0.0-rc.12","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"^5.5.6","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"2.6.x","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^1.0.1"},"main":"bundles/telemachy.umd.js","module":"esm5/telemachy.js","es2015":"esm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","_id":"telemachy@2.1.1","_shasum":"182ec9ea27e71c0791568ad73d99c1126a4d2ae2","_from":"dist","_resolved":"file:dist","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"182ec9ea27e71c0791568ad73d99c1126a4d2ae2","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-2.1.1.tgz","fileCount":24,"unpackedSize":234823,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2agzCRA9TVsSAnZWagAAJtwP/A8kvYbuvdPv0kBq+ZdW\n4Dk75cRb5O00f5wt7VsM2yjNOq4EymHvqoFmKgYQx7BAi3gUoIG4zyxoXM+U\nm0r4OBvgPJmZbfndDteCmTrDnvxBnvoCIMYezPV5TKqJEN9k3E3mrU6LPNKP\ne9rZm8m2ZfC8oRGWzVEbsF1xoAd68/099rda+uAOZiol9RPb1NG3y4A1JH4M\nyCiA8fh82M3QxoYcQVLf+OVM6FdZ91Nk4OCYLkn6rTw7PS3Z8h6Evxvr7z6T\nljz6k61c1p3mlur2cSTfDaeBUhte4rUm0dMecEJydXWliZg/RnQBtMi9aqNM\nozL19MdLdqy790mLWPs2YcZrxCB5tJkuEb4T2MR/DPo+mnjP1uGe5fp/mbid\nvZjulM7/em28GshO70X0PN7fKSLIketYLV6XOfwKU/FbIPVmS4KAZrK+ddss\naMviLLYcJmAKf+zqkeR9OowVDGTInbYCchNmaN9SRLfdLzBbgoCXfMTqYNGI\niCU+x8Nh+fS2G39O1bcz7JcOlIkQj/Q5gA1qIFQqx1IJs2DCf00xDyr9g+HI\nVqi8O+8NIOMQnYKKQmUvTpyGiCiqVcGxyRkLE/D8Mb1Inf8gulEUi54C2p4A\n5Go4V5K0Y7IgCkwy1om6Y0ql+CPLiCMqQoZ5tMgNo4A4JYLHECI3szAnmVXi\nAB2H\r\n=pH+7\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-BLA7e82US8Ce/79a8ASarnXoYsxe4aqXnJsHjaduZ4sZtMLgPlxyonWNE0ZizOUbJEuoTNA04O4uAwqCZnuNtQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD05W4M40hX426qULtIiG9tD0jpO9cRaKeyAhjtYE0x9wIgXC4JX0nm4AnN6MlIgP6IPAYPDR4YNr1cTzE1boTrXhs="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_2.1.1_1524213810219_0.11304385192830346"},"_hasShrinkwrap":false},"1.0.1":{"name":"telemachy","version":"1.0.1","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","prepublish":"ngc && npm run build","build":"webpack"},"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"main":"bundles/telemachy.umd.js","module":"index.js","typings":"index.d.ts","peerDependencies":{"@angular/core":">=2.0.0 || >=4.0.0-beta.0"},"devDependencies":{"@angular/common":"4.3.2","@angular/compiler":"4.3.2","@angular/compiler-cli":"4.3.2","@angular/core":"4.3.2","@angular/platform-browser":"4.3.2","@angular/router":"4.3.2","angular-2-local-storage":"1.0.1","awesome-typescript-loader":"3.0.8","clean-webpack-plugin":"^0.1.16","loader-utils":"1.0.3","rimraf":"2.6.1","rxjs":"5.4.2","source-map-loader":"0.1.6","ts-helpers":"1.1.2","tslint":"4.5.1","tslint-loader":"3.4.3","typescript":"2.2.1","webpack":"2.2.1","zone.js":"0.7.7"},"readme":"# Telemachy [![npm](https://img.shields.io/npm/v/telemachy.svg?style=flat-square)](https://www.npmjs.com/package/telemachy) [![Downloads](http://img.shields.io/npm/dt/telemachy.svg?style=flat-square)](https://npmjs.org/package/telemachy) [![license](https://img.shields.io/npm/l/telemachy.svg?style=flat-square)](https://www.npmjs.com/package/telemachy) \r\n\r\nEasy guided tours for Angular apps.\r\n\r\n![Demo](demo.gif)\r\n\r\n## Table of contents\r\n\r\n * [Getting started](#getting-started)\r\n    + [Installation](#installation)\r\n    + [Usage](#usage)\r\n      - [Persistency](#persistency)\r\n      - [Restarting a tour](#restarting-a-tour)\r\n  * [API](#api)\r\n    + [TelemachyService](#telemachyservice)\r\n    + [TourPersistency](#tourpersistency)\r\n    + [YoutubeTourStep](#youtubetourstep)\r\n    + [HTMLTourStep](#htmltourstep)\r\n    + [ElementTourStep](#elementtourstep)\r\n\r\n## Getting started\r\n\r\n### Installation\r\n\r\n```sh\r\nyarn add telemachy\r\n# or\r\nnpm install --save telemachy\r\n```\r\n\r\nImport `TelemachyModule` in your root module:\r\n\r\n```typescript\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\n\r\nimport { TelemachyModule } from 'telemachy';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\n@NgModule({\r\n\timports: [BrowserModule, TelemachyModule],\r\n\tdeclarations: [AppComponent],\r\n\tbootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\nFinally, add the `<telemachy-tour>` component to your root app component (or one that is always loaded when you want to display a tour):\r\n\r\n```typescript\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplate: `<telemachy-tour></telemachy-tour><router-outlet></router-outlet>`\r\n})\r\nexport class RootComponent {}\r\n```\r\n\r\n### Usage\r\n\r\nIn its easiest form, you can use Telemachy just by implementing the `HasGuidedTour` interface:\r\n\r\n```typescript\r\n@Component({\r\n\tselector: 'app-complex-component',\r\n\ttemplateUrl: './complex-component.component.html'\r\n})\r\nexport class ComplexComponent implements HasGuidedTour {\r\n\ttourAutoStart() {return true;}\r\n\tgetTour():TourStep[] {\r\n\t\treturn [\r\n\t\t\tnew YoutubeTourStep('l9xU1WpdmVY'),\r\n\t\t\tnew ElementTourStep('#complex-thing', 'Here, I will explain this.'),\r\n\t\t\tnew ElementTourStep('#second-complex-thing', 'Then, I will explain this.'),\r\n\t\t\tnew HTMLTourStep(`Finally, we are <em>done</em>!`)\r\n\t\t];\r\n\t}\r\n}\r\n```\r\n\r\nBy implementing the optional `tourAutoStart()` method (and having it return `true`), Telemachy will automatically start this component's tour whenever it becomes active through the angular router.\r\nYou can also explicitly say it should be started by calling `TelemachyService.startTour(this)`.\r\nIn both cases, Telemachy will only show the tour if the persistency layer says the user should see it.\r\n\r\n#### Persistency\r\n\r\nBy default, Telemachy will always show a user the tour on each visit.\r\nIf you want to save if a user has already seen a tour, you should provide an alternate implementation for the `TourPersistency` service.\r\n\r\nTelemachy comes with an alternate implementation that uses localstorage to save this state.\r\nThis implementation depends on [phenomnomnominal/angular-2-local-storage](https://github.com/phenomnomnominal/angular-2-local-storage).\r\nYou can use this as follows:\r\n\r\n```typescript\r\nimport { LocalStorageModule, LocalStorageService } from 'angular-2-local-storage';\r\nimport { TelemachyModule, TourPersistency, LocalstorageTourPersistencyFactory } from 'telemachy';\r\n\r\n@NgModule({\r\n\timports: [BrowserModule, LocalStorageModule.withConfig(), TelemachyModule],\r\n\tdeclarations: [AppComponent],\r\n\tbootstrap: [AppComponent],\r\n\tproviders: [\r\n\t\t{provide: TourPersistency, useFactory: LocalstorageTourPersistencyFactory, deps: [LocalStorageService]}\r\n\t]\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\nWe recommend you replace the `TourPersistency` service with an implementation that saves the user's state in a remote system, for instance through a REST API.\r\n\r\n#### Restarting a tour\r\n\r\nYou can restart the tour for a currently visible component by calling `TelemachyService.restartTour()`.\r\nTo check if there is a currently visible component that has a tour, use `TelemachyService.canRestart()`.\r\n\r\n## API\r\n\r\n### TelemachyService\r\n\r\n```typescript\r\nclass TelemachyService {\r\n    /**\r\n     * Attempt to start the tour for a component\r\n     * @param component\r\n     */\r\n    startTour(component: HasGuidedTour): void;\r\n    /**\r\n     * Indicates if there is a tour that could be restarted\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    canRestart(): boolean;\r\n    /**\r\n     * Restarts the tour for a component (no guarantee which) that is visible right now\r\n     */\r\n    restartTour(): void;\r\n    canGoBack(): boolean;\r\n    canFinish(): boolean;\r\n    finish(): void;\r\n    skip(): void;\r\n    next(): void;\r\n    previous(): void;\r\n    private reset();\r\n    private emit();\r\n    subscribeStep(generatorOrNext?: any, error?: any, complete?: any): Subscription;\r\n    readonly progress: number;\r\n    readonly total: number;\r\n}\r\n```\r\n\r\n### TourPersistency\r\n\r\n```typescript\r\nclass TourPersistency {\r\n    /**\r\n     * Whether a tour should be started\r\n     *\r\n     * @param componentName Name of the component that the user has arrived at\r\n     * @returns {Observable<boolean>}\r\n     */\r\n    shouldStart(componentName: string): Observable<boolean>;\r\n    /**\r\n     * Finish the tour for a component\r\n     * @param componentName\r\n     */\r\n    finish(componentName: string): void;\r\n    /**\r\n     * Skip the tour for a component\r\n     * @param componentName\r\n     */\r\n    skip(componentName: string): void;\r\n}\r\n```\r\n\r\n### YoutubeTourStep\r\n\r\n```typescript\r\n/**\r\n * Tour step that shows a Youtube video in the middle of the page\r\n */\r\nclass YoutubeTourStep extends TourStep {\r\n    /**\r\n     * Video id\r\n     */\r\n    video: string;\r\n    constructor(video: string);\r\n}\r\n```\r\n\r\n### HTMLTourStep\r\n\r\n```typescript\r\n/**\r\n * Tour step that shows some HTML in the middle of the page\r\n */\r\nclass HTMLTourStep extends TourStep {\r\n    /**\r\n     * HTML to display in this step\r\n     */\r\n    body: string;\r\n    constructor(body: string);\r\n}\r\n\r\n```\r\n\r\n### ElementTourStep\r\n\r\n```typescript\r\n/**\r\n * Tour step that highlights an element on the page with some explanation\r\n */\r\nclass ElementTourStep extends TourStep {\r\n    /**\r\n     * Element to highlight\r\n     */\r\n    domElement: Element;\r\n    /**\r\n     * HTML to display in this step\r\n     */\r\n    body: string;\r\n    constructor(selector: string, body: string, async?: boolean);\r\n    readonly top: string;\r\n    readonly bottom: string;\r\n    readonly left: string;\r\n    readonly right: string;\r\n    readonly documentHeight: string;\r\n    readonly documentWidth: string;\r\n    readonly toBottom: string;\r\n    readonly toRight: string;\r\n    readonly fromLeft: string;\r\n    readonly fromTop: string;\r\n    readonly height: string;\r\n    readonly width: string;\r\n}\r\n```\r\n\r\nIf `async` is `true`, the `ElementTourStep` will attempt to find the element on the page after it has been initialized.\r\nIf the element isn't available by the time the step should be rendered, the step will be skipped. \r\n","readmeFilename":"README.md","gitHead":"2dcb0b21ded6ded5dc13631e5180f22ac1260eae","_id":"telemachy@1.0.1","_shasum":"5b253db38910c01c02f025ada72122ece6e51f81","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.10.3","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"shasum":"5b253db38910c01c02f025ada72122ece6e51f81","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-1.0.1.tgz","fileCount":70,"unpackedSize":3317195,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa2cfoCRA9TVsSAnZWagAAg8EP/2q5ZzhLI5ik5Urg/RaT\nP/ielT3QHSEGGUrEjBmTaEsyXXQBjuSRwh7YuYypza8aHKEa51a1wIHs212/\nPcH1c0D9v99nXLlwBMY79tVA0YPOaxKZuh8ZkD8H3j62AOcihdT0ZGqDlQya\nTxpFp3UOn23o117f/5aTvzy8dGTrjfb7eLCcT/AJBkzQ+Qj6KvOS9/MVmQzH\nSOm3uNrGFIX5fAlDOfVPs1njMQtQ/V+Id4LIUye6P0gK9S3rf5rWbtfbgoOC\nzYiAjd1DIviJap7FreSTxHVjLSskewNMY6fGdzzIrDimpV+7Kjnd32wwOzL3\nfvkF6/k1J7isvR84dARu42ADkL1+abOyLvl4AKLmEO6Vs9aQrlplEFDRIEyB\nSQSJK3jE0sEL+d0RmnjigZAq/0J6AyKvHi/SKlAIGyYT5qfdY5zllXSMMexz\njtFikCZSMgIgjs9gAcp1q6WI/cDUyAC9d1rCBYlRDmh59viyrP+4fm1/IioB\nFNhAmwXvgXu+r1nL5ATTSdVd54qyrOdDRJm9inZXTTJHUuWi8M+AaAwxh0HF\nZXR9Iluqa3qrfG8R1aRukB+haC4ukxTvHfdLSO1dGF8VKpZQj81XfUmyu5zZ\na1GwKF9khst3dWzr5cWGWOSz2pZ1TA3M0PEMZFHYmkJCGftLMvfqTdS1SaaD\nvH3k\r\n=pVu2\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-eDK3UyoG69IYYPT1zPjwE9GWl8UVrYMevEFv2AvTx1/MJACzZTxvV6hyRgRo0LvOHmhVG6sg2XWIwhsSTkSyyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA1EpTe1ObTp5I94qLSYXBmnbWYcAt06DG8Xv7lc8+L+AiEA5Zbch+k1Wa2NcX5VqNeb1TM+s/MCZI/C2Oyhf3z02mw="}]},"maintainers":[{"name":"timvdalen","email":"tim@code-orange.nl"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_1.0.1_1524221927778_0.5128850389248845"},"_hasShrinkwrap":false},"3.0.1":{"name":"telemachy","version":"3.0.1","description":"Easy guided tours for Angular apps","repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=6.1.8","rxjs":"^6.3.2"},"devDependencies":{"@angular/common":"^6.1.8","@angular/compiler":"^6.1.8","@angular/compiler-cli":"^6.1.8","@angular/core":"^6.1.8","@angular/platform-browser":"^6.1.8","@angular/router":"^6.1.8","ng-packagr":"^4.2.0","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"6.0","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"^2.8.3","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^2.0.0","tslib":"^1.9.0"},"main":"bundles/telemachy.umd.js","module":"fesm5/telemachy.js","es2015":"fesm2015/telemachy.js","esm5":"esm5/telemachy.js","esm2015":"esm2015/telemachy.js","fesm5":"fesm5/telemachy.js","fesm2015":"fesm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","sideEffects":false,"_id":"telemachy@3.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"nielshoiting","email":"niels@code-orange.nl"},"dist":{"integrity":"sha512-Y3E8FO5C8rrabwtVYVEamesOYUyl/EXr2NR0z0R+f94oeEZC7ywFncYAMFqFuupalsaT+CGy6s5lOkWUUp/oNQ==","shasum":"6ba4d0aa5fb73cd084f5f2a13aaab858540b85c3","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-3.0.1.tgz","fileCount":48,"unpackedSize":394010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrewHCRA9TVsSAnZWagAAlZkP/AhPtu5RklNEiO/2yfLY\ninyReqm1ZeD4/+hPSy7NlqZGDFL//O4rk60K1L6a7QgIylybC/i82pC0bIHi\nKPzfVrabTYs3udFjhbL7yBnVMGBu5jkdg9/1FZfJLEhzuYuVpf54sUqAplIQ\ngfwMjSeHm2wDEFbDmKyzWoORcPxQiOwL5WKjLqQNk+JOVjYU3nouDsUDU6kv\nqysnbU6KMEW9vPLW8xtGU8g3V38A+ur/TfH7RP/zyGwQEasxSpKMx3OjIi5B\njrVGCSK6R/PUygdd3BAkJNQkh9Zx8d9kw8w1VGJXUofY3PSwztevn1x9Ambb\nhDj6Ocl3Z0Jq6lK+rSGfCXaxPcl4XO8pL4H+THNRVJ4yEsWzqHhl3gHL91kB\nTfFTtWUgHVDt3Lxlk/OdRuE6EOFbnNgCllRlAMWajnij/0H+rJDEZIhgC8gm\nZv//uS/n2lOkLiNmAiqBPBEw8PzZ9JcvSz/pTE0+QtHnokYMwh5Pzl8wllZk\n/sEyY8KqJXAi32C/KB5HwYku3Jr6rGcmbYvEwf47/evmXEcbgxQCOLq+2/ne\nBdLdfxwqvGJMevBSzi6jApa092PU2sIIk7LsyQxkJfgsXEFObp58yprckk5C\n6+F8zr95UO4wIeJA1Zw+2EpWfyiZmS5fIpTo8yhjTZYQAWzDvgctmu/GXDNq\n3x9b\r\n=Iymc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEighndodAm4JW3kzXVs9m/MVN47E/oNjZeRHKmokFQwIhAP2rYUXIi7Q74rDJIOltVOhXLMRhF1pXz2GU7JmaIkp/"}]},"maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_3.0.1_1538124806511_0.4822834161022085"},"_hasShrinkwrap":false},"3.1.0":{"name":"telemachy","version":"3.1.0","description":"Easy guided tours for Angular apps","scripts":{"clean":"rimraf bundles src/**/*.d.ts src/**/*.metadata.json src/**/*.js tests/**/*.d.ts tests/**/*.metadata.json tests/**/*.js index.d.ts index.metadata.json index.js","clean-build":"npm run clean && npm run build && npm run prepublish","build":"rimraf dist && ng-packagr -p package.json"},"repository":{"type":"git","url":"https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=6.1.8","rxjs":"^6.3.2"},"devDependencies":{"@angular/common":"^6.1.8","@angular/compiler":"^6.1.8","@angular/compiler-cli":"^6.1.8","@angular/core":"^6.1.8","@angular/platform-browser":"^6.1.8","@angular/router":"^6.1.8","ng-packagr":"^4.2.0","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"6.0","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"^2.8.3","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^2.0.0"},"ngPackage":{"whitelistedNonPeerDependencies":["angular-2-local-storage"],"lib":{"entryFile":"index.ts"}},"licenseText":"MIT License\n\nCopyright (c) 2017 Code Orange\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n","_id":"telemachy@3.1.0","dist":{"shasum":"3740fff8e5c94b258d91a98908d0a04af12dc88a","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-3.1.0.tgz","integrity":"sha512-MtAHYA4w11hkU4uTeL3TOj0t/5vxPsdWrkXwmW2u/1gsGyaZqgL73rhU9RBJyOr2oDUHe5R36qg1nbdD8LSFwQ==","fileCount":26,"unpackedSize":3098966,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQwRCRA9TVsSAnZWagAAdtcQAJxQpyVWMy2fIRGAk9du\ng/NYqdiecSDRxLBalhYCL2UA3DCIrl12UtdiF0uKoVG3YTivFXGJjHaxXiWj\nHTTQTAMXV0Bnn8dmx9uugM9lgZqVBg/cg7GAZ+IIYej0tIb4V5XNxdHfY5Im\nuxln0kaYq1dUNnjTK+Cq6YxOjWPzD1MklW+rfsRwi9WLD6k5i2UNpfjm1ZAJ\ndgOVXfK5vgqzQFVUp9x0K2pKqpePpYNbLzFY0iAI92YAS2E2Y3+kMgXUux2Y\n8VrE8QEa6iRM4UYvSIfw1xgwbbPN8mLfMP0j6Q8pKV4FnBotOam+Yx0UGc5+\n5CMJx+LXGGDmYs4S/wAsqPTFxu/uJLUzRw6lL5ss/RR1tiRTUKGpK3It6Nx1\n0H/0D16uHpa+H3cQdznGspRzJnw6VBCesP4lO6k7rdw4ML6mcB2ja/DBo1Gx\nxNv4bQp9wb52V3Xp1AQDmWlBScAy7dMlNs1hbbzr3ahy2GXY4AYynLHSfl2E\nxdSyPaTzLVL//BzJZDXXhpKxSk9bBlgG8caHqSLZoSaqJ4e45A/sXEzSLfgK\n4y0AZN9bEwztLO3DjGB+9yu1eczlD2ovluEePPfT8XDBd9DHWD9dYkQOv2OK\n4WGZQ383C4TOi3q89Q3U50g4ugWjt7FOP3vKY+ekkXoFb9SOT1tE0PwPInJu\njcDM\r\n=xk72\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw3ZoqgoSJWxTRqFUHi5nUhOSiLLoHiS6uXC6BeyJunwIhAI0WO5mwnwq7lpnbrm59Eyz8JJ5bSPMRlLp4BbRFV1Jz"}]},"maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_3.1.0_1545145360800_0.043475456863733664"},"_hasShrinkwrap":false,"deprecated":"Wrong version"},"3.1.1":{"name":"telemachy","version":"3.1.1","description":"Easy guided tours for Angular apps","repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=6.1.8","rxjs":"^6.3.2"},"devDependencies":{"@angular/common":"^6.1.8","@angular/compiler":"^6.1.8","@angular/compiler-cli":"^6.1.8","@angular/core":"^6.1.8","@angular/platform-browser":"^6.1.8","@angular/router":"^6.1.8","ng-packagr":"^4.2.0","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"6.0","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"^2.8.3","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^2.0.0","tslib":"^1.9.0"},"main":"bundles/telemachy.umd.js","module":"fesm5/telemachy.js","es2015":"fesm2015/telemachy.js","esm5":"esm5/telemachy.js","esm2015":"esm2015/telemachy.js","fesm5":"fesm5/telemachy.js","fesm2015":"fesm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","sideEffects":false,"_id":"telemachy@3.1.1","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"integrity":"sha512-/Nv8UCgCavlNgypoydFqEy8u6IQKVosq03W09A4SsMGBSgW4NoV8e5vAY4GEWjttBW4gnNjPTmD2RhdRfxeflA==","shasum":"bb36794b9d8e967148baab810b6e5f10783baa54","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-3.1.1.tgz","fileCount":48,"unpackedSize":531240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQygCRA9TVsSAnZWagAABXgP/j4OoOcuxppxCM1nnYar\nQi5NlIubHrWm3Po1yQx5TFDrwG3gWkqvQSK5sDVHEB5Bo92rnCcOZsgtd0LZ\nm1EtMEqA9cCJXnwstGv/UKJ6FfBxarCV5qt2f05RDV5f4lsU6kLI5p38GAhT\nE3Jet3q8aKbI7f9ZIYNGVe2a8Iv9Kju+MGR+XQFDSgD4+PgIciuD98e1yfM9\nusF8n+gbCdPNUFn7hJoS6F3C/oGdU8bYjoBxdFBT15kE16LUNEVRDzbHYcdI\nxbWpfudt5wzmLaZB49XkMurjRsNlZZANu/PKzPpNVccFIKAOLByCOSfq/z/x\nEKkXKnYmGvJmsFW6JvqlMuWZMN0Z8KYfExkVBj7bbXkfl8JA72KC/c5FpwdL\n4HJ6rfo1wlkT+kDt0VMOOGvfiHV+OiiNvs4jhhXex8lhWNaASiT76J5sBTIm\n6fkw0ll8uv8/16tAZXrhMtRmSAj/iYJ0LWetusyRu5Xwt3uXDvyCYnDzErLo\n4k10dhxgvgXyhKZMxOxHcnqSYrX2fjGxFFzIEVhX7nDxAFkowT+kb9+AQE3p\n38ChzUo6Ew9eRsxTOTg1JaXladfYlfzu+jURth7rglqbM/nO5FG+kPisgmer\n8rfBo01DbLP5T2sHQ2RB0vKVjUGmmdYLoPAcI/OlljF0xpBNqaOgn4k23pXK\n8CCl\r\n=Avrj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHrMI2/NIu0NDdMolKkpQHS+XQjPtB+k2Set7x9Mel5DAiEA+v/iq9dgJOfUm5YdLUhxYPnBEpjouupH2W7HLi998Bk="}]},"maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_3.1.1_1545145504346_0.18832256158523575"},"_hasShrinkwrap":false,"deprecated":"Error in sourcemaps"},"3.1.2":{"name":"telemachy","version":"3.1.2","description":"Easy guided tours for Angular apps","repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=6.1.8","rxjs":"^6.3.2"},"devDependencies":{"@angular/common":"^6.1.8","@angular/compiler":"^6.1.8","@angular/compiler-cli":"^6.1.8","@angular/core":"^6.1.8","@angular/platform-browser":"^6.1.8","@angular/router":"^6.1.8","ng-packagr":"^4.2.0","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"6.0","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"^2.8.3","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^2.0.0","tslib":"^1.9.0"},"main":"bundles/telemachy.umd.js","module":"fesm5/telemachy.js","es2015":"fesm2015/telemachy.js","esm5":"esm5/telemachy.js","esm2015":"esm2015/telemachy.js","fesm5":"fesm5/telemachy.js","fesm2015":"fesm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","sideEffects":false,"_id":"telemachy@3.1.2","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"integrity":"sha512-H6nYoq36KLJGdnzYJM/sJqDw1YdrEBytWT72Sj507LIYDyygAzbWVPyYU5kSLKLfCrRDbJBhnR7Zw5hEki2vKQ==","shasum":"d9ae468ed7e1ed6e0e28bbea8deb05d32c75327b","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-3.1.2.tgz","fileCount":48,"unpackedSize":406518,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQ7BCRA9TVsSAnZWagAAQw0QAJp8Xo67+IBHQ7jqxYrI\nMRnQWOtWZxaW4PmsHlA0a4Qb+z/us0SCxdPLX9qXijBAHSZ5qBTZ1VuLoESd\nik6n1J84WgI8RbrufbrOHBC4cAgwaRU05eGl+PtwZAiJgZZes7xfAAKFlKmM\nG4X7kNf2motBI/PA2tSaCPsEUBun7O2c/z2PaHTn/I3MYIIOouM82EO/n6IF\na7t7XNKKJ9hOGsqATVlGsPR3wDN5alQ5NJnOu0u2/bmNYgv9bazPHGWs1VH2\ngHYfOMnhBRPA903w8OxCeLyPtcDplbMIS2FTioXRS5U6cBSlM6yCp9g4R4TH\niqA9LkHoky9pcch6YFVTlJzTGugcY30albEsxce7XuLSZK1r0IrHyV5LawWj\ncSJ7JoZBFGPJ383SereW8rkW/ctB/wDOh4yk4Ig+kxlZXNXKSAn3kudUGTFk\nCcjj/HgzRDbzVAcd8OBCAnrnSp8p6CLAcZ0VqctnOkALpmNEx1Yyn9z8Ezbn\nng30k3NHSc6NJH6f0Niv8jHv3b+v2d1F6GeyRuSyD/yl5oNBOfoe0WZX6YEX\n0zziFnb26AcpNdzCqci9M7flkIfIpkVQtonfTAknjp4noPv2XhIbJxhFXSyR\n5OixsxEaV4QhtoPL761Z/FfEfJQI0cG+evz8uwW3CmK/cLcQGi/DoKHDUlZL\nlDRo\r\n=eaDE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICF14h8Q4JVUU6Y34o+7biG2ep/yfrIJInqdheXFDD8WAiA7IqG6Yxk3DM3I5w6MSsgLkLvlUloSCMKRMyoYVG94bQ=="}]},"maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_3.1.2_1545146049135_0.8256450867395286"},"_hasShrinkwrap":false},"3.2.0":{"name":"telemachy","version":"3.2.0","description":"Easy guided tours for Angular apps","repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=6.1.8","rxjs":"^6.3.2"},"devDependencies":{"@angular/common":"^6.1.8","@angular/compiler":"^6.1.8","@angular/compiler-cli":"^6.1.8","@angular/core":"^6.1.8","@angular/platform-browser":"^6.1.8","@angular/router":"^6.1.8","ng-packagr":"^4.2.0","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"6.0","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"^2.8.3","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^2.0.0","tslib":"^1.9.0"},"main":"bundles/telemachy.umd.js","module":"fesm5/telemachy.js","es2015":"fesm2015/telemachy.js","esm5":"esm5/telemachy.js","esm2015":"esm2015/telemachy.js","fesm5":"fesm5/telemachy.js","fesm2015":"fesm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","sideEffects":false,"_id":"telemachy@3.2.0","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"integrity":"sha512-b2aedy4W/YBAPX4tSkRAy8ToKgjzIEvkoH6Lyul0lRg8N31NSkDWpSzDoUdk92y1TC/KA0rKSDwGY5GxHqpwAQ==","shasum":"cd1151d8afb410f7920097dc1e650426d331fdc7","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-3.2.0.tgz","fileCount":48,"unpackedSize":566695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGhlWCRA9TVsSAnZWagAAEZcQAIe5+qgadrwjjCNOtg8Q\nRNqyGqhdJGPIQBEc8ly+znrVrdEGJEpgtR7/IcQ15szsMhoTAMfZ52Ejba43\nJz7TNie3YJcnjwxM2MbaDknDQlvE4d9s0eIYwMetbAjp0vubkWw6XCp9IRAu\nZcEeBiktt7gB6bOoVhoBYlLgNj2luc5oaunsBxe83T9/k8361xDp6qPFqLDR\nsuJP1GdMdCdY5LlXJhz+PlKkczK/gLC2v3x/5UpnUhFc44BzJgzTX/mp4zTp\neRQXFQbcKnZUS/dlVwXeYRX0aOK9LEQkER5L/MmcDz142cfgxtxDf66rHB/u\nU2785biv1bWRWDfZ80Xctft9Heume9hyE+pmkr7q1w25rKXKacQ5MgW0VSra\npJL1Ok2hVz2VBCF/kE/0blWXgj4ZANH4KeF1lU3TCZfoAhxYXDzx3cEiI8Kc\nkaqXYTFR1rWlZKRMMKVrisa47Tz1KEnn1iEPGF/tWK5pLnrFQ0GLNqHk3Efp\nry/Yd3M6slTXrRps3aho7G0yQjhMLMkXwxM8Ceejqb3FnOUY7kP91yIFuUTz\n3G2DF9/d2p3UO0+cA9OJXeh+5ITJxmiWQDeYvO9fqvJfVvx3KgDMKT5jd/Kl\nDT7bX2sLzcpxFvePFer6jw/CLkKHAlx8E+mJSthV9DC1hcLigUlQVGOXIevk\n7x/g\r\n=OM6J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQvaV+08pz4Oj8lYpfaHfRuQI7a6FeqjH31lFFVnH8egIhAMyMKThS2azaPmjyZynzMVAZK8a5O/C8PSIa0lcjQHD4"}]},"maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_3.2.0_1545214293763_0.010540456712713642"},"_hasShrinkwrap":false,"deprecated":"Error in sourcemap"},"3.2.1":{"name":"telemachy","version":"3.2.1","description":"Easy guided tours for Angular apps","repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"license":"MIT","homepage":"https://github.com/code-orange/telemachy#readme","bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"peerDependencies":{"@angular/core":">=6.1.8","rxjs":"^6.3.2"},"devDependencies":{"@angular/common":"^6.1.8","@angular/compiler":"^6.1.8","@angular/compiler-cli":"^6.1.8","@angular/core":"^6.1.8","@angular/platform-browser":"^6.1.8","@angular/router":"^6.1.8","ng-packagr":"^4.2.0","postcss-discard-comments":"^2.0.4","rimraf":"2.6.1","rxjs":"6.0","ts-helpers":"1.1.2","tslint":"4.5.1","typescript":"^2.8.3","zone.js":"^0.8.20"},"dependencies":{"angular-2-local-storage":"^2.0.0","tslib":"^1.9.0"},"main":"bundles/telemachy.umd.js","module":"fesm5/telemachy.js","es2015":"fesm2015/telemachy.js","esm5":"esm5/telemachy.js","esm2015":"esm2015/telemachy.js","fesm5":"fesm5/telemachy.js","fesm2015":"fesm2015/telemachy.js","typings":"telemachy.d.ts","metadata":"telemachy.metadata.json","sideEffects":false,"_id":"telemachy@3.2.1","_npmVersion":"6.1.0","_nodeVersion":"10.6.0","_npmUser":{"name":"timvdalen","email":"tim@code-orange.nl"},"dist":{"integrity":"sha512-opH8zKTNDJlA68XjDrbgOEafrrqebYdzGlU52+GgFmOBTqheWl/PUklRSorUnqVyOO88PaZJuHyE6s/sQdA4RQ==","shasum":"3eadcbae852971c4a8540bd39a1c45f8f9395db7","tarball":"https://registry.npmjs.org/telemachy/-/telemachy-3.2.1.tgz","fileCount":48,"unpackedSize":433257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGhnbCRA9TVsSAnZWagAAyz8P/2plam/ty7Pue6cULqSG\n6tTM5JV8ujjBoj4FqAZxfG/QKG+ICvd0+0fKjZBOzn5OgB8rcL033nl5CyH/\nAHdrqBGNQtzdelW9zZ7DuIirryRqlLA8F9dv0fqZG5KUswi4LO3OmJ3jL/Vk\nrJUeGqpVVTpq5b4/jcPQX4YIRKGYjDNixZNKA3YiJMRdxmk9TxLaWIphmkTF\nbtytszgeeoQCgw11pZo650zFszXpAqKKvfqKquWrwtZF0h8QulaeIfRafcVO\n9AiX1+k+DAFNHH7uGgE3dIOeqAei2MAh6AqZ+Omg7zvK6SN5JBvsrrnBYTzU\na+2IPy6JQhqTyQmQykaYt8lnEik1JbEQA4Cfgq4t9zsdydi9aTLMY1LJgndf\ncPg4DyRqB7p5gLSGdCgAzeB9qXph2BVqJld3daAEbSQ+HAw3TS0aUry0jXBP\n2r9uy42fJpqgd+bQgfkyenM9FsdOay8fVIe96pYR19xR/TdY4B/O66cs9jiv\ny9zcHfDCRZ46cNPoDtWH9DQ7fT/MnPTzsFeaojiBYZKb2JTPNO8TwCElg+/R\nm+HrJN9k9nDZROUZOvVQ4dWmC2WafdS4DT4NnY0VZ0vQoHtxUC8+CsvuveQW\nI6eM0DOgDZ2tsL/QLBy3gUEuOVunyi125Uw0ziey+Hl91zcd+4RzVbjV94MZ\nLfvl\r\n=7m7O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIhZDUyO/JKWJdtlrPppqeBELT9ND0iz2vNtl6InRrpgIhAJYRsB9WAFFdJ1DYFWtxU7hFdJ6KgiDjl13rFGimIcg3"}]},"maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/telemachy_3.2.1_1545214426549_0.5727135028181265"},"_hasShrinkwrap":false}},"readme":"# Telemachy [![npm](https://img.shields.io/npm/v/telemachy.svg?style=flat-square)](https://www.npmjs.com/package/telemachy) [![Downloads](http://img.shields.io/npm/dt/telemachy.svg?style=flat-square)](https://npmjs.org/package/telemachy) [![license](https://img.shields.io/npm/l/telemachy.svg?style=flat-square)](https://www.npmjs.com/package/telemachy) \r\n\r\nEasy guided tours for Angular apps.\r\n\r\n![Demo](demo.gif)\r\n\r\n## Table of contents\r\n\r\n * [Getting started](#getting-started)\r\n    + [Installation](#installation)\r\n    + [Usage](#usage)\r\n      - [Persistency](#persistency)\r\n      - [Restarting a tour](#restarting-a-tour)\r\n  * [API](#api)\r\n    + [TelemachyService](#telemachyservice)\r\n    + [TourPersistency](#tourpersistency)\r\n    + [YoutubeTourStep](#youtubetourstep)\r\n    + [HTMLTourStep](#htmltourstep)\r\n    + [ElementTourStep](#elementtourstep)\r\n\r\n## Getting started\r\n\r\n### Installation\r\n\r\n```sh\r\nyarn add telemachy\r\n# or\r\nnpm install --save telemachy\r\n```\r\n\r\nImport `TelemachyModule` in your root module (make sure the `RouterModule` is loaded, Telemachy uses it to automatically start the tour for any compontent that a user navigates to):\r\n\r\n```typescript\r\nimport { NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { TelemachyModule } from 'telemachy';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\n@NgModule({\r\n\timports: [BrowserModule, RouterModule.forRoot([]), TelemachyModule],\r\n\tdeclarations: [AppComponent],\r\n\tbootstrap: [AppComponent]\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\nFinally, add the `<telemachy-tour>` component to your root app component (or one that is always loaded when you want to display a tour):\r\n\r\n```typescript\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplate: `<telemachy-tour></telemachy-tour><router-outlet></router-outlet>`\r\n})\r\nexport class RootComponent {}\r\n```\r\n\r\n### Usage\r\n\r\nIn its easiest form, you can use Telemachy just by implementing the `HasGuidedTour` interface:\r\n\r\n```typescript\r\n@Component({\r\n\tselector: 'app-complex-component',\r\n\ttemplateUrl: './complex-component.component.html'\r\n})\r\nexport class ComplexComponent implements HasGuidedTour {\r\n\ttourAutoStart() {return true;}\r\n\tgetTour():TourStep[] {\r\n\t\treturn [\r\n\t\t\tnew YoutubeTourStep('l9xU1WpdmVY'),\r\n\t\t\tnew ElementTourStep('#complex-thing', 'Here, I will explain this.'),\r\n\t\t\tnew ElementTourStep('#second-complex-thing', 'Then, I will explain this.'),\r\n\t\t\tnew HTMLTourStep(`Finally, we are <em>done</em>!`)\r\n\t\t];\r\n\t}\r\n}\r\n```\r\n\r\nBy implementing the optional `tourAutoStart()` method (and having it return `true`), Telemachy will automatically start this component's tour whenever it becomes active through the angular router.\r\nYou can also explicitly say it should be started by calling `TelemachyService.startTour(this)`.\r\nIn both cases, Telemachy will only show the tour if the persistency layer says the user should see it.\r\n\r\n#### Persistency\r\n\r\nBy default, Telemachy will always show a user the tour on each visit.\r\nIf you want to save if a user has already seen a tour, you should provide an alternate implementation for the `TourPersistency` service.\r\n\r\nTelemachy comes with an alternate implementation that uses localstorage to save this state.\r\nThis implementation depends on [phenomnomnominal/angular-2-local-storage](https://github.com/phenomnomnominal/angular-2-local-storage).\r\nYou can use this as follows:\r\n\r\n```typescript\r\nimport { LocalStorageModule, LocalStorageService } from 'angular-2-local-storage';\r\nimport { TelemachyModule, TourPersistency, LocalstorageTourPersistencyFactory } from 'telemachy';\r\n\r\n@NgModule({\r\n\timports: [BrowserModule, LocalStorageModule.withConfig(), TelemachyModule],\r\n\tdeclarations: [AppComponent],\r\n\tbootstrap: [AppComponent],\r\n\tproviders: [\r\n\t\t{provide: TourPersistency, useFactory: LocalstorageTourPersistencyFactory, deps: [LocalStorageService]}\r\n\t]\r\n})\r\nexport class AppModule {}\r\n```\r\n\r\nWe recommend you replace the `TourPersistency` service with an implementation that saves the user's state in a remote system, for instance through a REST API.\r\n\r\n#### Restarting a tour\r\n\r\nYou can restart the tour for a currently visible component by calling `TelemachyService.restartTour()`.\r\nTo check if there is a currently visible component that has a tour, use `TelemachyService.canRestart()`.\r\n\r\n## API\r\n\r\n### TelemachyService\r\n\r\n```typescript\r\nclass TelemachyService {\r\n    /**\r\n     * Attempt to start the tour for a component\r\n     * @param component\r\n     */\r\n    startTour(component: HasGuidedTour): void;\r\n    /**\r\n     * Indicates if there is a tour that could be restarted\r\n     *\r\n     * @returns {boolean}\r\n     */\r\n    canRestart(): boolean;\r\n    /**\r\n     * Restarts the tour for a component (no guarantee which) that is visible right now\r\n     */\r\n    restartTour(): void;\r\n    \r\n    /**\r\n    * Adds an event listener that is called at either the start or end of the tour.\r\n    * Types are 'start' or 'end'\r\n    * listener can't be an anonymous function else it is not possible to remove the callback.\r\n    * \r\n\t* @param type string\r\n\t* @param listener function\r\n\t*/\r\n    addEventListener(type: string, listener:() => void): void;\r\n    \r\n    /**\r\n    * Removes an event listener.\r\n    * Types are 'start' or 'end'\r\n    * listener should be the same function as the one that was added.\r\n    * \r\n\t* @param type string\r\n\t* @param listener function\r\n\t*/\r\n    removeEventListener(type: string, listener:() => void): void;\r\n    \r\n    canGoBack(): boolean;\r\n    canFinish(): boolean;\r\n    finish(): void;\r\n    skip(): void;\r\n    next(): void;\r\n    previous(): void;\r\n    private reset();\r\n    private emit();\r\n    subscribeStep(generatorOrNext?: any, error?: any, complete?: any): Subscription;\r\n    readonly progress: number;\r\n    readonly total: number;\r\n}\r\n```\r\n\r\n### TourPersistency\r\n\r\n```typescript\r\nclass TourPersistency {\r\n    /**\r\n     * Whether a tour should be started\r\n     *\r\n     * @param componentName Name of the component that the user has arrived at\r\n     * @returns {Observable<boolean>}\r\n     */\r\n    shouldStart(componentName: string): Observable<boolean>;\r\n    /**\r\n     * Finish the tour for a component\r\n     * @param componentName\r\n     */\r\n    finish(componentName: string): void;\r\n    /**\r\n     * Skip the tour for a component\r\n     * @param componentName\r\n     */\r\n    skip(componentName: string): void;\r\n}\r\n```\r\n\r\n### YoutubeTourStep\r\n\r\n```typescript\r\n/**\r\n * Tour step that shows a Youtube video in the middle of the page\r\n */\r\nclass YoutubeTourStep extends TourStep {\r\n    /**\r\n     * Video id\r\n     */\r\n    video: string;\r\n    constructor(video: string);\r\n}\r\n```\r\n\r\n### HTMLTourStep\r\n\r\n```typescript\r\n/**\r\n * Tour step that shows some HTML in the middle of the page\r\n */\r\nclass HTMLTourStep extends TourStep {\r\n    /**\r\n     * HTML to display in this step\r\n     */\r\n    body: string;\r\n    constructor(body: string);\r\n}\r\n\r\n```\r\n\r\n### ElementTourStep\r\n\r\n```typescript\r\n/**\r\n * Tour step that highlights an element on the page with some explanation\r\n */\r\nclass ElementTourStep extends TourStep {\r\n    /**\r\n     * Element to highlight\r\n     */\r\n    domElement: Element;\r\n    /**\r\n     * HTML to display in this step\r\n     */\r\n    body: string;\r\n    constructor(selector: string, body: string, async?: boolean);\r\n    readonly top: string;\r\n    readonly bottom: string;\r\n    readonly left: string;\r\n    readonly right: string;\r\n    readonly documentHeight: string;\r\n    readonly documentWidth: string;\r\n    readonly toBottom: string;\r\n    readonly toRight: string;\r\n    readonly fromLeft: string;\r\n    readonly fromTop: string;\r\n    readonly height: string;\r\n    readonly width: string;\r\n}\r\n```\r\n\r\nIf `async` is `true`, the `ElementTourStep` will attempt to find the element on the page after it has been initialized.\r\nIf the element isn't available by the time the step should be rendered, the step will be skipped. \r\n\r\n### Event Listeners\r\nIt is possible to add event listeners that are fired add the start of the tour \r\nor at the end of the tour when the finished/skipped button is clicked. \r\nPossible types: `start` or `end`\r\n\r\n\r\n```typescript\r\n\tlet doSomething = () => console.log('something');\r\n\tthis.TelemachyService.addEventListener('start', doSomething);\r\n\tthis.TelemachyService.removeEventListener('start', doSomething);\r\n```\r\n","maintainers":[{"email":"niels@code-orange.nl","name":"nielshoiting"},{"email":"tim@code-orange.nl","name":"timvdalen"}],"time":{"modified":"2022-06-27T04:32:19.615Z","created":"2017-08-31T11:34:05.280Z","0.0.1":"2017-08-31T11:34:05.280Z","1.0.0":"2017-08-31T13:12:05.221Z","2.0.0":"2018-02-12T12:26:32.413Z","2.0.1":"2018-02-19T11:13:43.532Z","2.0.2":"2018-02-19T11:17:08.717Z","2.0.3":"2018-02-19T11:19:54.206Z","2.0.4":"2018-02-19T11:44:12.540Z","2.1.0":"2018-03-02T10:06:17.364Z","2.1.1":"2018-04-20T08:43:30.307Z","1.0.1":"2018-04-20T10:58:47.984Z","3.0.0":"2018-09-28T08:45:16.475Z","3.0.1":"2018-09-28T08:53:26.715Z","3.1.0":"2018-12-18T15:02:41.046Z","3.1.1":"2018-12-18T15:05:04.482Z","3.1.2":"2018-12-18T15:14:09.308Z","3.2.0":"2018-12-19T10:11:33.928Z","3.2.1":"2018-12-19T10:13:46.717Z"},"homepage":"https://github.com/code-orange/telemachy#readme","keywords":["angular2","angular","ng2","ng","tour","guided","guide","tutorial"],"repository":{"type":"git","url":"git+https://github.com/code-orange/telemachy.git"},"author":{"name":"Tim van Dalen","email":"tim@code-orange.nl"},"bugs":{"url":"https://github.com/code-orange/telemachy/issues"},"license":"MIT","readmeFilename":"README.md","users":{"yehudag":true}}