{"_id":"@bristlecone-labs/neo-app-sdk","_rev":"6-d703157a7275c13ee98bacf1adccb7b1","name":"@bristlecone-labs/neo-app-sdk","dist-tags":{"latest":"4.0.1"},"versions":{"3.1.26":{"name":"@bristlecone-labs/neo-app-sdk","version":"3.1.26","peerDependencies":{"@angular/common":"^7.2.0","@angular/core":"^7.2.0"},"dependencies":{"@ng-bootstrap/ng-bootstrap":"4.2.2","ngx-alerts":"3.4.5","@aws-amplify/auth":"^1.2.24","@aws-amplify/core":"^1.0.28","apollo-angular":"1.8.0","apollo-angular-link-http":"^1.9.0","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","graphql":"^14.6.0","graphql-tag":"2.10.3","tslib":"^1.9.0"},"main":"bundles/bristlecone-labs-neo-app-sdk.umd.js","module":"fesm5/bristlecone-labs-neo-app-sdk.js","es2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","esm5":"esm5/bristlecone-labs-neo-app-sdk.js","esm2015":"esm2015/bristlecone-labs-neo-app-sdk.js","fesm5":"fesm5/bristlecone-labs-neo-app-sdk.js","fesm2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","typings":"bristlecone-labs-neo-app-sdk.d.ts","metadata":"bristlecone-labs-neo-app-sdk.metadata.json","sideEffects":false,"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","_id":"@bristlecone-labs/neo-app-sdk@3.1.26","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-x6pMtdnRbwDU5tAjXl1wlpTS2no5/HJxF/MGT60uUSKpQsQ7xlTsJzbMVHTzF90Bhj79jz2fGgEURwNKZ7YPrg==","shasum":"c15d516e20d013201ee0a19d813a013dc5f59283","tarball":"https://registry.npmjs.org/@bristlecone-labs/neo-app-sdk/-/neo-app-sdk-3.1.26.tgz","fileCount":89,"unpackedSize":1613882,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiBkTfCRA9TVsSAnZWagAAg7MP/2ZtA4x5FdG7go9IEuBI\nSmdWl9XmB5nGCV0fi4gtL/2M01LEDKjzpP6B91j7sXEOryHMp2mfn9AMJYJZ\npcybal0FiNMVRZhGF/9hpNQYXEWQwf84XnM4bl0ZG7G6WcGHkHaFIcvMujAI\nAsOJkipiJ/tnmY5hE9kobfSgT5lPKqhKHiCGLZ0QyG9ioGvs9ng6YFS2U8Ak\nUUNenBVF3qRYj+2KcN8Oda/F8FQslwQKIRVzFvlFPbtZOwiWP4UDMQm1ClNp\nxpTUkxeiX7p80nyVa6H6Is2M/DRHnWwAeYF89OP4mfpEAWzVl0fKHomApq0x\nLivjeoLXa7ciBnr5/w826w4jzky+IxRy7lhrFiqIAT/Z+vvXIpgbQ/Jv+Xpi\nCiFYWG0n9/uJ18RgVJ0VXu3no8KUDtwEIb8jffFGKawJ7hNXOFGSGDUOorFh\nuVmxblGqTBVJOC/4AHNhz+EHp1tzNvJ9OOVSX9MHrCMVbOETyl6tlS7N+Awk\nnO5O13Ky+A/48XZtGxwb7RsHnD3ibDQ6rjcn2yqyLKuF3MM3fPgXuIYIbAK4\nB4YF5MWye75j9ggiLH+3YQAYYka8mkOOg/GwZWVUvlbkQcCs8La05V9jlr+q\nIQ6QQm2oJboRRpb81TPeQ97ztgLPwWeUSC+MUyPXcOi+uhaTO+WlzNeFa7kg\nV7E+\r\n=OkK6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVYdLVx9b+FtG+KM5n2L4O4PAt1zvr0388JapgVQCsZgIgYUYYAxJA1qUSioyPGUQORGyJ2rV2UWJwrkBS6e/e/OI="}]},"_npmUser":{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"},"directories":{},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/neo-app-sdk_3.1.26_1644578014867_0.7560146441341318"},"_hasShrinkwrap":false},"3.1.27":{"name":"@bristlecone-labs/neo-app-sdk","version":"3.1.27","peerDependencies":{"@angular/common":"^7.2.0","@angular/core":"^7.2.0"},"dependencies":{"@ng-bootstrap/ng-bootstrap":"4.2.2","ngx-alerts":"3.4.5","@aws-amplify/auth":"^1.2.24","@aws-amplify/core":"^1.0.28","apollo-angular":"1.8.0","apollo-angular-link-http":"^1.9.0","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","graphql":"^14.6.0","graphql-tag":"2.10.3","tslib":"^1.9.0"},"main":"bundles/bristlecone-labs-neo-app-sdk.umd.js","module":"fesm5/bristlecone-labs-neo-app-sdk.js","es2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","esm5":"esm5/bristlecone-labs-neo-app-sdk.js","esm2015":"esm2015/bristlecone-labs-neo-app-sdk.js","fesm5":"fesm5/bristlecone-labs-neo-app-sdk.js","fesm2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","typings":"bristlecone-labs-neo-app-sdk.d.ts","metadata":"bristlecone-labs-neo-app-sdk.metadata.json","sideEffects":false,"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","_id":"@bristlecone-labs/neo-app-sdk@3.1.27","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-brJeo0PPP5r8mvzs51wnU12d3dS2CQ6N81WdYunpCZUnygXx9+jsAWGWFqcZRjFmmhlQJ0y9uGXRIq+EML5rTQ==","shasum":"f000c9f7269ae2b77d5b80c7267b1e7ce68fceff","tarball":"https://registry.npmjs.org/@bristlecone-labs/neo-app-sdk/-/neo-app-sdk-3.1.27.tgz","fileCount":89,"unpackedSize":1614840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCeUwCRA9TVsSAnZWagAAObgQAJojOCvhrY45f97TjRI8\nZhsLh1kfuxAPYX82jSSh015Pf+Ccm1m3hMPkD5R3XhHAEj1DksBrFnweHnR6\nMRQR+BouZROMxcQpDwAXWM+fnS8h5YeTr9GuDewZ/R+pzeHkPRJS4JZp5LXT\nmr+i4VxonemUpIMnaygynI+VgYdXpmHIFOJYEfJywGh3LoRAYsqlSPqK2SKu\nW5w+pYtFm+UrlAqwhPLsXb2s7NrPJurzJk8un66rjhiQT+R1NRGBl1w7CneC\nOG8VTl6uJI/UtE/vMFjeER3jB+Swden3hBt/Gzn1EO9PBvu66cnSs6Xt6+jV\nAfHiKY3M0UARKT6Znd9iPv6YF2FuJ49iZBqZkshR3VXaekxMgszg5E+SpDtl\nHOqPOpqWrGhIk7msfp3My/1nUdzO70KP9A2njMoUES4Kuu2+JEHmGdbtfBev\nt56jlvWhoTaaMFiuRnIpja05Bd9ktfh/l4WkBbii+Jb14LrUN6D6GsG8WeiA\nQCG5K9kUDKCczNjjf1mNW5RX4UKhE6a+ObuxqvlN6jTqJQM6U88CPyZpkeYl\nyDQAM0NJkpTzMfOC229atIdsUE6HsvJ6ePoawMJpEKIj4J20l/IAXrJ+Ode8\nt2YqfUBIL10J006DxxqazsPEuiF5u12JqJa4tTv1XyFelPIhOxGllaWnh6lK\nHvl8\r\n=fXi6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyM+jUhNcpOfZzpw+DvfxMSHGkO8PHS30mxADO1owS7gIgQkDj8DeJZ6DZNsq81OAmPSwhf2XsWragsEjrSY5TxsY="}]},"_npmUser":{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"},"directories":{},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/neo-app-sdk_3.1.27_1644815664479_0.20789151969102426"},"_hasShrinkwrap":false},"3.1.28":{"name":"@bristlecone-labs/neo-app-sdk","version":"3.1.28","peerDependencies":{"@angular/common":"^7.2.0","@angular/core":"^7.2.0"},"dependencies":{"@ng-bootstrap/ng-bootstrap":"4.2.2","ngx-alerts":"3.4.5","@aws-amplify/auth":"^1.2.24","@aws-amplify/core":"^1.0.28","apollo-angular":"1.8.0","apollo-angular-link-http":"^1.9.0","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","graphql":"^14.6.0","graphql-tag":"2.10.3","tslib":"^1.9.0"},"main":"bundles/bristlecone-labs-neo-app-sdk.umd.js","module":"fesm5/bristlecone-labs-neo-app-sdk.js","es2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","esm5":"esm5/bristlecone-labs-neo-app-sdk.js","esm2015":"esm2015/bristlecone-labs-neo-app-sdk.js","fesm5":"fesm5/bristlecone-labs-neo-app-sdk.js","fesm2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","typings":"bristlecone-labs-neo-app-sdk.d.ts","metadata":"bristlecone-labs-neo-app-sdk.metadata.json","sideEffects":false,"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","_id":"@bristlecone-labs/neo-app-sdk@3.1.28","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-8fb0XuoZ6rFifGFE8ZnUNzhBOionGCffN8qqdipbOe7nzaUU31qyw/msfgBMuBk5WUhax43SJ1OYOgWEakVH2g==","shasum":"d6c53f5b2142fee39228c8a6597dfb2c50b2ec4e","tarball":"https://registry.npmjs.org/@bristlecone-labs/neo-app-sdk/-/neo-app-sdk-3.1.28.tgz","fileCount":89,"unpackedSize":1613730,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiCe03CRA9TVsSAnZWagAATqoP/jjDTzXlTN8UjfkIG+aC\nanA9T0EjVjjYKo4IpRAv4jLSNRHTPKKY3k3cY+jM+jkRRPwZrXY6hyXeSRBC\nqETkrM6YEN37yKgBa3T1kkaCWfoDNij64F5hHtgboiKPm1tlrPzonJZBpyW4\nt1VuzseulsCg0H/7UKXc8IrVgGNWI/zEKELL7tsDTkCl3hiYJfupUnnnj2Dq\nuFTzhXlr9WPPBDB6cXL2BINth7ySRoQ8JtLHHtF/ZaNMeDnz0M0VwHHA5dq8\nIWmjADItJ+8Z0IbAis6s+MHJhcPhr/yqlhVhOMI2RdrZhLDdyP/BBKN66vVE\nbBceldTqtM1CMH6G7PWcNiYFKw0NSS08DRGIkRD/Ozmn8HYn+N29JpjXidY8\n46ZqJipjGHxaa86eHaeWJNJoJcahd+ROxx1cQCuDC7Q45h5zqFHkpV64CRf7\nqKHER+CmkJXa5bZToxQ8h68B8SRMU5c+eIulP14pWhUJAioMUMHth87taq/2\nifsSkfV2FMVkHOrPNE/57ri3xcliiuHJzWDJZBHTroWun5ez2aIooryxpnIS\nZtweTB7QvOS6IoI/16pCFWH0w22UmiCLZyihnp+1Dga2L5LqENCRyE8tBw85\nC0owaQCIHYRMDhYJoIKjD3nF2J5Zon8yFpBKdrHY2qDWjXdBBgCP8sp9D5ZZ\ntENi\r\n=UrfN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCNU0Zwv2YPnHSACr0eWE8fFgYj1U3z+9ybL0fKAh7fiwIgRcvTirz2Hub71KpwxbV6kbuXkQ+FcvEZG8wiXhBps1o="}]},"_npmUser":{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"},"directories":{},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/neo-app-sdk_3.1.28_1644817719276_0.32253058983197014"},"_hasShrinkwrap":false},"4.0.0":{"name":"@bristlecone-labs/neo-app-sdk","version":"4.0.0","peerDependencies":{"@angular/common":"^7.2.0","@angular/core":"^7.2.0"},"dependencies":{"@ng-bootstrap/ng-bootstrap":"4.2.2","ngx-alerts":"3.4.5","@aws-amplify/auth":"^1.2.24","@aws-amplify/core":"^1.0.28","apollo-angular":"1.8.0","apollo-angular-link-http":"^1.9.0","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","graphql":"^14.6.0","graphql-tag":"2.10.3","tslib":"^1.9.0"},"main":"bundles/bristlecone-labs-neo-app-sdk.umd.js","module":"fesm5/bristlecone-labs-neo-app-sdk.js","es2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","esm5":"esm5/bristlecone-labs-neo-app-sdk.js","esm2015":"esm2015/bristlecone-labs-neo-app-sdk.js","fesm5":"fesm5/bristlecone-labs-neo-app-sdk.js","fesm2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","typings":"bristlecone-labs-neo-app-sdk.d.ts","metadata":"bristlecone-labs-neo-app-sdk.metadata.json","sideEffects":false,"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","_id":"@bristlecone-labs/neo-app-sdk@4.0.0","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-7m+AKEWjPzgaqPZQyEGoTkeX3AeWKbpaFfdOLp/gI6k4PtC6CDLc1VjZ92Fzc6srOlynKwej7lGAmSontU8ySg==","shasum":"42c0b15d611e1666c1f985c71224f9e00883d674","tarball":"https://registry.npmjs.org/@bristlecone-labs/neo-app-sdk/-/neo-app-sdk-4.0.0.tgz","fileCount":89,"unpackedSize":1613729,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJiDJ1lCRA9TVsSAnZWagAAymsP/0Hs5sUXGQI2Zd2iV3Dr\n9LsTut0MLRU+HDxDiDj1RXE+NbZCTLYH02o2wK5h+MIT0mHGlUqegqDX5WAe\nPtepGbnsqcUfJxzxjbZ2vkA9kCEprVGRXZSVr5YgAg5ItoD50Af/OW7Lv8wV\nhtX/Iu6wNz52Lcz7SV/FfdJSwxD9QTwDK/oLdO4WAsv+xFaUGKTRkJYr8kqz\nC3CXjid/q3YIpx6X98njLOylkMZY1y9ggKnacNL8pnUYrM8jnCoCw5ENXSnF\nSL5GkAiuWAJqp+iEvXnf7XGHmHQ8Ya6NmHg399SH24V/bBS3x0km5wcVyUgr\nSpzGhf0NfnjViFfYOA7rL9NTIQ4vubWrO3VYRTXGe5lD8m3zxvvi1/sJp0yK\nWug+fsUeZBicxSi1CjuWrL1r3L3HqbQ3hJ+jb42hXZHV1lQt82wrx9iSwtH8\ndpGFcwfWKdmdS8x5bfdXDVyBUsZvirpS+PNHMK4QTQWOT9d5/83w1T8rTaKb\ni+Eg2k2AkbDKNp+BKeKkZsaiEYOiKUV9auvLMdHqDxSdpGOCscy7eRKOsjF8\ntYRP3mtcLOfp8RiPnak5JwfpYzIij8e/I/Rk6lTTyeMMBC8ZXsg6lmfpappI\nmpYWmP5vWOojn5IC1RR2jd1mJI+uKwTovVa7tJG7Ut1SuFxca/Y569O9l0QZ\np/Ic\r\n=HBPk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLbHWWx2CiMjKAflVNasgcy6rVDfH37ap0535aEYkpGwIgcP6JCpouT48KQCY1fB072QobbbXl2a9g3VXGN0aFZpM="}]},"_npmUser":{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"},"directories":{},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/neo-app-sdk_4.0.0_1644993893102_0.5602061464650891"},"_hasShrinkwrap":false},"3.1.29":{"name":"@bristlecone-labs/neo-app-sdk","version":"3.1.29","peerDependencies":{"@angular/common":"^7.2.0","@angular/core":"^7.2.0"},"dependencies":{"@ng-bootstrap/ng-bootstrap":"4.2.2","ngx-alerts":"3.4.5","@aws-amplify/auth":"^1.2.24","@aws-amplify/core":"^1.0.28","apollo-angular":"1.8.0","apollo-angular-link-http":"^1.9.0","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","graphql":"^14.6.0","graphql-tag":"2.10.3","tslib":"^1.9.0"},"main":"bundles/bristlecone-labs-neo-app-sdk.umd.js","module":"fesm5/bristlecone-labs-neo-app-sdk.js","es2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","esm5":"esm5/bristlecone-labs-neo-app-sdk.js","esm2015":"esm2015/bristlecone-labs-neo-app-sdk.js","fesm5":"fesm5/bristlecone-labs-neo-app-sdk.js","fesm2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","typings":"bristlecone-labs-neo-app-sdk.d.ts","metadata":"bristlecone-labs-neo-app-sdk.metadata.json","sideEffects":false,"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","_id":"@bristlecone-labs/neo-app-sdk@3.1.29","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-gLWL5BjtmmakHBcUxOjsdFeLY+gOmc92xMvzplPArD1A+654BX02SfgCOZpA3fJfYxd+KuMcXmN2qAZ7xy+jBA==","shasum":"50aa25bebe5761836b9865765365ce069ff45b9f","tarball":"https://registry.npmjs.org/@bristlecone-labs/neo-app-sdk/-/neo-app-sdk-3.1.29.tgz","fileCount":89,"unpackedSize":1613864,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiDjWiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKuQ//eLmDoJDs/qYR6EhbzA8TGvRsXwQj46eGIOZbBFHKjnM9Jufk\r\nwy15l5V9VZLUkWOYQQc8U8Edr1WXashhTC0b7b5QR1eAPZF3feNefyxlm449\r\ntiuZj0mh7013xIjwWG2z+k+Ux1kjzBhEWCakk5VTFoNqgT5XlYznfupNixTe\r\nNdl6jYVDe4g3fUW1pw2zFw8/Py0P9JdWx91OEPhaMmxfMA30iBzzp4xLeAWo\r\nCNOyYMPqKacaKpB42EsZZH0InLHZ1/5BzAR9VCjRtHJyv2msA83cm2BXd2dD\r\nZg7GuXhrfA6WNYakAA7aKoBgTphpa3M4oKxUSqaRMWXhxblOItxPG96R3Sz6\r\n3nBOPNd6a7lBpLKny0U87inV+g488w03ijxEpmx6eWxkr7ZeMXIT8Nt2/Oue\r\neMAIFHxj54N/G5HxXlVaOaHCRfnaSX8PRwbvnTD/FsXY52uiq4rCVT8iSHXX\r\nsMomZEVlXVDTLoPuiV9eu8A1wtWfirm6BGfcyGY4Anpj6hQDN9qxwzYKrTk4\r\nJErUa/odP7SIr2UBj4yNYWPx6xfrQOiyyPo2g/Y0gIqLKBxVFUf7pkXnRp5N\r\nABotK1nJ7oZfRV68A0r/msVQ/yS+sMV1fXrHqz28RMoTdPQtYMul4Xuy19dz\r\nzvoEy1CtiET1eHnsYZcsvFIZHBmjggzlVzM=\r\n=QA9g\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC8c+yhi69iH34D19Ml3uKzAg4WiS/REqFdSWtKhp0h7wIhAO0i5Hr1bImI5/SroZLJpX/Z7KeCS4rFlivz8drKXGcf"}]},"_npmUser":{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"},"directories":{},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/neo-app-sdk_3.1.29_1645098402698_0.68045139020828"},"_hasShrinkwrap":false},"4.0.1":{"name":"@bristlecone-labs/neo-app-sdk","version":"4.0.1","peerDependencies":{"@angular/common":"^7.2.0","@angular/core":"^7.2.0"},"dependencies":{"@ng-bootstrap/ng-bootstrap":"4.2.2","ngx-alerts":"3.4.5","@aws-amplify/auth":"^1.2.24","@aws-amplify/core":"^1.0.28","apollo-angular":"1.8.0","apollo-angular-link-http":"^1.9.0","apollo-cache-inmemory":"^1.6.5","apollo-client":"^2.6.8","graphql":"^14.6.0","graphql-tag":"2.10.3","tslib":"^1.9.0"},"main":"bundles/bristlecone-labs-neo-app-sdk.umd.js","module":"fesm5/bristlecone-labs-neo-app-sdk.js","es2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","esm5":"esm5/bristlecone-labs-neo-app-sdk.js","esm2015":"esm2015/bristlecone-labs-neo-app-sdk.js","fesm5":"fesm5/bristlecone-labs-neo-app-sdk.js","fesm2015":"fesm2015/bristlecone-labs-neo-app-sdk.js","typings":"bristlecone-labs-neo-app-sdk.d.ts","metadata":"bristlecone-labs-neo-app-sdk.metadata.json","sideEffects":false,"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","_id":"@bristlecone-labs/neo-app-sdk@4.0.1","_nodeVersion":"10.24.1","_npmVersion":"6.14.12","dist":{"integrity":"sha512-UW0dCjYa8uWUUo2GMoDD2DaruyAFw15WP1xM9rWHKf9N4XcVhEgDeNSlAgfe4qR1cijNRLkP/LlwOsldNT2whg==","shasum":"42dbf832267f2f76c89924841ca272694ad68835","tarball":"https://registry.npmjs.org/@bristlecone-labs/neo-app-sdk/-/neo-app-sdk-4.0.1.tgz","fileCount":89,"unpackedSize":1613863,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFLxGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoOWQ/+PQ/A+YyRL7d6lpH6yXuce592t59UqkwJ2y5Bs2GO/if9+VmK\r\n3Z8F+YBLPXAwMtaHOM1tTROYlaNv8j0ZB9+8X47ib9no6CVs728Lp/GIKhqx\r\nfny1w5OsFp7Bjbtv/NrUI+Ts6zjzc5gLNbE9Gc6qc1xqNnTANHRSWqAj1e/2\r\nFwvIoJmNiwRJV7SElWWwVb+uTjIVXmD29vqNbAhKdwiIMirtxAJ6gi0LlJH7\r\nwHwFvYzireBpFvc/U7oGX4cIKAppw3Um3JCS4vZtJOCVdkzQYnM/XogCNaDh\r\ne5unKEB9bncVUEOhCEpJ0gjOMAHzqgmBWo4j68WuKXj1QUw9JC9DBpOcKr6f\r\natu53as+XGn0Qc0vILmxq4T0Y1inoE+RdDrYdxxcM0Yzut05ADF0yhtQt+nH\r\nE4ZIWoJAMV6NA9Dnbq5trvhZYm/mRK+dCeyK7NcJmgCspMxHUjxI0y4FJM43\r\nXhetv5UEhUFaIcHqk6BgkjgDOT9X6RBZcpHohEormObGJFZyq5cSS8DNm569\r\nMyEaM8aFb5oF4zCdPB7C4MMbovSWAQz+YLCJkMOm8ys4ydZfquJXMYVoV5W7\r\nsWZRDBd+AdJuCpWAarm0SH0bf2e4AE3Egjef5JEE3hNa1OmHe2nnVpXhaVcj\r\nIywqan2GqIQcHES49ksb26L8Q3jluo05CVE=\r\n=eqmg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDSZbXU4AmGeYb4khAQPFp+Q2VaoCJH81Ap6t1ZHf1IkwIhAPa0fr5soME7MTmMqth63LTjXbiEXpWjiFwi7LR7+xSV"}]},"_npmUser":{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"},"directories":{},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/neo-app-sdk_4.0.1_1645526085982_0.6988168080265102"},"_hasShrinkwrap":false}},"time":{"created":"2022-02-11T11:13:34.799Z","3.1.26":"2022-02-11T11:13:35.026Z","modified":"2022-04-04T20:42:24.149Z","3.1.27":"2022-02-14T05:14:24.716Z","3.1.28":"2022-02-14T05:48:39.536Z","4.0.0":"2022-02-16T06:44:53.430Z","3.1.29":"2022-02-17T11:46:42.910Z","4.0.1":"2022-02-22T10:34:46.174Z"},"maintainers":[{"name":"bristlecone-me","email":"neoadmin@bristlecone.com"}],"description":"This NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.","readme":"# NEO App SDK\r\n\r\nThis NPM package contains Bristlecone NEO&reg; starter kit components which includes User Authentication with Single Sign-On and Aws Cognito, Claims Management and Tableau widget.\r\n\r\nIt contains inbuilt services like AuthGaurd for authorization, Login Service, Message Service, Neoutil Service, HTTP Interceptor Service.\r\n\r\n## Dependencies\r\n\r\n| Library                       | Version |\r\n|------------------------------ |---------|\r\n| @aws-amplify/auth             | 1.2.24  |\r\n| @aws-amplify/core             | 1.0.28  |\r\n| @ng-bootstrap/ng-bootstrap    | 4.2.2   |\r\n| ngx-alerts                    | 3.4.5   |\r\n| angular-oauth2-oidc           | 8.0.4   |\r\n| apollo-angular                | 1.8.0   |\r\n| apollo-cache-inmemory         | 1.6.5   |\r\n| apollo-client                 | 2.6.8   |\r\n\r\n# Creating an app using the NEO&reg;  App SDK Starter Kit\r\nIf you are creating an app using the NEO&reg;  App SDK repo https://github.com/BconeLabs/neo-app-sdk.git then do the following\r\n1. Register your app using NEO&reg; Developer App (`https://developer.<tenant>-neo.bcone.com`)\r\n2. Create a empty environment configuration with a name.\r\n3. Update the environment.ts with the values configured in above steps\r\n\r\n```\r\nexport const environment = {\r\n    ...\r\n    ...\r\n    application_id: '', // Application id used in Step #1 \r\n    config_fetch_env: '', // Environement name used in Step #2\r\n    graphql_url: '' // https://graphql.<tenant>-neo.bcone.com\r\n    ...\r\n}\r\n```\r\n\r\nTo override the default app configurations, login to NEO&reg; Developer App and change the following values.\r\n\r\n    <i>client_id</i> - client id that has access to the cognito pool    \r\n    <i>pool_id</i> - cognito pool id that authenticates the user\r\n\r\n\r\n# Creating/Modifying existing angular application\r\n\r\nneo-app-sdk@2.1.x is compataible with Angular version 7.2.x . If in your project is using Angular version below 7.2.x please update Angular & typescript using step 1 and 2.\r\n\r\n1. Update Angular core and Angular cli\r\n    ````\r\n    ng update @angular/cli@7.2.11 @angular/core@7.2.11\r\n    ````\r\n\r\n1. Update typescript version\r\n    ```\r\n    npm install --save-dev typescript@3.1.6\r\n    ```\r\n\r\n\r\nIf you are creating or modifying an existing app that has not used this npm package follow the below mentioned steps.\r\n\r\n1. Install neo-app-sdk npm package\r\n\r\n    ```\r\n    npm install --save @bristlecone-labs/neo-app-sdk\r\n    ```\r\n    ```\r\n    npm install --save angular-oauth2-oidc@8.0.4  apollo-angular@1.8.0  apollo-cache-inmemory@1.6.5  apollo-client@2.6.8 \r\n    ```\r\n1. Update app.module.ts\r\n\r\n    Import the following in app.module.ts\r\n    ```\r\n    import { InitConfigService } from '@bristlecone-labs/neo-app-sdk';\r\n    import { TokenInterceptor } from '@bristlecone-labs/neo-app-sdk';\r\n    import { MessageService } from '@bristlecone-labs/neo-app-sdk';\r\n    import { NeoAppsdkLoginModule } from '@bristlecone-labs/neo-app-sdk';\r\n    import { AuthGuard } from '@bristlecone-labs/neo-app-sdk';\r\n    import { NeoUtilService } from '@bristlecone-labs/neo-app-sdk';\r\n    ```\r\n    Add the following code in @NgModule imports section\r\n    ```\r\n    imports: [\r\n        ...\r\n        ...\r\n        NeoTableauModule,\r\n        NeoAppsdkLoginModule.forRoot(appEnv)\r\n    ]\r\n    ```\r\n\r\n    Inject following services in @NgModule Providers of app.module.ts\r\n    ```\r\n    providers: [\r\n        ...\r\n        ...\r\n        AuthGuard,\r\n        MessageService,\r\n        InitConfigService,\r\n        NeoUtilService,\r\n        {\r\n            provide: APP_INITIALIZER,\r\n            useFactory: (config: InitConfigService) => () => config.load(),\r\n            deps: [InitConfigService],\r\n            multi: true\r\n        },\r\n        {\r\n            provide: HTTP_INTERCEPTORS,\r\n            useClass: TokenInterceptor,\r\n            multi: true\r\n        }\r\n    ]\r\n    ```\r\n\r\n1. Create/Update login component\r\n\r\n    Create login (do not change the name) component if it does not exist\r\n\r\n    ```\r\n    ng g c login\r\n\r\n    ```\r\n\r\n    Add login component as a parent\r\n    ```\r\n    const routes: Routes = [\r\n        ...\r\n        ...\r\n        {\r\n            path: 'login',\r\n            component: LoginComponent,\r\n        }\r\n    ]\r\n    ```\r\n\r\n    In login.component.html replace the content with the following directive/component \r\n    ```\r\n    <ngx-neo-appsdk-login [enableCognito]=\"true\" [enableSso]=\"true\"></ngx-neo-appsdk-login>\r\n    ```\r\n    <i>enableCognito</i> (Boolean) - To enable/disable cognito login\r\n\r\n    <i>enableSso</i> (Boolean) - To enable/disable SSO login\r\n\r\n1. Privacy Policy acceptance\r\n\r\n    To enable Privacy Policy acceptance use the following tag in app.component.html file\r\n    ```\r\n    <ngx-neo-app-privacy-policy [enablePrivacyPolicy]=\"true\"></ngx-neo-app-privacy-policy>\r\n    ```\r\n    <i>enablePrivacyPolicy</i> (Boolean) - To enable/disable privacy policy acceptance\r\n\r\n1. Customize default login screen (Optional)\r\n\r\n    To customize Login Page UI use html injection. For Sidebar injection use <i>loginSidebar</i> attribute in div tag. For header injection use <i>loginHeader</i> attribute in div tag.\r\n    ```\r\n    <ngx-neo-appsdk-login>\r\n        <div loginSidebar>\r\n        // insert login sidebar HTML content here\r\n        </div>\r\n        <div loginHeader>\r\n            // insert login header text here\r\n        </div>\r\n    </ngx-neo-appsdk-login>\r\n    ```\r\n1. Customize default header (Optional)\r\n\r\n    To inject custom UI in header, use the following section \r\n\r\n    ```\r\n    <ngx-neo-app-header>\r\n        <div headerLogo>\r\n            <div class=\"d-inline\">\r\n            <span class=\"app-logo\">\r\n                <img src=\"<path-to-the-logo>\">\r\n            </span>\r\n            </div>\r\n        </div>\r\n        <div navigationLink>\r\n            <ul class=\"customNav\">\r\n            <li>...</li>\r\n            <li>...</li>\r\n            </ul>\r\n        </div>\r\n    </ngx-neo-app-header>\r\n    ```\r\n\r\n1. Implement checkFragmentUrl()\r\n\r\n    Invoke checkFragmentUrl() if SSO Login is used to display or hide intermediate screen or navigation based on fragment\r\n\r\n    ```````\r\n\r\n    ngOnInit() {\r\n        ......\r\n        ......\r\n        if(this.neoUtilService.checkFragmentUrl()) {\r\n                this.showSideBar = true; // Here We enable sidebar during SSO login\r\n        } else {\r\n            this.showSideBar = false; //Here We disable sidebar during SSO login\r\n        }\r\n    }\r\n\r\n    ```````\r\n\r\n## Tableau Widget\r\n\r\nTo use Tableau feature import <b>NeoTableauModule</b> in respective components module.ts file\r\n```\r\nimport {  NeoTableauModule } from '@bristlecone-labs/neo-app-sdk';\r\n\r\nimports: [\r\n    ...\r\n    ...\r\n    NeoTableauModule\r\n]\r\n```\r\nIn components html file add the following section\r\n```\r\n<div *ngIf=\"tableauConfig\" >\r\n<ngx-neo-tableau  [tableauConfig]=\"tableauConfig\"></ngx-neo-tableau>\r\n</div>\r\n```\r\nIn components ts file define <i>tableauConfig</i>\r\n```\r\nconst tableauConfig ={\r\n    userName=\"\",\r\n    tenantName=\"\",\r\n    dashboardPath=\"\",\r\n    tableauProxyApi=\"\",\r\n    tableauServer=\"\"\r\n\r\n}\r\n```\r\n\r\n\r\n## Services\r\n\r\n## MessageService\r\n\r\n| Method                    | Type          | Description   |\r\n| ----------------------    | ------------- | --------------|\r\n| getEnv(keyName)           |   -           | Provides option to fetch environment data using keyname.\r\n| getClaimObj()             | -             | Method to fetch ClaimObject of application that contains details such as userClaims, full configuration of app, userInfo, userRoles, tenantinfo. \r\n\r\n\r\n\r\n## NeoUtilService\r\n\r\n| Method                                        | Return Type          | Description                   |\r\n| ----------------------------------------------| ------------- | ------------------------------|    \r\n| fetchMenu(graphqlurl: optional)               |  Observable   | Method is used to fetch app menu items. By default it is invoked.\r\n| ssoLogin()                                    |   -           | To login in to the app using SSO credentials.\r\n|checkFragmentUrl()                             | -            | To avoid intermediate login or Navigation. It returns true or false based on login state. \r\n| cognitoSignIn(email,password,initialRoute)    | -            | To login in to the app using Cognito credentials. Default value of intialRoute is '/'  \r\n| isValidAccessToken()                          | boolean            | To check if the token is still valid\r\n| getAccessToken()                              | string            | To get the access token\r\n| getIdToken()                                  | string            | To get the id token\r\n| getUserClaim()                                | json              | To get the claim associated with the logged in user\r\n| getUserName()                                 | string            | To get the full name of the logged in user\r\n| getUserEmail()                                | string            | To get the email of the logged in user\r\n| getUserRole()                                 | string            | To get the role of the logged in user in the app\r\n| isCognito()                                   | boolean           | To check if the login is with SSO or cognito mode. If true it is cognito mode else it is SSO.\r\n| signOut()                                     | -                 | To logout of the app\r\n\r\n## Customize redirection to the landing page\r\n\r\nIf an app wants to redirect logged in user to a different landing page\r\nbased on custom logic (Based on role, user profile, etc.) use the following approach. \r\n \r\nDefine custom logic shown below\r\n```\r\ndynamicRouteFn(claim: any): string {\r\n    // claim contain roles, userprofiles, etc.\r\n    let redirectUrl = '' // Set default url if is not matched\r\n    if(claim.roles && claim.roles.legth > 0) {\r\n        claim.roles.foreach((role) => {\r\n            if(role === 'Developer') {\r\n                redirectUrl = 'developer-landing-url'\r\n            }\r\n            if(role === 'Data-scientist') {\r\n                redirectUrl = 'data-scientist-landing-page';\r\n            }\r\n        });\r\n    }\r\n    return redirectUrl;\r\n}\r\n```\r\n\r\nInject defined callback function into ssoreturn() method & cognitosignin() of NeoUtilService Class.\r\nthis.neoUtilService.ssoReturn(this.dynamicRouteFn);\r\nthis.neoUtilService.cognitoSignIn(this.dynamicRouteFn);\r\n\r\n\r\n## How  to use claim object in component or Html\r\n\r\nClaims which are permissions on features can be configured in NEO&reg; App Developer.\r\n\r\nFor configure please follow product handbook below given link <br>\r\nhttps://docs.bristleconeneo.com/202003/neo_handbook/ProviderDeveloper.html\r\n\r\nAfter configuration claim object is available in the below given format based on the role of the user\r\n\r\n`````\r\nclaims:{ \r\n      \"page.page-name.view\":true,\r\n      \"entity.entity-name.edit\": true,\r\n      \"component.component-name.view\": true,\r\n   }\r\n`````\r\n\r\nClaim object contains three part, first is compononent type like page/component/entity, second consists name of component and last part of claim object contains CRUD(Create, Read, Update & Delete) operation of component of HTML.\r\n\r\nFor example, the claim for page <b>aboutUs</b> and has <b>view</b> permission. The claim for that particular page would be\r\n\r\npage.aboutUs.view = true;\r\n\r\nComponent conditioning based on claim object can be implemented as below\r\n\r\n`````\r\n<app-aboutUs-component *ngIf=\"page.aboutUs.view\"> </app-aboutUs-component>\r\n`````\r\n\r\n## TableauJS component\r\nTableauJS component is useful to display Tableau Chart using tableau js api. It provide refresh, revert, extract option.\r\n\r\n### Use\r\n\r\n```\r\nindex.html\r\n\r\n........\r\n........\r\n <script src=\"https://public.tableau.com/javascripts/api/tableau-2.min.js\"></script>\r\n```\r\nPaste the above script in index.html\r\n\r\n\r\n\r\nTo use Tableau feature import <b>NeoTableauModule</b> in respective components module.ts file\r\n```\r\nimport {  NeoTableauJSModule } from '@bristlecone-labs/neo-app-sdk';\r\n\r\nimports: [\r\n    ...\r\n    ...\r\n    NeoTableauJSModule\r\n]\r\n```\r\n\r\nIn components ts file define <i>tableauConfig</i>\r\n\r\n```\r\nxyz.component.ts\r\n\r\nimport { NgOnint } from '@angular/common';\r\n.......................\r\n.......................\r\n\r\nconst declare tableau : any; \r\n\r\n\r\nexport class XyzComponent implements OnInit {\r\n    ................\r\n    ................\r\n    tableau = tableau;\r\n    tableauConfig\r\n    tabOption = {\r\n        .....\r\n        height: '500px',\r\n        .....\r\n    }\r\n\r\n    constructor() {\r\n\r\n    }\r\n\r\n    ngOninit() {\r\n        const tableauConfig ={\r\n            userName=\"\",\r\n            tenantName=\"\",\r\n            dashboardPath=\"\",\r\n            tableauProxyApi=\"\",\r\n            tableauServer=\"\"\r\n        }\r\n    }\r\n}\r\n\r\n\r\n```\r\nIn components html file add the following section\r\n```\r\n\r\nxyz.component.html\r\n\r\n<div *ngIf=\"tableauConfig\" >\r\n<neo-tableau-js  [tableauConfig]=\"tableauConfig\"  [tableauInstance]=\"tableau\" [tabOption]=\"tabOption\"></ngx-neo-tableau-js>\r\n</div>\r\n```\r\n\r\n\r\n### Styling button \r\n\r\nRefresh, Revert, the export button has refresh-btn, revert-btn, export-btn class with help of css class button can customize according to requirement.\r\n\r\n### tabOption\r\n\r\n\r\n| Name                        |  Type          | Description              \r\n| ----------------------------|----------------| ---------------------------------------------------------------------------|    \r\n| disableUrlActionsPopups     | bool           | Indicates whether to suppress the execution of URL actions. This option does not prevent the URL action event from being raised. You can use this option to change what happens when a URL action occurs. If set to trueand you create an event listener for the URL_ACTION event, you can use an event listener handler to customize the actions. For example, you can direct the URL to appear in an iframeon your web page\r\n| hideTabs                    | bool           | Indicates whether tabs are hidden or shown.\r\n| hideToolbar                 | bool           | Indicates whether the toolbar is hidden or shown.\r\n| instanceIdToClone           | string         | Specifies the ID of an existing instance to make a copy (clone) of. This is useful if the user wants to continue analysis of an existing visualization without losing the state of the original. If the ID does not refer to an existing visualization, the cloned version is derived from the original visualization.\r\n| height                      | string         | Can be any valid CSS size specifier. If not specified, defaults to the published height of the view.\r\n| width                       | string         | Can be any valid CSS size specifier. If not specified, defaults to the published width of the view.\r\n| device                      | string         | Specifies a device layout for a dashboard, if it exists. Values can be default, desktop, tablet, or phone. If not specified, defaults to loading a layout based on the smallest dimension of the hosting iframe element.\r\n| \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","readmeFilename":"README.md"}